From f293c15f4d8ae9bdae07e1f8a26232da2c456243 Mon Sep 17 00:00:00 2001 From: Shane Melton Date: Wed, 16 Apr 2025 08:24:30 -0700 Subject: [PATCH] [PM-19538] Add shareReplay to internal orgKeys subscription (#14034) --- .../collections/services/default-collection.service.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/libs/admin-console/src/common/collections/services/default-collection.service.ts b/libs/admin-console/src/common/collections/services/default-collection.service.ts index da50a25886e..1ae58d3eef3 100644 --- a/libs/admin-console/src/common/collections/services/default-collection.service.ts +++ b/libs/admin-console/src/common/collections/services/default-collection.service.ts @@ -1,6 +1,6 @@ // FIXME: Update this file to be type safe and remove this and next line // @ts-strict-ignore -import { combineLatest, firstValueFrom, map, Observable, of, switchMap } from "rxjs"; +import { combineLatest, firstValueFrom, map, Observable, of, shareReplay, switchMap } from "rxjs"; import { Jsonify } from "type-fest"; import { EncryptService } from "@bitwarden/common/key-management/crypto/abstractions/encrypt.service"; @@ -8,10 +8,10 @@ import { I18nService } from "@bitwarden/common/platform/abstractions/i18n.servic import { Utils } from "@bitwarden/common/platform/misc/utils"; import { ActiveUserState, - StateProvider, COLLECTION_DATA, DeriveDefinition, DerivedState, + StateProvider, UserKeyDefinition, } from "@bitwarden/common/platform/state"; import { CollectionId, OrganizationId, UserId } from "@bitwarden/common/types/guid"; @@ -84,6 +84,7 @@ export class DefaultCollectionService implements CollectionService { switchMap(([userId, collectionData]) => combineLatest([of(collectionData), this.keyService.orgKeys$(userId)]), ), + shareReplay({ refCount: false, bufferSize: 1 }), ); this.decryptedCollectionDataState = this.stateProvider.getDerived(