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
|
@override
|
||||||
Future<void> onBeforeUnloadBrowserListener(html.Event event) async {
|
Future<void> onBeforeUnloadBrowserListener(html.Event event) async {
|
||||||
log('MailboxDashBoardController::onBeforeUnloadBrowserListener:event = ${event.runtimeType} | hasComposer = ${twakeAppManager.hasComposer} | isExecutingBeforeReconnect = ${twakeAppManager.isExecutingBeforeReconnect}');
|
log('MailboxDashBoardController::onBeforeUnloadBrowserListener:event = ${event.runtimeType} | hasComposer = ${twakeAppManager.hasComposer} | isExecutingBeforeReconnect = ${twakeAppManager.isExecutingBeforeReconnect}');
|
||||||
|
if (PlatformInfo.isWeb) {
|
||||||
|
await cachingManager.clearAllEmailAndStateCache();
|
||||||
|
}
|
||||||
|
|
||||||
if (event is html.BeforeUnloadEvent &&
|
if (event is html.BeforeUnloadEvent &&
|
||||||
twakeAppManager.hasComposer &&
|
twakeAppManager.hasComposer &&
|
||||||
!twakeAppManager.isExecutingBeforeReconnect) {
|
!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:back_button_interceptor/back_button_interceptor.dart';
|
||||||
import 'package:core/core.dart';
|
import 'package:core/core.dart';
|
||||||
import 'package:dartz/dartz.dart';
|
import 'package:dartz/dartz.dart';
|
||||||
@@ -136,6 +137,13 @@ class ManageAccountDashBoardController extends ReloadableController
|
|||||||
_getParametersRouter();
|
_getParametersRouter();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
Future<void> onBeforeUnloadBrowserListener(html.Event event) async {
|
||||||
|
if (PlatformInfo.isWeb) {
|
||||||
|
await cachingManager.clearAllEmailAndStateCache();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void _getArguments() {
|
void _getArguments() {
|
||||||
final arguments = Get.arguments;
|
final arguments = Get.arguments;
|
||||||
if (arguments is ManageAccountArguments) {
|
if (arguments is ManageAccountArguments) {
|
||||||
|
|||||||
@@ -355,7 +355,7 @@ class ThreadController extends BaseController with EmailActionController {
|
|||||||
if (action is RefreshChangeEmailAction) {
|
if (action is RefreshChangeEmailAction) {
|
||||||
_refreshEmailChanges(newState: action.newState);
|
_refreshEmailChanges(newState: action.newState);
|
||||||
} else if (action is RefreshAllEmailAction) {
|
} else if (action is RefreshAllEmailAction) {
|
||||||
refreshAllEmail(forceEmailQuery: forceEmailQuery);
|
refreshAllEmail(forceEmailQuery: true);
|
||||||
mailboxDashBoardController.clearEmailUIAction();
|
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) {
|
if (searchController.isSearchEmailRunning) {
|
||||||
consumeState(Stream.value(Right(SearchingState())));
|
consumeState(Stream.value(Right(SearchingState())));
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Reference in New Issue
Block a user