From e8ce322877903edc8481e7de6e7a6684f3ad80aa Mon Sep 17 00:00:00 2001 From: Jacques Ikot Date: Wed, 23 Jul 2025 00:47:58 +0100 Subject: [PATCH] feat: remove release_paid_features_tagging feature flag (#41123) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Summary This PR removes the `release_paid_features_tagging` feature flag and enables premium tagging for paid datasource features by default. ## Changes Made ### Files Modified - `app/client/src/ce/entities/FeatureFlag.ts` - Removed feature flag definition - `app/client/src/pages/Editor/DataSidePane/DataSidePane.tsx` - Removed feature flag usage ### Detailed Changes 1. **Removed feature flag definition**: - Removed `release_paid_features_tagging` from `FEATURE_FLAG` object - Removed corresponding default value from `DEFAULT_FEATURE_FLAG_VALUE` 2. **Updated DataSidePane component**: - Removed `useFeatureFlag(FEATURE_FLAG.release_paid_features_tagging)` hook - Removed conditional check `if (!isPaidFeaturesTaggingEnabled) return false;` - Updated `shouldShowPremiumTag` function to always evaluate premium tag logic - Cleaned up dependency array in useMemo ## Impact - Premium tags for paid datasource features will now be **always visible** when applicable - Removes the feature flag gating mechanism that was previously controlling this behavior - Simplifies the codebase by removing conditional logic around premium tagging ## Automation /ok-to-test tags="@tag.Sanity, @tag.IDE, @tag.Datasource" ### :mag: Cypress test results > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: > Commit: 2db1a7337cb167f87f10de1a8e9a7513303427a5 > Cypress dashboard. > Tags: `@tag.Sanity, @tag.IDE, @tag.Datasource` > Spec: >
Tue, 22 Jul 2025 06:41:49 UTC ## Communication Should the DevRel and Marketing teams inform users about this change? - [ ] Yes - [ ] No ## Summary by CodeRabbit * **Refactor** * Removed the feature flag for paid features tagging and all related logic from the application. --- app/client/src/ce/entities/FeatureFlag.ts | 2 -- app/client/src/pages/Editor/DataSidePane/DataSidePane.tsx | 7 +------ 2 files changed, 1 insertion(+), 8 deletions(-) diff --git a/app/client/src/ce/entities/FeatureFlag.ts b/app/client/src/ce/entities/FeatureFlag.ts index 11b9880c9e..d8efbcae67 100644 --- a/app/client/src/ce/entities/FeatureFlag.ts +++ b/app/client/src/ce/entities/FeatureFlag.ts @@ -64,7 +64,6 @@ export const FEATURE_FLAG = { "release_jsobjects_onpageunloadactions_enabled", configure_block_event_tracking_for_anonymous_users: "configure_block_event_tracking_for_anonymous_users", - release_paid_features_tagging: "release_paid_features_tagging", } as const; export type FeatureFlag = keyof typeof FEATURE_FLAG; @@ -117,7 +116,6 @@ export const DEFAULT_FEATURE_FLAG_VALUE: FeatureFlags = { license_ai_agent_instance_enabled: false, release_jsobjects_onpageunloadactions_enabled: false, configure_block_event_tracking_for_anonymous_users: false, - release_paid_features_tagging: false, }; export const AB_TESTING_EVENT_KEYS = { diff --git a/app/client/src/pages/Editor/DataSidePane/DataSidePane.tsx b/app/client/src/pages/Editor/DataSidePane/DataSidePane.tsx index f687cc8006..8b95308d13 100644 --- a/app/client/src/pages/Editor/DataSidePane/DataSidePane.tsx +++ b/app/client/src/pages/Editor/DataSidePane/DataSidePane.tsx @@ -83,9 +83,6 @@ export const DataSidePane = (props: DataSidePaneProps) => { ); const isFeatureEnabled = useFeatureFlag(FEATURE_FLAG.license_gac_enabled); - const isPaidFeaturesTaggingEnabled = useFeatureFlag( - FEATURE_FLAG.release_paid_features_tagging, - ); const canCreateDatasource = getHasCreateDatasourcePermission( isFeatureEnabled, @@ -113,8 +110,6 @@ export const DataSidePane = (props: DataSidePaneProps) => { const shouldShowPremiumTag = useCallback( (datasource: Datasource) => { - if (!isPaidFeaturesTaggingEnabled) return false; - const plugin = plugins.find((p) => p.id === datasource.pluginId); if (!plugin) return false; @@ -128,7 +123,7 @@ export const DataSidePane = (props: DataSidePaneProps) => { return false; }, - [plugins, isIntegrationsEnabledForPaid, isPaidFeaturesTaggingEnabled], + [plugins, isIntegrationsEnabledForPaid], ); return (