From d466f608c280e7dc2efdc036afb9dfd1bc961ef0 Mon Sep 17 00:00:00 2001 From: andreas-unleash Date: Wed, 3 Apr 2024 16:02:05 +0300 Subject: [PATCH] chore: convert newContextFieldUI to kill switch (#6752) Converts `newContextFieldUI` release flag to `disableShowContextFieldSelectionValues` kill switch. The kill switch controls whether we show the value selection above the search filed when > 100 values --------- Signed-off-by: andreas-unleash --- .../RestrictiveLegalValues.test.tsx | 4 +++- .../RestrictiveLegalValues.tsx | 18 ++++++++---------- frontend/src/interfaces/uiConfig.ts | 2 +- .../__snapshots__/create-config.test.ts.snap | 2 +- src/lib/types/experimental.ts | 7 ++++--- src/server-dev.ts | 2 +- 6 files changed, 18 insertions(+), 17 deletions(-) diff --git a/frontend/src/component/common/NewConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEditBody/RestrictiveLegalValues/RestrictiveLegalValues.test.tsx b/frontend/src/component/common/NewConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEditBody/RestrictiveLegalValues/RestrictiveLegalValues.test.tsx index 0f68f81ced0..e20c33b85d1 100644 --- a/frontend/src/component/common/NewConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEditBody/RestrictiveLegalValues/RestrictiveLegalValues.test.tsx +++ b/frontend/src/component/common/NewConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEditBody/RestrictiveLegalValues/RestrictiveLegalValues.test.tsx @@ -4,7 +4,9 @@ import { RestrictiveLegalValues } from './RestrictiveLegalValues'; import { vi } from 'vitest'; vi.mock('../../../../../../hooks/useUiFlag', () => ({ - useUiFlag: vi.fn(() => true), + useUiFlag: vi.fn( + (flag: string) => flag !== 'disableShowContextFieldSelectionValues', + ), })); test('should show alert when you have illegal legal values', async () => { diff --git a/frontend/src/component/common/NewConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEditBody/RestrictiveLegalValues/RestrictiveLegalValues.tsx b/frontend/src/component/common/NewConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEditBody/RestrictiveLegalValues/RestrictiveLegalValues.tsx index 864d70bf261..991b34052a9 100644 --- a/frontend/src/component/common/NewConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEditBody/RestrictiveLegalValues/RestrictiveLegalValues.tsx +++ b/frontend/src/component/common/NewConstraintAccordion/ConstraintAccordionEdit/ConstraintAccordionEditBody/RestrictiveLegalValues/RestrictiveLegalValues.tsx @@ -88,7 +88,9 @@ export const RestrictiveLegalValues = ({ // Lazily initialise the values because there might be a lot of them. const [valuesMap, setValuesMap] = useState(() => createValuesMap(values)); - const newContextFieldsUI = useUiFlag('newContextFieldsUI'); + const disableShowContextFieldSelectionValues = useUiFlag( + 'disableShowContextFieldSelectionValues', + ); const cleanDeletedLegalValues = (constraintValues: string[]): string[] => { const deletedValuesSet = getLegalValueSet(deletedLegalValues); @@ -162,14 +164,9 @@ export const RestrictiveLegalValues = ({ Select values from a predefined set - - {isAllSelected ? 'Unselect all' : 'Select all'} - - } - /> + 100} @@ -177,7 +174,8 @@ export const RestrictiveLegalValues = ({ <> diff --git a/frontend/src/interfaces/uiConfig.ts b/frontend/src/interfaces/uiConfig.ts index 67ff31e68fd..5d215b95fc5 100644 --- a/frontend/src/interfaces/uiConfig.ts +++ b/frontend/src/interfaces/uiConfig.ts @@ -77,7 +77,7 @@ export type UiFlags = { outdatedSdksBanner?: boolean; projectOverviewRefactor?: string; collectTrafficDataUsage?: boolean; - newContextFieldsUI?: boolean; + disableShowContextFieldSelectionValues?: boolean; variantDependencies?: boolean; projectOverviewRefactorFeedback?: boolean; }; diff --git a/src/lib/__snapshots__/create-config.test.ts.snap b/src/lib/__snapshots__/create-config.test.ts.snap index db90dfaafe0..ce03a4b6fbd 100644 --- a/src/lib/__snapshots__/create-config.test.ts.snap +++ b/src/lib/__snapshots__/create-config.test.ts.snap @@ -86,6 +86,7 @@ exports[`should create default config 1`] = ` "disableMetrics": false, "disableNotifications": false, "disablePublishUnannouncedEvents": false, + "disableShowContextFieldSelectionValues": false, "disableUpdateMaxRevisionId": false, "displayEdgeBanner": false, "edgeBulkMetrics": false, @@ -129,7 +130,6 @@ exports[`should create default config 1`] = ` }, }, "migrationLock": true, - "newContextFieldsUI": false, "outdatedSdksBanner": false, "personalAccessTokensKillSwitch": false, "projectOverviewRefactor": false, diff --git a/src/lib/types/experimental.ts b/src/lib/types/experimental.ts index f5c0a59ac60..826783c19e6 100644 --- a/src/lib/types/experimental.ts +++ b/src/lib/types/experimental.ts @@ -55,7 +55,7 @@ export type IFlagKey = | 'returnGlobalFrontendApiCache' | 'projectOverviewRefactor' | 'variantDependencies' - | 'newContextFieldsUI' + | 'disableShowContextFieldSelectionValues' | 'bearerTokenMiddleware' | 'projectOverviewRefactorFeedback'; @@ -266,8 +266,9 @@ const flags: IFlags = { process.env.UNLEASH_EXPERIMENTAL_PROJECT_OVERVIEW_REFACTOR, false, ), - newContextFieldsUI: parseEnvVarBoolean( - process.env.UNLEASH_EXPERIMENTAL_NEW_CONTEXT_FIELDS_UI, + disableShowContextFieldSelectionValues: parseEnvVarBoolean( + process.env + .UNLEASH_EXPERIMENTAL_DISABLE_SHOW_CONTEXT_FIELD_SELECTION_VALUES, false, ), variantDependencies: parseEnvVarBoolean( diff --git a/src/server-dev.ts b/src/server-dev.ts index 40140e8e79a..c66a8b37485 100644 --- a/src/server-dev.ts +++ b/src/server-dev.ts @@ -51,7 +51,7 @@ process.nextTick(async () => { globalFrontendApiCache: true, returnGlobalFrontendApiCache: false, projectOverviewRefactor: true, - newContextFieldsUI: true, + disableShowContextFieldSelectionValues: false, variantDependencies: true, projectOverviewRefactorFeedback: true, },