diff --git a/libs/common/src/platform/services/environment.service.ts b/libs/common/src/platform/services/environment.service.ts index 813bc17124f..7a6c3cd6ffb 100644 --- a/libs/common/src/platform/services/environment.service.ts +++ b/libs/common/src/platform/services/environment.service.ts @@ -1,4 +1,4 @@ -import { concatMap, Observable, ReplaySubject } from "rxjs"; +import { concatMap, distinctUntilChanged, Observable, ReplaySubject } from "rxjs"; import { EnvironmentUrls } from "../../auth/models/domain/environment-urls"; import { @@ -52,6 +52,8 @@ export class EnvironmentService implements EnvironmentServiceAbstraction { constructor(private stateService: StateService) { this.stateService.activeAccount$ .pipe( + // Use == here to not trigger on undefined -> null transition + distinctUntilChanged((oldUserId: string, newUserId: string) => oldUserId == newUserId), concatMap(async () => { if (!this.initialized) { return; diff --git a/libs/common/src/platform/services/state.service.ts b/libs/common/src/platform/services/state.service.ts index 52cc0953028..65b9ef6ae11 100644 --- a/libs/common/src/platform/services/state.service.ts +++ b/libs/common/src/platform/services/state.service.ts @@ -224,7 +224,6 @@ export class StateService< email: account.profile.email, }); await this.setActiveUser(account.profile.userId); - this.activeAccountSubject.next(account.profile.userId); } async setActiveUser(userId: string): Promise {