[PM-8316] Fix account switcher on logged out account on startup (#10342)

* Fix account switcher on logged out account on startup

* Undo space removal

* Add additional checks for null values

* Fix account switching on timeout on browser
This commit is contained in:
Bernd Schoolmann 2024-08-13 11:13:04 +02:00 committed by GitHub
parent 295fb8f7a4
commit 2665afffdd
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 30 additions and 0 deletions

View File

@ -1234,6 +1234,18 @@ export default class MainBackground {
);
}
// If the user is logged out, switch to the next account
const active = await firstValueFrom(this.accountService.activeAccount$);
if (active == null) {
return;
}
const authStatus = await firstValueFrom(
this.authService.authStatuses$.pipe(map((statuses) => statuses[active.id])),
);
if (authStatus === AuthenticationStatus.LoggedOut) {
const nextUpAccount = await firstValueFrom(this.accountService.nextUpAccount$);
await this.switchAccount(nextUpAccount?.id);
}
await this.initOverlayAndTabsBackground();
return new Promise<void>((resolve) => {

View File

@ -151,6 +151,24 @@ export class AccountSwitcherComponent {
);
}
async ngOnInit() {
const active = await firstValueFrom(this.accountService.activeAccount$);
if (active == null) {
return;
}
const authStatus = await firstValueFrom(
this.authService.authStatuses$.pipe(map((statuses) => statuses[active.id])),
);
if (authStatus === AuthenticationStatus.LoggedOut) {
const nextUpAccount = await firstValueFrom(this.accountService.nextUpAccount$);
if (nextUpAccount != null) {
await this.switch(nextUpAccount.id);
} else {
await this.addAccount();
}
}
}
toggle() {
this.isOpen = !this.isOpen;
}