~sircmpwn/aerc

8f1c6c46ff1de2d94377c0cf20fdc8bbdba59fef — Reto Brunner 10 days ago 91db250
Fix dates in reply/forward commands.

The data was passed around as a string for some reason, which led to time
precision loss and wrong dates being displayed.
Simply pass the time as is to fix that.
4 files changed, 5 insertions(+), 6 deletions(-)

M commands/msg/forward.go
M commands/msg/reply.go
M lib/templates/template.go
M models/models.go
M commands/msg/forward.go => commands/msg/forward.go +1 -1
@@ 77,7 77,7 @@ func (forward) Execute(aerc *widgets.Aerc, args []string) error {
	addTab := func() (*widgets.Composer, error) {
		if template != "" {
			original.From = models.FormatAddresses(msg.Envelope.From)
			original.Date = msg.Envelope.Date.Format("Mon Jan 2, 2006 at 3:04 PM")
			original.Date = msg.Envelope.Date
		}

		composer, err := widgets.NewComposer(aerc, acct, aerc.Config(), acct.AccountConfig(),

M commands/msg/reply.go => commands/msg/reply.go +1 -1
@@ 133,7 133,7 @@ func (reply) Execute(aerc *widgets.Aerc, args []string) error {
	addTab := func() error {
		if template != "" {
			original.From = models.FormatAddresses(msg.Envelope.From)
			original.Date = msg.Envelope.Date.Format("Mon Jan 2, 2006 at 3:04 PM")
			original.Date = msg.Envelope.Date
		}

		composer, err := widgets.NewComposer(aerc, acct, aerc.Config(),

M lib/templates/template.go => lib/templates/template.go +2 -3
@@ 46,7 46,7 @@ func TestTemplateData() TemplateData {
	}

	original := models.OriginalMail{
		Date:     time.Now().Format("Mon Jan 2, 2006 at 3:04 PM"),
		Date:     time.Now(),
		From:     "John Doe <john@example.com>",
		Text:     "This is only a test text",
		MIMEType: "text/plain",


@@ 56,7 56,6 @@ func TestTemplateData() TemplateData {
}

func ParseTemplateData(defaults map[string]string, original models.OriginalMail) TemplateData {
	originalDate, _ := time.Parse("Mon Jan 2, 2006 at 3:04 PM", original.Date)
	td := TemplateData{
		To:               parseAddressList(defaults["To"]),
		Cc:               parseAddressList(defaults["Cc"]),


@@ 66,7 65,7 @@ func ParseTemplateData(defaults map[string]string, original models.OriginalMail)
		Subject:          defaults["Subject"],
		OriginalText:     original.Text,
		OriginalFrom:     parseAddressList(original.From),
		OriginalDate:     originalDate,
		OriginalDate:     original.Date,
		OriginalMIMEType: original.MIMEType,
	}
	return td

M models/models.go => models/models.go +1 -1
@@ 170,7 170,7 @@ func FormatAddresses(addrs []*Address) string {

// OriginalMail is helper struct used for reply/forward
type OriginalMail struct {
	Date     string
	Date     time.Time
	From     string
	Text     string
	MIMEType string