From a67c01c66864df9e1af77b2e92a10821917b3f1b Mon Sep 17 00:00:00 2001 From: Alex Morask Date: Fri, 3 May 2024 11:30:42 -0400 Subject: [PATCH] Prevent calls to Billing Status endpoint when FF is off --- apps/web/src/app/app.component.ts | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/apps/web/src/app/app.component.ts b/apps/web/src/app/app.component.ts index 1939bb11f5..8584e1a00f 100644 --- a/apps/web/src/app/app.component.ts +++ b/apps/web/src/app/app.component.ts @@ -2,7 +2,16 @@ import { DOCUMENT } from "@angular/common"; import { Component, Inject, NgZone, OnDestroy, OnInit } from "@angular/core"; import { NavigationEnd, Router } from "@angular/router"; import * as jq from "jquery"; -import { Subject, firstValueFrom, map, switchMap, takeUntil, timer } from "rxjs"; +import { + combineLatest, + filter, + firstValueFrom, + map, + Subject, + switchMap, + takeUntil, + timer, +} from "rxjs"; import { EventUploadService } from "@bitwarden/common/abstractions/event/event-upload.service"; import { NotificationsService } from "@bitwarden/common/abstractions/notifications.service"; @@ -14,6 +23,7 @@ import { AccountService } from "@bitwarden/common/auth/abstractions/account.serv import { AuthService } from "@bitwarden/common/auth/abstractions/auth.service"; import { KeyConnectorService } from "@bitwarden/common/auth/abstractions/key-connector.service"; import { PaymentMethodWarningsServiceAbstraction as PaymentMethodWarningService } from "@bitwarden/common/billing/abstractions/payment-method-warnings-service.abstraction"; +import { FeatureFlag } from "@bitwarden/common/enums/feature-flag.enum"; import { BroadcasterService } from "@bitwarden/common/platform/abstractions/broadcaster.service"; import { ConfigService } from "@bitwarden/common/platform/abstractions/config/config.service"; import { CryptoService } from "@bitwarden/common/platform/abstractions/crypto.service"; @@ -242,8 +252,12 @@ export class AppComponent implements OnDestroy, OnInit { new SendOptionsPolicy(), ]); - this.paymentMethodWarningsRefresh$ + combineLatest([ + this.configService.getFeatureFlag$(FeatureFlag.ShowPaymentMethodWarningBanners), + this.paymentMethodWarningsRefresh$, + ]) .pipe( + filter(([showPaymentMethodWarningBanners]) => showPaymentMethodWarningBanners), switchMap(() => this.organizationService.memberOrganizations$), switchMap( async (organizations) =>