Other: Fix create draft action

If an InReplyTo entry in the header is present, the create draft action
should be reply, otherwise we use forward.
This commit is contained in:
James Houlahan
2022-10-28 16:46:56 +02:00
parent b72de5e3a4
commit a797c01943
2 changed files with 16 additions and 1 deletions

View File

@ -48,6 +48,7 @@ type Message struct {
PlainBody Body
Attachments []Attachment
MIMEType rfc822.MIMEType
IsReply bool
Subject string
Sender *mail.Address
@ -58,6 +59,7 @@ type Message struct {
References []string
ExternalID string
InReplyTo string
}
type Attachment struct {
@ -491,6 +493,9 @@ func parseMessageHeader(h message.Header) (Message, error) { //nolint:funlen
case "message-id":
m.ExternalID = regexp.MustCompile("<(.*)>").ReplaceAllString(fields.Value(), "$1")
case "in-reply-to":
m.InReplyTo = regexp.MustCompile("<(.*)>").ReplaceAllString(fields.Value(), "$1")
case "references":
m.References = append(m.References, xslices.Map(strings.Fields(fields.Value()), func(ref string) string {
return strings.Trim(ref, "<>")