From 27ab7f97b54cc3920dbccec6df3dd93f8cfddfc1 Mon Sep 17 00:00:00 2001 From: addison Date: Tue, 16 Nov 2021 10:12:08 -0500 Subject: [PATCH] [bug] Scaffold secure storage service when building storage objects on init --- common/src/services/state.service.ts | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/common/src/services/state.service.ts b/common/src/services/state.service.ts index 1289fc75..34b21179 100644 --- a/common/src/services/state.service.ts +++ b/common/src/services/state.service.ts @@ -1298,11 +1298,15 @@ export class StateService implements StateServiceAbstraction { storedState.accounts[account.userId] = account; await this.storageService.save('state', storedState, await this.defaultOnDiskLocalOptions()); await this.storageService.save('state', storedState, await this.defaultOnDiskMemoryOptions()); - await this.storageService.save('state', storedState); + await this.storageService.save('state', storedState, await this.defaultOnDiskOptions()); - if (await this.secureStorageService.get('state') == null) { - await this.secureStorageService.save('state', storedState); - } + await this.scaffoldNewAccountSecureStorage(account); + } + + private async scaffoldNewAccountSecureStorage(account: Account): Promise { + const storedState = await this.secureStorageService.get('state', await this.defaultSecureStorageOptions()) ?? new State(); + storedState.accounts[account.userId] = account; + await this.secureStorageService.save('state', storedState); } private async pushAccounts(): Promise {