1
0
mirror of https://github.com/bitwarden/browser synced 2025-12-13 14:53:33 +00:00

[PM-7710] Avoid re-indexing ciphers on current tab component and re-setting null storage values for popup components (#8908)

* [PM-7710] Avoid re-indexing ciphers on current tab component and re-setting null storage values for popup components

* [PM-7710] Avoid re-indexing ciphers on current tab component and re-setting null storage values for popup components
This commit is contained in:
Cesar Gonzalez
2024-04-25 16:47:20 -05:00
committed by GitHub
parent 2ff3fa92fb
commit c3d4c7aa3d
5 changed files with 22 additions and 6 deletions

View File

@@ -33,6 +33,7 @@ export abstract class CipherService {
url: string,
includeOtherTypes?: CipherType[],
defaultMatch?: UriMatchStrategySetting,
reindexCiphers?: boolean,
) => Promise<CipherView[]>;
getAllFromApiForOrganization: (organizationId: string) => Promise<CipherView[]>;
/**

View File

@@ -441,6 +441,7 @@ export class CipherService implements CipherServiceAbstraction {
url: string,
includeOtherTypes?: CipherType[],
defaultMatch: UriMatchStrategySetting = null,
reindexCiphers = true,
): Promise<CipherView[]> {
if (url == null && includeOtherTypes == null) {
return Promise.resolve([]);
@@ -449,7 +450,9 @@ export class CipherService implements CipherServiceAbstraction {
const equivalentDomains = await firstValueFrom(
this.domainSettingsService.getUrlEquivalentDomains(url),
);
const ciphers = await this.getAllDecrypted();
const ciphers = reindexCiphers
? await this.getAllDecrypted()
: await this.getDecryptedCiphers();
defaultMatch ??= await firstValueFrom(this.domainSettingsService.defaultUriMatchStrategy$);
return ciphers.filter((cipher) => {
@@ -1135,7 +1138,9 @@ export class CipherService implements CipherServiceAbstraction {
}
async setAddEditCipherInfo(value: AddEditCipherInfo) {
await this.addEditCipherInfoState.update(() => value);
await this.addEditCipherInfoState.update(() => value, {
shouldUpdate: (current) => !(current == null && value == null),
});
}
// Helpers