diff --git a/extension/chrome/elements/compose-modules/compose-render-module.ts b/extension/chrome/elements/compose-modules/compose-render-module.ts index 990e37e8779..56403526799 100644 --- a/extension/chrome/elements/compose-modules/compose-render-module.ts +++ b/extension/chrome/elements/compose-modules/compose-render-module.ts @@ -98,9 +98,9 @@ export class ComposeRenderModule extends ViewModule { const thread = await this.view.emailProvider.threadGet(this.view.threadId, 'metadata'); const inReplyToMessage = thread.messages?.find(message => message.id === this.view.replyMsgId); if (inReplyToMessage) { - this.view.replyParams.inReplyTo = inReplyToMessage.payload?.headers?.find( - header => header.name === 'Message-Id' || header.name === 'Message-ID' - )?.value; + const msgId = inReplyToMessage.payload?.headers?.find(header => header.name === 'Message-Id' || header.name === 'Message-ID')?.value; + const references = inReplyToMessage.payload?.headers?.find(header => header.name === 'References')?.value; + this.setReplyHeaders(msgId, references); } this.view.replyParams.subject = `${this.responseMethod === 'reply' ? 'Re' : 'Fwd'}: ${this.view.replyParams.subject}`; if (this.view.useFullScreenSecureCompose) { @@ -117,8 +117,7 @@ export class ComposeRenderModule extends ViewModule { ); if (this.view.quoteModule.messageToReplyOrForward) { const msgId = this.view.quoteModule.messageToReplyOrForward.headers['message-id']; - this.view.sendBtnModule.additionalMsgHeaders['In-Reply-To'] = msgId; - this.view.sendBtnModule.additionalMsgHeaders.References = this.view.quoteModule.messageToReplyOrForward.headers.references + ' ' + msgId; + this.setReplyHeaders(msgId, this.view.quoteModule.messageToReplyOrForward.headers.references); if (this.view.replyPubkeyMismatch) { await this.renderReplyMsgAsReplyPubkeyMismatch(); } else if (this.view.quoteModule.messageToReplyOrForward.isOnlySigned) { @@ -273,6 +272,13 @@ export class ComposeRenderModule extends ViewModule { } }; + private setReplyHeaders = (msgId?: string, references?: string) => { + if (msgId) { + this.view.sendBtnModule.additionalMsgHeaders['In-Reply-To'] = msgId; + this.view.sendBtnModule.additionalMsgHeaders.References = [references, msgId].filter(Boolean).join(' '); + } + }; + private initComposeBoxStyles = () => { if (this.view.isReplyBox) { this.view.S.cached('body').addClass('reply_box');