From 88b04ea0dab50b42641b8783b6b704ad25793bde Mon Sep 17 00:00:00 2001 From: dab246 Date: Fri, 20 Jun 2025 12:00:48 +0700 Subject: [PATCH] TF-3791 Fix email in sending queue lost Request read receipt status Signed-off-by: dab246 --- .../setup_email_request_read_receipt_flag_extension.dart | 3 +++ model/lib/extensions/email_extension.dart | 3 ++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/features/composer/presentation/extensions/setup_email_request_read_receipt_flag_extension.dart b/lib/features/composer/presentation/extensions/setup_email_request_read_receipt_flag_extension.dart index 3ee4a7690..70d8f3a13 100644 --- a/lib/features/composer/presentation/extensions/setup_email_request_read_receipt_flag_extension.dart +++ b/lib/features/composer/presentation/extensions/setup_email_request_read_receipt_flag_extension.dart @@ -1,5 +1,6 @@ import 'package:model/email/email_action_type.dart'; +import 'package:model/extensions/email_extension.dart'; import 'package:server_settings/server_settings/tmail_server_settings_extension.dart'; import 'package:tmail_ui_user/features/composer/presentation/composer_controller.dart'; import 'package:tmail_ui_user/features/email/presentation/model/composer_arguments.dart'; @@ -11,6 +12,8 @@ extension SetupEmailRequestReadReceiptFlagExtension on ComposerController { void setupEmailRequestReadReceiptFlag(ComposerArguments arguments) { if (currentEmailActionType == EmailActionType.reopenComposerBrowser) { hasRequestReadReceipt.value = arguments.hasRequestReadReceipt ?? false; + } else if (currentEmailActionType == EmailActionType.editSendingEmail) { + hasRequestReadReceipt.value = arguments.sendingEmail?.email.hasRequestReadReceipt ?? false; } else if (currentEmailActionType != EmailActionType.editDraft && currentEmailActionType != EmailActionType.editAsNewEmail) { diff --git a/model/lib/extensions/email_extension.dart b/model/lib/extensions/email_extension.dart index a5f9a5534..bf0126192 100644 --- a/model/lib/extensions/email_extension.dart +++ b/model/lib/extensions/email_extension.dart @@ -35,7 +35,8 @@ extension EmailExtension on Email { String get listUnsubscribe => headers.listUnsubscribe; - bool get hasRequestReadReceipt => headers.readReceiptHasBeenRequested; + bool get hasRequestReadReceipt => headers.readReceiptHasBeenRequested || + headerMdn?.containsKey(IndividualHeaderIdentifier.headerMdn) == true; bool get hasListUnsubscribe => listUnsubscribe.isNotEmpty;