fix(cnb): delete email and state cache when F5 or reload button
(cherry picked from commit 520cd6c82fbdd5da0316861a5620060bfdf3f3af)
This commit is contained in:
+4
@@ -611,6 +611,10 @@ class MailboxDashBoardController extends ReloadableController
|
||||
@override
|
||||
Future<void> onBeforeUnloadBrowserListener(html.Event event) async {
|
||||
log('MailboxDashBoardController::onBeforeUnloadBrowserListener:event = ${event.runtimeType} | hasComposer = ${twakeAppManager.hasComposer} | isExecutingBeforeReconnect = ${twakeAppManager.isExecutingBeforeReconnect}');
|
||||
if (PlatformInfo.isWeb) {
|
||||
await cachingManager.clearAllEmailAndStateCache();
|
||||
}
|
||||
|
||||
if (event is html.BeforeUnloadEvent &&
|
||||
twakeAppManager.hasComposer &&
|
||||
!twakeAppManager.isExecutingBeforeReconnect) {
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
import 'package:tmail_ui_user/main/universal_import/html_stub.dart' as html;
|
||||
import 'package:back_button_interceptor/back_button_interceptor.dart';
|
||||
import 'package:core/core.dart';
|
||||
import 'package:dartz/dartz.dart';
|
||||
@@ -136,6 +137,13 @@ class ManageAccountDashBoardController extends ReloadableController
|
||||
_getParametersRouter();
|
||||
}
|
||||
|
||||
@override
|
||||
Future<void> onBeforeUnloadBrowserListener(html.Event event) async {
|
||||
if (PlatformInfo.isWeb) {
|
||||
await cachingManager.clearAllEmailAndStateCache();
|
||||
}
|
||||
}
|
||||
|
||||
void _getArguments() {
|
||||
final arguments = Get.arguments;
|
||||
if (arguments is ManageAccountArguments) {
|
||||
|
||||
@@ -355,7 +355,7 @@ class ThreadController extends BaseController with EmailActionController {
|
||||
if (action is RefreshChangeEmailAction) {
|
||||
_refreshEmailChanges(newState: action.newState);
|
||||
} else if (action is RefreshAllEmailAction) {
|
||||
refreshAllEmail(forceEmailQuery: forceEmailQuery);
|
||||
refreshAllEmail(forceEmailQuery: true);
|
||||
mailboxDashBoardController.clearEmailUIAction();
|
||||
}
|
||||
});
|
||||
@@ -607,7 +607,11 @@ class ThreadController extends BaseController with EmailActionController {
|
||||
}
|
||||
}
|
||||
|
||||
void refreshAllEmail({bool forceEmailQuery = false}) {
|
||||
Future<void> refreshAllEmail({bool forceEmailQuery = false}) async {
|
||||
if (forceEmailQuery) {
|
||||
await cachingManager.clearAllEmailAndStateCache();
|
||||
}
|
||||
|
||||
if (searchController.isSearchEmailRunning) {
|
||||
consumeState(Stream.value(Right(SearchingState())));
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user