1
0
mirror of https://github.com/bitwarden/browser synced 2025-12-06 00:13:28 +00:00

[bug] Allow for toggling the account cache (#674)

* [bug] Allow for toggling the account cache

* Add missing conditional

* Ran prettier
This commit is contained in:
Addison Beck
2022-02-14 11:47:01 -05:00
committed by GitHub
parent 609baece05
commit 240fc154ab

View File

@@ -76,7 +76,8 @@ export class StateService<
protected secureStorageService: StorageService,
protected logService: LogService,
protected stateMigrationService: StateMigrationService,
protected stateFactory: StateFactory<TGlobalState, TAccount>
protected stateFactory: StateFactory<TGlobalState, TAccount>,
protected useAccountCache: boolean = true
) {
this.accountDiskCache = new Map<string, TAccount>();
}
@@ -2163,9 +2164,11 @@ export class StateService<
return null;
}
const cachedAccount = this.accountDiskCache.get(options.userId);
if (cachedAccount != null) {
return cachedAccount;
if (this.useAccountCache) {
const cachedAccount = this.accountDiskCache.get(options.userId);
if (cachedAccount != null) {
return cachedAccount;
}
}
const account = options?.useSecureStorage
@@ -2176,7 +2179,9 @@ export class StateService<
))
: await this.storageService.get<TAccount>(options.userId, options);
this.accountDiskCache.set(options.userId, account);
if (this.useAccountCache) {
this.accountDiskCache.set(options.userId, account);
}
return account;
}
@@ -2206,7 +2211,10 @@ export class StateService<
: this.storageService;
await storageLocation.save(`${options.userId}`, account, options);
this.accountDiskCache.delete(options.userId);
if (this.useAccountCache) {
this.accountDiskCache.delete(options.userId);
}
}
protected async saveAccountToMemory(account: TAccount): Promise<void> {
@@ -2407,7 +2415,9 @@ export class StateService<
protected removeAccountFromMemory(userId: string = this.state.activeUserId): void {
delete this.state.accounts[userId];
this.accountDiskCache.delete(userId);
if (this.useAccountCache) {
this.accountDiskCache.delete(userId);
}
}
protected async pruneInMemoryAccounts() {