TF-1608 Set references and inReplyTo fields for forward email

(cherry picked from commit 45eff180f9330937497c17ee1f3c145e1af005db)
This commit is contained in:
dab246
2023-09-20 15:23:55 +07:00
committed by Dat H. Pham
parent f1a3589df0
commit d53c83920b
3 changed files with 18 additions and 5 deletions
@@ -714,7 +714,8 @@ class ComposerController extends BaseController {
MessageIdsHeaderValue? _generateReferences(ComposerArguments? arguments) {
if (arguments?.emailActionType == EmailActionType.reply ||
arguments?.emailActionType == EmailActionType.replyAll) {
arguments?.emailActionType == EmailActionType.replyAll ||
arguments?.emailActionType == EmailActionType.forward) {
Set<String> ids = {};
if (arguments?.messageId?.ids.isNotEmpty == true) {
ids.addAll(arguments!.messageId!.ids);
@@ -1186,7 +1186,9 @@ class SingleEmailController extends BaseController with AppLoaderMixin {
ComposerArguments.replyEmail(
presentationEmail: presentationEmail,
content: _currentEmailLoaded?.htmlContent ?? '',
mailboxRole: presentationEmail.mailboxContain?.role
mailboxRole: presentationEmail.mailboxContain?.role,
messageId: _currentEmailLoaded?.emailCurrent?.messageId,
references: _currentEmailLoaded?.emailCurrent?.references,
)
);
break;
@@ -1195,7 +1197,9 @@ class SingleEmailController extends BaseController with AppLoaderMixin {
ComposerArguments.replyAllEmail(
presentationEmail: presentationEmail,
content: _currentEmailLoaded?.htmlContent ?? '',
mailboxRole: presentationEmail.mailboxContain?.role
mailboxRole: presentationEmail.mailboxContain?.role,
messageId: _currentEmailLoaded?.emailCurrent?.messageId,
references: _currentEmailLoaded?.emailCurrent?.references,
)
);
break;
@@ -1204,7 +1208,9 @@ class SingleEmailController extends BaseController with AppLoaderMixin {
ComposerArguments.forwardEmail(
presentationEmail: presentationEmail,
content: _currentEmailLoaded?.htmlContent ?? '',
attachments: attachments
attachments: attachments,
messageId: _currentEmailLoaded?.emailCurrent?.messageId,
references: _currentEmailLoaded?.emailCurrent?.references,
)
);
break;
@@ -118,12 +118,16 @@ class ComposerArguments extends RouterArguments {
required PresentationEmail presentationEmail,
required String content,
required List<Attachment> attachments,
MessageIdsHeaderValue? messageId,
MessageIdsHeaderValue? references,
}) => ComposerArguments(
emailActionType: EmailActionType.forward,
presentationEmail: presentationEmail,
emailContents: content,
attachments: attachments,
mailboxRole: presentationEmail.mailboxContain?.role
mailboxRole: presentationEmail.mailboxContain?.role,
messageId: messageId,
references: references,
);
@override
@@ -137,5 +141,7 @@ class ComposerArguments extends RouterArguments {
listSharedMediaFile,
sendingEmail,
uri,
messageId,
references,
];
}