Browse Source

Trust our own copy of authenticatedAccounts until all accounts are initialized (#8888)

pull/7248/head
Justin Baur 2 years ago committed by GitHub
parent
commit
8ef5340635
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 17
      libs/common/src/platform/services/state.service.ts

17
libs/common/src/platform/services/state.service.ts

@ -115,14 +115,19 @@ export class StateService< @@ -115,14 +115,19 @@ export class StateService<
return;
}
// Get all likely authenticated accounts
const authenticatedAccounts = (
(await this.storageService.get<string[]>(keys.authenticatedAccounts)) ?? []
).filter((account) => account != null);
await this.updateState(async (state) => {
state.authenticatedAccounts =
(await this.storageService.get<string[]>(keys.authenticatedAccounts)) ?? [];
for (const i in state.authenticatedAccounts) {
if (i != null) {
state = await this.syncAccountFromDisk(state.authenticatedAccounts[i]);
}
for (const i in authenticatedAccounts) {
state = await this.syncAccountFromDisk(authenticatedAccounts[i]);
}
// After all individual accounts have been added
state.authenticatedAccounts = authenticatedAccounts;
const storedActiveUser = await this.storageService.get<string>(keys.activeUserId);
if (storedActiveUser != null) {
state.activeUserId = storedActiveUser;

Loading…
Cancel
Save