From 90028d71da79853af5b688af1b11348655f7e6a8 Mon Sep 17 00:00:00 2001 From: juliajforesti Date: Tue, 17 Dec 2024 21:03:51 -0300 Subject: [PATCH 1/3] fix: save `name` and `value` only on `featuresPreview` --- .../views/account/featurePreview/AccountFeaturePreviewPage.tsx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/apps/meteor/client/views/account/featurePreview/AccountFeaturePreviewPage.tsx b/apps/meteor/client/views/account/featurePreview/AccountFeaturePreviewPage.tsx index 358d2394003b..cafb8bf6cfaf 100644 --- a/apps/meteor/client/views/account/featurePreview/AccountFeaturePreviewPage.tsx +++ b/apps/meteor/client/views/account/featurePreview/AccountFeaturePreviewPage.tsx @@ -56,8 +56,9 @@ const AccountFeaturePreviewPage = () => { const { featuresPreview } = watch(); const handleSave = async () => { + const featuresToBeSaved = featuresPreview.map((feature) => ({ name: feature.name, value: feature.value })); try { - await setUserPreferences({ data: { featuresPreview } }); + await setUserPreferences({ data: { featuresPreview: featuresToBeSaved } }); dispatchToastMessage({ type: 'success', message: t('Preferences_saved') }); } catch (error) { dispatchToastMessage({ type: 'error', message: error }); From f73c31363bb3712c606e8433d82be6f5a19b2353 Mon Sep 17 00:00:00 2001 From: juliajforesti Date: Tue, 17 Dec 2024 21:04:14 -0300 Subject: [PATCH 2/3] fix: overwrite `enableQuery` and `disabled` --- .../ui-client/src/hooks/useFeaturePreviewList.ts | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/packages/ui-client/src/hooks/useFeaturePreviewList.ts b/packages/ui-client/src/hooks/useFeaturePreviewList.ts index 08bda4ff81ff..986307ce07cb 100644 --- a/packages/ui-client/src/hooks/useFeaturePreviewList.ts +++ b/packages/ui-client/src/hooks/useFeaturePreviewList.ts @@ -97,14 +97,20 @@ export const parseSetting = (setting?: FeaturePreviewProps[] | string) => { return setting; }; -export const useFeaturePreviewList = (featuresList: Pick[]) => { +export const useFeaturePreviewList = (featuresList: FeaturePreviewProps[]) => { const unseenFeatures = enabledDefaultFeatures.filter( (defaultFeature) => !featuresList?.find((feature) => feature.name === defaultFeature.name), ).length; const mergedFeatures = enabledDefaultFeatures.map((defaultFeature) => { - const features = featuresList?.find((feature) => feature.name === defaultFeature.name); - return { ...defaultFeature, ...features }; + const feature = featuresList?.find((feature) => feature.name === defaultFeature.name); + // overwrite enableQuery and disabled with default value to avoid a migration to remove this from the DB + // payload on save now only have `name` and `value` + if (feature) { + feature.enableQuery = defaultFeature.enableQuery; + feature.disabled = defaultFeature.disabled; + } + return { ...defaultFeature, ...feature }; }); return { unseenFeatures, features: mergedFeatures }; From 97199e522ba0473bd675de278c41487007ee11fe Mon Sep 17 00:00:00 2001 From: juliajforesti Date: Tue, 17 Dec 2024 21:12:20 -0300 Subject: [PATCH 3/3] chore: changeset --- .changeset/violet-pets-attend.md | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 .changeset/violet-pets-attend.md diff --git a/.changeset/violet-pets-attend.md b/.changeset/violet-pets-attend.md new file mode 100644 index 000000000000..f93079c94fa4 --- /dev/null +++ b/.changeset/violet-pets-attend.md @@ -0,0 +1,6 @@ +--- +'@rocket.chat/ui-client': patch +'@rocket.chat/meteor': patch +--- + +Fixed the data structure of the features preview