From 4644392d5c76482cb6d3cdf15f058cf52f6448bd Mon Sep 17 00:00:00 2001 From: Matt Gibson Date: Fri, 15 Dec 2023 07:55:11 -0500 Subject: [PATCH] Clear vault filter on account switch (#7227) --- apps/browser/src/background/main.background.ts | 1 + apps/browser/src/popup/services/services.module.ts | 10 +++++++++- .../browser/src/vault/services/vault-filter.service.ts | 6 ++++++ 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/apps/browser/src/background/main.background.ts b/apps/browser/src/background/main.background.ts index d6a33ab066..7e97797fc5 100644 --- a/apps/browser/src/background/main.background.ts +++ b/apps/browser/src/background/main.background.ts @@ -496,6 +496,7 @@ export default class MainBackground { this.cipherService, this.collectionService, this.policyService, + this.accountService, ); this.vaultTimeoutService = new VaultTimeoutService( diff --git a/apps/browser/src/popup/services/services.module.ts b/apps/browser/src/popup/services/services.module.ts index dc22348828..1722109c67 100644 --- a/apps/browser/src/popup/services/services.module.ts +++ b/apps/browser/src/popup/services/services.module.ts @@ -431,6 +431,7 @@ function getBgService(service: keyof MainBackground) { organizationService: OrganizationService, folderService: FolderService, policyService: PolicyService, + accountService: AccountServiceAbstraction, ) => { return new VaultFilterService( stateService, @@ -439,9 +440,16 @@ function getBgService(service: keyof MainBackground) { getBgService("cipherService")(), getBgService("collectionService")(), policyService, + accountService, ); }, - deps: [StateServiceAbstraction, OrganizationService, FolderService, PolicyService], + deps: [ + StateServiceAbstraction, + OrganizationService, + FolderService, + PolicyService, + AccountServiceAbstraction, + ], }, { provide: ProviderService, diff --git a/apps/browser/src/vault/services/vault-filter.service.ts b/apps/browser/src/vault/services/vault-filter.service.ts index 787732353d..93a8d7c272 100644 --- a/apps/browser/src/vault/services/vault-filter.service.ts +++ b/apps/browser/src/vault/services/vault-filter.service.ts @@ -2,6 +2,7 @@ import { VaultFilter } from "@bitwarden/angular/vault/vault-filter/models/vault- import { VaultFilterService as BaseVaultFilterService } from "@bitwarden/angular/vault/vault-filter/services/vault-filter.service"; import { OrganizationService } from "@bitwarden/common/admin-console/abstractions/organization/organization.service.abstraction"; import { PolicyService } from "@bitwarden/common/admin-console/abstractions/policy/policy.service.abstraction"; +import { AccountService } from "@bitwarden/common/auth/abstractions/account.service"; import { StateService } from "@bitwarden/common/platform/abstractions/state.service"; import { CipherService } from "@bitwarden/common/vault/abstractions/cipher.service"; import { CollectionService } from "@bitwarden/common/vault/abstractions/collection.service"; @@ -21,6 +22,7 @@ export class VaultFilterService extends BaseVaultFilterService { cipherService: CipherService, collectionService: CollectionService, policyService: PolicyService, + private accountService: AccountService, ) { super( stateService, @@ -32,6 +34,10 @@ export class VaultFilterService extends BaseVaultFilterService { ); this.vaultFilter.myVaultOnly = false; this.vaultFilter.selectedOrganizationId = null; + + this.accountService.activeAccount$.subscribe((account) => { + this.setVaultFilter(this.allVaults); + }); } getVaultFilter() {