mirror of
https://github.com/bitwarden/browser.git
synced 2025-03-17 14:29:17 +01:00
PM-3857 - Desktop - App Comp - Refactor order of operations of the logout process to prevent premature process reload before user data can be fully cleaned up out of the state service. Probably fixes PM-3391 as well. (#6616)
This commit is contained in:
parent
29aabeb4f5
commit
bcd8a4fb02
@ -537,6 +537,19 @@ export class AppComponent implements OnInit, OnDestroy {
|
||||
this.keyConnectorService.clear(),
|
||||
]);
|
||||
|
||||
const preLogoutActiveUserId = this.activeUserId;
|
||||
await this.stateService.clean({ userId: userBeingLoggedOut });
|
||||
|
||||
if (this.activeUserId == null) {
|
||||
this.router.navigate(["login"]);
|
||||
} else if (preLogoutActiveUserId !== this.activeUserId) {
|
||||
this.messagingService.send("switchAccount");
|
||||
}
|
||||
|
||||
await this.updateAppMenu();
|
||||
|
||||
// This must come last otherwise the logout will prematurely trigger
|
||||
// a process reload before all the state service user data can be cleaned up
|
||||
if (userBeingLoggedOut === this.activeUserId) {
|
||||
this.searchService.clearIndex();
|
||||
this.authService.logOut(async () => {
|
||||
@ -549,17 +562,6 @@ export class AppComponent implements OnInit, OnDestroy {
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
const preLogoutActiveUserId = this.activeUserId;
|
||||
await this.stateService.clean({ userId: userBeingLoggedOut });
|
||||
|
||||
if (this.activeUserId == null) {
|
||||
this.router.navigate(["login"]);
|
||||
} else if (preLogoutActiveUserId !== this.activeUserId) {
|
||||
this.messagingService.send("switchAccount");
|
||||
}
|
||||
|
||||
await this.updateAppMenu();
|
||||
}
|
||||
|
||||
private async recordActivity() {
|
||||
|
Loading…
Reference in New Issue
Block a user