TF-3894 Fix blank email content when opening email

This commit is contained in:
dab246
2025-09-03 10:37:01 +07:00
committed by Dat H. Pham
parent 949c1a698c
commit 5a64ff7e8f
41 changed files with 309 additions and 169 deletions
@@ -124,8 +124,8 @@ extension HandleRefreshThreadDetailAction on ThreadDetailController {
return true;
}
return ownEmailAddress != null &&
(!email.fromMe(ownEmailAddress!) ||
!email.recipientsHasMe(ownEmailAddress!));
return ownEmailAddress.isNotEmpty &&
(!email.fromMe(ownEmailAddress) ||
!email.recipientsHasMe(ownEmailAddress));
}
}
@@ -16,7 +16,6 @@ import 'package:jmap_dart_client/jmap/mail/mailbox/mailbox.dart';
import 'package:model/email/email_property.dart';
import 'package:model/email/presentation_email.dart';
import 'package:model/extensions/keyword_identifier_extension.dart';
import 'package:model/extensions/session_extension.dart';
import 'package:model/mailbox/presentation_mailbox.dart';
import 'package:tmail_ui_user/features/base/base_controller.dart';
import 'package:tmail_ui_user/features/email/domain/state/print_email_state.dart';
@@ -107,7 +106,7 @@ class ThreadDetailController extends BaseController {
session!,
accountId!,
sentMailboxId!,
ownEmailAddress!,
ownEmailAddress,
isSentMailbox: value.isSentMailbox,
));
}
@@ -130,7 +129,10 @@ class ThreadDetailController extends BaseController {
MailboxId? get sentMailboxId => mailboxDashBoardController.getMailboxIdByRole(
PresentationMailbox.roleSent,
);
String? get ownEmailAddress => session?.getOwnEmailAddress();
String get ownEmailAddress =>
mailboxDashBoardController.ownEmailAddress.value;
bool get isSearchRunning {
final isWebSearchRunning = mailboxDashBoardController
.searchController
@@ -217,7 +219,7 @@ class ThreadDetailController extends BaseController {
session != null &&
accountId != null &&
sentMailboxId != null &&
ownEmailAddress != null &&
ownEmailAddress.isNotEmpty &&
networkConnected &&
isThreadDetailEnabled;
}
@@ -6,7 +6,6 @@ import 'package:core/utils/platform_info.dart';
import 'package:dartz/dartz.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:model/extensions/session_extension.dart';
import 'package:model/mailbox/presentation_mailbox.dart';
import 'package:tmail_ui_user/features/email/presentation/action/email_ui_action.dart';
import 'package:tmail_ui_user/features/email/presentation/styles/email_view_app_bar_widget_styles.dart';
@@ -175,7 +174,7 @@ class ThreadDetailView extends GetWidget<ThreadDetailController> {
responsiveUtils: controller.responsiveUtils,
emailLoaded: currentEmailLoaded,
presentationEmail: expandedPresentationEmail,
userName: controller.session?.getOwnEmailAddress() ?? '',
userName: controller.ownEmailAddress,
emailActionCallback: (action, email) {
controller.mailboxDashBoardController
..dispatchEmailUIAction(PerformEmailActionInThreadDetailAction(