From e1d1f2e066a240f0c31bea9b2112617fbc2c939c Mon Sep 17 00:00:00 2001 From: dab246 Date: Wed, 21 Jan 2026 12:27:59 +0700 Subject: [PATCH] fix(customer): Unable to select another email on iPad --- .../controller/mailbox_dashboard_controller.dart | 9 +++++---- .../refresh_thread_detail_on_setting_changed.dart | 2 +- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/lib/features/mailbox_dashboard/presentation/controller/mailbox_dashboard_controller.dart b/lib/features/mailbox_dashboard/presentation/controller/mailbox_dashboard_controller.dart index 84cde9c55..25103d852 100644 --- a/lib/features/mailbox_dashboard/presentation/controller/mailbox_dashboard_controller.dart +++ b/lib/features/mailbox_dashboard/presentation/controller/mailbox_dashboard_controller.dart @@ -970,7 +970,11 @@ class MailboxDashBoardController extends ReloadableController void openEmailDetailedView(PresentationEmail presentationEmail) { setSelectedEmail(presentationEmail); - dispatchRoute(DashboardRoutes.threadDetailed); + if (isEmailOpened) { + dashboardRoute.refresh(); + } else { + dispatchRoute(DashboardRoutes.threadDetailed); + } if (PlatformInfo.isWeb && presentationEmail.routeWeb != null) { RouteUtils.replaceBrowserHistory( title: 'Email-${presentationEmail.id?.id.value ?? ''}', @@ -3393,9 +3397,6 @@ class MailboxDashBoardController extends ReloadableController jmap.State? get currentEmailState => _currentEmailState; - bool get isThreadDetailedViewVisible => - dashboardRoute.value == DashboardRoutes.threadDetailed; - void _loadAppGrid() { if (PlatformInfo.isWeb && AppConfig.appGridDashboardAvailable) { appGridDashboardController.loadAppDashboardConfiguration(); diff --git a/lib/features/thread_detail/presentation/extension/refresh_thread_detail_on_setting_changed.dart b/lib/features/thread_detail/presentation/extension/refresh_thread_detail_on_setting_changed.dart index 2045e9b93..bc055bcbd 100644 --- a/lib/features/thread_detail/presentation/extension/refresh_thread_detail_on_setting_changed.dart +++ b/lib/features/thread_detail/presentation/extension/refresh_thread_detail_on_setting_changed.dart @@ -7,7 +7,7 @@ extension RefreshThreadDetailOnSettingChanged on ThreadDetailManager { if (threadDetailWasEnabled != isThreadDetailEnabled) { threadDetailWasEnabled = isThreadDetailEnabled; if (PlatformInfo.isWeb && - mailboxDashBoardController.isThreadDetailedViewVisible) { + mailboxDashBoardController.isEmailOpened) { mailboxDashBoardController.dispatchThreadDetailUIAction( ResyncThreadDetailWhenSettingChangedAction(), );