TF-3585 Fix request Read Receipt popup is not shown on mobile
Signed-off-by: dab246 <tdvu@linagora.com>
This commit is contained in:
@@ -10,6 +10,7 @@ import 'package:jmap_dart_client/jmap/core/properties/properties.dart';
|
||||
import 'package:jmap_dart_client/jmap/core/session/session.dart';
|
||||
import 'package:jmap_dart_client/jmap/mail/email/email.dart';
|
||||
import 'package:model/model.dart';
|
||||
import 'package:tmail_ui_user/features/email/domain/model/detailed_email.dart';
|
||||
import 'package:tmail_ui_user/features/email/domain/repository/email_repository.dart';
|
||||
import 'package:tmail_ui_user/features/email/domain/state/get_email_content_state.dart';
|
||||
|
||||
@@ -109,16 +110,19 @@ class GetEmailContentInteractor {
|
||||
{Properties? additionalProperties}
|
||||
) async* {
|
||||
try {
|
||||
final detailedEmail = await emailRepository.getStoredOpenedEmail(session, accountId, emailId);
|
||||
final tupleEmail = await Future.wait([
|
||||
emailRepository.getStoredEmail(session, accountId, emailId),
|
||||
emailRepository.getStoredOpenedEmail(session, accountId, emailId),
|
||||
], eagerError: true);
|
||||
final emailCache = tupleEmail[0] as Email;
|
||||
final detailedEmail = tupleEmail[1] as DetailedEmail;
|
||||
log('GetEmailContentInteractor::_getStoredOpenedEmail: attachments = ${detailedEmail.attachments?.length} | inlineImages = ${detailedEmail.inlineImages?.length}');
|
||||
yield Right<Failure, Success>(GetEmailContentFromCacheSuccess(
|
||||
htmlEmailContent: detailedEmail.htmlEmailContent ?? '',
|
||||
attachments: detailedEmail.attachments ?? [],
|
||||
inlineImages: detailedEmail.inlineImages ?? [],
|
||||
emailCurrent: Email(
|
||||
id: emailId,
|
||||
emailCurrent: emailCache.copyWith(
|
||||
headers: detailedEmail.headers,
|
||||
keywords: detailedEmail.keywords,
|
||||
sMimeStatusHeader: detailedEmail.sMimeStatusHeader,
|
||||
)
|
||||
));
|
||||
@@ -144,16 +148,19 @@ class GetEmailContentInteractor {
|
||||
{Properties? additionalProperties}
|
||||
) async* {
|
||||
try {
|
||||
final detailedEmail = await emailRepository.getStoredNewEmail(session, accountId, emailId);
|
||||
final tupleEmail = await Future.wait([
|
||||
emailRepository.getStoredEmail(session, accountId, emailId),
|
||||
emailRepository.getStoredNewEmail(session, accountId, emailId),
|
||||
], eagerError: true);
|
||||
final emailCache = tupleEmail[0] as Email;
|
||||
final detailedEmail = tupleEmail[1] as DetailedEmail;
|
||||
log('GetEmailContentInteractor::_getStoredNewEmail: attachments = ${detailedEmail.attachments?.length} | inlineImages = ${detailedEmail.inlineImages?.length}');
|
||||
yield Right<Failure, Success>(GetEmailContentFromCacheSuccess(
|
||||
htmlEmailContent: detailedEmail.htmlEmailContent ?? '',
|
||||
attachments: detailedEmail.attachments ?? [],
|
||||
inlineImages: detailedEmail.inlineImages ?? [],
|
||||
emailCurrent: Email(
|
||||
id: emailId,
|
||||
emailCurrent: emailCache.copyWith(
|
||||
headers: detailedEmail.headers,
|
||||
keywords: detailedEmail.keywords,
|
||||
sMimeStatusHeader: detailedEmail.sMimeStatusHeader,
|
||||
)
|
||||
));
|
||||
|
||||
@@ -735,6 +735,7 @@ class SingleEmailController extends BaseController with AppLoaderMixin {
|
||||
AppLocalizations.of(currentContext!).yes,
|
||||
onConfirmAction: () => _handleSendReceiptToSenderAction(currentContext!),
|
||||
showAsBottomSheet: true,
|
||||
dialogMargin: MediaQuery.paddingOf(currentContext!).add(const EdgeInsets.only(bottom: 12)),
|
||||
title: AppLocalizations.of(currentContext!).titleReadReceiptRequestNotificationMessage,
|
||||
cancelTitle: AppLocalizations.of(currentContext!).no,
|
||||
icon: SvgPicture.asset(imagePaths.icReadReceiptMessage, fit: BoxFit.fill),
|
||||
|
||||
@@ -54,7 +54,7 @@ extension EmailExtension on Email {
|
||||
final mailboxCurrent = findMailboxContain(mapMailbox);
|
||||
return !hasMdnSent &&
|
||||
headers.readReceiptHasBeenRequested &&
|
||||
mailboxCurrent?.isSent == false;
|
||||
mailboxCurrent?.isSent != true;
|
||||
}
|
||||
|
||||
String getReceivedAt({required String newLocale, String? pattern}) {
|
||||
|
||||
Reference in New Issue
Block a user