From 6dbcb4aadace2dccb5c32adfbe3f145ac894982d Mon Sep 17 00:00:00 2001 From: Kyle Johnson Date: Wed, 5 Jun 2024 21:08:47 +0100 Subject: [PATCH] fix: save empty segment overrides request (#4112) --- frontend/common/services/useFeatureVersion.ts | 5 +++-- frontend/common/stores/feature-list-store.ts | 20 +++++++++---------- frontend/web/components/SegmentOverrides.js | 8 +++++--- frontend/web/components/modals/CreateFlag.js | 1 + 4 files changed, 19 insertions(+), 15 deletions(-) diff --git a/frontend/common/services/useFeatureVersion.ts b/frontend/common/services/useFeatureVersion.ts index 2f0aa3bc9215..09debab7d5ea 100644 --- a/frontend/common/services/useFeatureVersion.ts +++ b/frontend/common/services/useFeatureVersion.ts @@ -135,11 +135,12 @@ export const featureVersionService = service } const ret = { - data: res.map((item) => ({ + feature_states: res.map((item) => ({ ...item, version_sha: versionRes.data.uuid, })), error: res.find((v) => !!v.error)?.error, + version_sha: versionRes.data.uuid, } // Step 5: Publish the feature version @@ -151,7 +152,7 @@ export const featureVersionService = service }) } - return ret as any + return { data: ret } as any }, }), createFeatureVersion: builder.mutation< diff --git a/frontend/common/stores/feature-list-store.ts b/frontend/common/stores/feature-list-store.ts index ae325bf7f7d9..f3b946607000 100644 --- a/frontend/common/stores/feature-list-store.ts +++ b/frontend/common/stores/feature-list-store.ts @@ -477,13 +477,13 @@ const controller = { ] } - const version = await createAndSetFeatureVersion(getStore(), { + const { data: version } = await createAndSetFeatureVersion(getStore(), { environmentId: env.id, featureId: projectFlag.id, featureStates, skipPublish: true, }) - environment_feature_versions = version.data.map((v) => v.version_sha) + environment_feature_versions = [version.version_sha] } const prom = data .get( @@ -612,15 +612,15 @@ const controller = { environmentId: res, featureId: projectFlag.id, featureStates, - }).then((res) => { - if (res.error) { - throw res.error + }).then((version) => { + if (version.error) { + throw version.error } // Fetch and update the latest environment feature state return getVersionFeatureState(getStore(), { environmentId: ProjectStore.getEnvironmentIdFromKey(environmentId), featureId: projectFlag.id, - sha: res.data[0].version_sha, + sha: version.data.version_sha, }).then((res) => { const environmentFeatureState = res.data.find( (v) => !v.feature_segment, @@ -669,11 +669,11 @@ const controller = { environmentId: res, featureId: projectFlag.id, featureStates: [data], - }).then((res) => { - if (res.error) { - throw res.error + }).then((version) => { + if (version.error) { + throw version.error } - const featureState = res.data[0].data + const featureState = version.data.feature_states[0].data store.model.keyedEnvironmentFeatures[projectFlag.id] = { ...featureState, feature_state_value: Utils.featureStateToValue( diff --git a/frontend/web/components/SegmentOverrides.js b/frontend/web/components/SegmentOverrides.js index 8e02f19bbc56..886e0eb28fdf 100644 --- a/frontend/web/components/SegmentOverrides.js +++ b/frontend/web/components/SegmentOverrides.js @@ -502,9 +502,11 @@ class TheComponent extends Component { openConfirm({ body: (
- { - 'Are you sure you want to delete this segment override? This will be applied when you click Update Segment Overrides and cannot be undone.' - } + {`Are you sure you want to delete this segment override?${ + this.props.is4Eyes + ? '' + : ' This will be applied when you click Update Segment Overrides and cannot be undone.' + }`}
), destructive: true, diff --git a/frontend/web/components/modals/CreateFlag.js b/frontend/web/components/modals/CreateFlag.js index f4168b500e3a..84fa8ce84555 100644 --- a/frontend/web/components/modals/CreateFlag.js +++ b/frontend/web/components/modals/CreateFlag.js @@ -1308,6 +1308,7 @@ const CreateFlag = class extends Component { return (