TF-3334 Use queue to handle multiple refresh changes mailbox from incoming websocket

This commit is contained in:
dab246
2024-12-23 12:24:50 +07:00
committed by Dat H. Pham
parent 6063f4b832
commit dfd622d7ec
19 changed files with 707 additions and 154 deletions
@@ -243,6 +243,7 @@ class MailboxDashBoardController extends ReloadableController with UserSettingPo
PresentationMailbox? outboxMailbox;
ComposerArguments? composerArguments;
List<Identity>? _identities;
jmap.State? _currentEmailState;
ScrollController? listSearchFilterScrollController;
StreamSubscription? _pendingSharedFileInfoSubscription;
StreamSubscription? _receivingFileSharingStreamSubscription;
@@ -2930,6 +2931,12 @@ class MailboxDashBoardController extends ReloadableController with UserSettingPo
accountId: accountId.value!);
}
void setCurrentEmailState(jmap.State? newState) {
_currentEmailState = newState;
}
jmap.State? get currentEmailState => _currentEmailState;
@override
void onClose() {
if (PlatformInfo.isWeb) {
@@ -2957,6 +2964,7 @@ class MailboxDashBoardController extends ReloadableController with UserSettingPo
mapMailboxById = {};
mapDefaultMailboxIdByRole = {};
WebSocketController.instance.onClose();
_currentEmailState = null;
super.onClose();
}
}