From 59532d8850f4e395274a99cd7bece72f57b33e63 Mon Sep 17 00:00:00 2001 From: Aman Harwara Date: Mon, 9 Oct 2023 19:02:12 +0530 Subject: [PATCH] chore: put vaults labs feature behind feature trunk --- .../Preferences/Panes/General/Labs/Labs.tsx | 34 ++++++++++++------- packages/web/src/javascripts/FeatureTrunk.ts | 3 +- 2 files changed, 23 insertions(+), 14 deletions(-) diff --git a/packages/web/src/javascripts/Components/Preferences/Panes/General/Labs/Labs.tsx b/packages/web/src/javascripts/Components/Preferences/Panes/General/Labs/Labs.tsx index 2292a316c..02a1b0c73 100644 --- a/packages/web/src/javascripts/Components/Preferences/Panes/General/Labs/Labs.tsx +++ b/packages/web/src/javascripts/Components/Preferences/Panes/General/Labs/Labs.tsx @@ -15,6 +15,7 @@ import PreferencesSegment from '../../../PreferencesComponents/PreferencesSegmen import LabsFeature from './LabsFeature' import HorizontalSeparator from '@/Components/Shared/HorizontalSeparator' import { MutuallyExclusiveMediaQueryBreakpoints, useMediaQuery } from '@/Hooks/useMediaQuery' +import { featureTrunkVaultsEnabled } from '@/FeatureTrunk' type ExperimentalFeatureItem = { identifier: string @@ -48,18 +49,27 @@ const LabsPane: FunctionComponent = ({ application }) => { }, [application]) const reloadExperimentalFeatures = useCallback(() => { - const experimentalFeatures = application.features.getExperimentalFeatures().map((featureIdentifier) => { - const feature = FindNativeFeature(featureIdentifier) - return { - identifier: featureIdentifier, - name: feature?.name ?? featureIdentifier, - description: feature?.description ?? '', - isEnabled: application.features.isExperimentalFeatureEnabled(featureIdentifier), - isEntitled: - application.features.getFeatureStatus(NativeFeatureIdentifier.create(featureIdentifier).getValue()) === - FeatureStatus.Entitled, - } - }) + const experimentalFeatures = application.features + .getExperimentalFeatures() + .map((featureIdentifier) => { + const feature = FindNativeFeature(featureIdentifier) + return { + identifier: featureIdentifier, + name: feature?.name ?? featureIdentifier, + description: feature?.description ?? '', + isEnabled: application.features.isExperimentalFeatureEnabled(featureIdentifier), + isEntitled: + application.features.getFeatureStatus(NativeFeatureIdentifier.create(featureIdentifier).getValue()) === + FeatureStatus.Entitled, + } + }) + .filter((feature) => { + if (feature.identifier !== NativeFeatureIdentifier.TYPES.Vaults) { + return true + } + + return featureTrunkVaultsEnabled() + }) setExperimentalFeatures(experimentalFeatures) }, [application]) diff --git a/packages/web/src/javascripts/FeatureTrunk.ts b/packages/web/src/javascripts/FeatureTrunk.ts index 77fc70a8c..515d29b86 100644 --- a/packages/web/src/javascripts/FeatureTrunk.ts +++ b/packages/web/src/javascripts/FeatureTrunk.ts @@ -9,8 +9,7 @@ export function featureTrunkEnabled(trunk: FeatureTrunkName): boolean { } export function featureTrunkVaultsEnabled(): boolean { - // return InternalFeatureService.get().isFeatureEnabled(InternalFeature.Vaults) - return false + return InternalFeatureService.get().isFeatureEnabled(InternalFeature.Vaults) } export function featureTrunkHomeServerEnabled(): boolean {