Compare commits

...
Author SHA1 Message Date
BarreiroT 2fe23fe319 Add Banners feature flag 2026-01-14 17:00:43 -03:00
3 changed files with 11 additions and 0 deletions
+5
View File
@@ -7,6 +7,7 @@ import { HostProvider } from "@/hosts/host-provider"
import { getAxiosSettings } from "@/shared/net"
import { AuthService } from "../auth/AuthService"
import { buildBasicClineHeaders } from "../EnvUtils"
import { featureFlagsService } from "../feature-flags"
import { getDistinctId } from "../logging/distinctId"
import { Logger } from "../logging/Logger"
@@ -443,6 +444,10 @@ export class BannerService {
* @returns Array of non-dismissed banners converted to BannerCardData format
*/
public async getActiveBanners(forceRefresh = false): Promise<BannerCardData[]> {
if (featureFlagsService.getBannersEnabled()) {
return []
}
const allBanners = await this.internalGetActiveBanners(forceRefresh)
const nonDismissedBanners = allBanners.filter((banner) => !this.isBannerDismissed(banner.id))
return nonDismissedBanners
@@ -99,6 +99,10 @@ export class FeatureFlagsService {
return this.getBooleanFlagEnabled(FeatureFlag.WEBTOOLS)
}
public getBannersEnabled(): boolean {
return this.getBooleanFlagEnabled(FeatureFlag.BANNERS)
}
public getOnboardingOverrides() {
const payload = this.cache.get(FeatureFlag.ONBOARDING_MODELS)
// Check if payload is object
@@ -9,6 +9,8 @@ export enum FeatureFlag {
WEBTOOLS = "webtools",
// Feature flag for showing the new onboarding flow or old welcome view.
ONBOARDING_MODELS = "onboarding_models",
// Feature flag for fetching banners
BANNERS = "extension_banners",
}
export const FeatureFlagDefaultValue: Partial<Record<FeatureFlag, FeatureFlagPayload>> = {