From d060c843d1ef950504827adba8dd0de4e376a63d Mon Sep 17 00:00:00 2001 From: Thomas Trompette Date: Fri, 20 Feb 2026 11:46:03 +0100 Subject: [PATCH] Remove sse feature flag (#18114) As title --- .../src/generated-metadata/graphql.ts | 1 - .../src/modules/auth/hooks/useAuth.ts | 2 +- .../hooks/useOnFrontComponentUpdated.ts | 2 +- .../RecordTableNoRecordGroupBody.tsx | 1 - .../components/RecordTableRow.tsx | 19 --- .../components/ListenRecordUpdatesEffect.tsx | 111 ------------------ .../components/SSEEventStreamEffect.tsx | 8 +- .../sse-db-event/components/SSEProvider.tsx | 28 ----- .../sse-db-event/contexts/SseClientContext.ts | 4 - .../graphql/subscriptions/onDbEvent.ts | 13 -- .../sse-db-event/hooks/useOnDbEvent.ts | 49 -------- .../utils/getDefaultRecordFieldsToListen.ts | 14 --- .../components/WorkflowCard.tsx | 9 +- .../components/WorkflowRunCard.tsx | 17 +-- .../constants/public-feature-flag.const.ts | 8 -- .../enums/feature-flag-key.enum.ts | 1 - .../workspace-entity-manager.spec.ts | 1 - .../core/utils/seed-feature-flags.util.ts | 5 - 18 files changed, 5 insertions(+), 288 deletions(-) delete mode 100644 packages/twenty-front/src/modules/sse-db-event/components/ListenRecordUpdatesEffect.tsx delete mode 100644 packages/twenty-front/src/modules/sse-db-event/contexts/SseClientContext.ts delete mode 100644 packages/twenty-front/src/modules/sse-db-event/graphql/subscriptions/onDbEvent.ts delete mode 100644 packages/twenty-front/src/modules/sse-db-event/hooks/useOnDbEvent.ts delete mode 100644 packages/twenty-front/src/modules/sse-db-event/utils/getDefaultRecordFieldsToListen.ts diff --git a/packages/twenty-front/src/generated-metadata/graphql.ts b/packages/twenty-front/src/generated-metadata/graphql.ts index a3eaaf751f..1796f1e594 100644 --- a/packages/twenty-front/src/generated-metadata/graphql.ts +++ b/packages/twenty-front/src/generated-metadata/graphql.ts @@ -1494,7 +1494,6 @@ export enum FeatureFlagKey { IS_PUBLIC_DOMAIN_ENABLED = 'IS_PUBLIC_DOMAIN_ENABLED', IS_RECORD_PAGE_LAYOUT_EDITING_ENABLED = 'IS_RECORD_PAGE_LAYOUT_EDITING_ENABLED', IS_ROW_LEVEL_PERMISSION_PREDICATES_ENABLED = 'IS_ROW_LEVEL_PERMISSION_PREDICATES_ENABLED', - IS_SSE_DB_EVENTS_ENABLED = 'IS_SSE_DB_EVENTS_ENABLED', IS_TASK_TARGET_MIGRATED = 'IS_TASK_TARGET_MIGRATED', IS_UNIQUE_INDEXES_ENABLED = 'IS_UNIQUE_INDEXES_ENABLED' } diff --git a/packages/twenty-front/src/modules/auth/hooks/useAuth.ts b/packages/twenty-front/src/modules/auth/hooks/useAuth.ts index ef240f7f9f..98cc7884e9 100644 --- a/packages/twenty-front/src/modules/auth/hooks/useAuth.ts +++ b/packages/twenty-front/src/modules/auth/hooks/useAuth.ts @@ -23,8 +23,8 @@ import { useSignUpMutation, useVerifyEmailAndGetLoginTokenMutation, useVerifyEmailAndGetWorkspaceAgnosticTokenMutation, - type AuthTokenPair, type AuthToken, + type AuthTokenPair, } from '~/generated-metadata/graphql'; import { tokenPairState } from '@/auth/states/tokenPairState'; diff --git a/packages/twenty-front/src/modules/front-components/hooks/useOnFrontComponentUpdated.ts b/packages/twenty-front/src/modules/front-components/hooks/useOnFrontComponentUpdated.ts index 79064058c4..45a2cec978 100644 --- a/packages/twenty-front/src/modules/front-components/hooks/useOnFrontComponentUpdated.ts +++ b/packages/twenty-front/src/modules/front-components/hooks/useOnFrontComponentUpdated.ts @@ -1,5 +1,5 @@ -import { useUpdateFrontComponentApolloCache } from '@/front-components/hooks/useUpdateFrontComponentApolloCache'; import { useListenToMetadataOperationBrowserEvent } from '@/browser-event/hooks/useListenToMetadataOperationBrowserEvent'; +import { useUpdateFrontComponentApolloCache } from '@/front-components/hooks/useUpdateFrontComponentApolloCache'; import { useListenToEventsForQuery } from '@/sse-db-event/hooks/useListenToEventsForQuery'; import { AllMetadataName, diff --git a/packages/twenty-front/src/modules/object-record/record-table/record-table-body/components/RecordTableNoRecordGroupBody.tsx b/packages/twenty-front/src/modules/object-record/record-table/record-table-body/components/RecordTableNoRecordGroupBody.tsx index 517ee62867..3f72760c5a 100644 --- a/packages/twenty-front/src/modules/object-record/record-table/record-table-body/components/RecordTableNoRecordGroupBody.tsx +++ b/packages/twenty-front/src/modules/object-record/record-table/record-table-body/components/RecordTableNoRecordGroupBody.tsx @@ -10,7 +10,6 @@ import { RecordTableAggregateFooter } from '@/object-record/record-table/record- import { isRecordTableInitialLoadingComponentState } from '@/object-record/record-table/states/isRecordTableInitialLoadingComponentState'; import { RecordTableVirtualizedDataChangedEffect } from '@/object-record/record-table/virtualization/components/RecordTableVirtualizedDataChangedEffect'; import { RecordTableVirtualizedSSESubscribeEffect } from '@/object-record/record-table/virtualization/components/RecordTableVirtualizedSSESubscribeEffect'; - import { RecordTableVirtualizedRowTreadmillEffect } from '@/object-record/record-table/virtualization/components/RecordTableVirtualizedRowTreadmillEffect'; import { useRecoilComponentValue } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentValue'; diff --git a/packages/twenty-front/src/modules/object-record/record-table/record-table-row/components/RecordTableRow.tsx b/packages/twenty-front/src/modules/object-record/record-table/record-table-row/components/RecordTableRow.tsx index 4242a3619e..6ead1db831 100644 --- a/packages/twenty-front/src/modules/object-record/record-table/record-table-row/components/RecordTableRow.tsx +++ b/packages/twenty-front/src/modules/object-record/record-table/record-table-row/components/RecordTableRow.tsx @@ -1,4 +1,3 @@ -import { useRecordIndexContextOrThrow } from '@/object-record/record-index/contexts/RecordIndexContext'; import { RecordTableCellCheckbox } from '@/object-record/record-table/record-table-cell/components/RecordTableCellCheckbox'; import { RecordTableCellDragAndDrop } from '@/object-record/record-table/record-table-cell/components/RecordTableCellDragAndDrop'; import { RecordTableLastEmptyCell } from '@/object-record/record-table/record-table-cell/components/RecordTableLastEmptyCell'; @@ -11,12 +10,8 @@ import { RecordTableRowArrowKeysEffect } from '@/object-record/record-table/reco import { RecordTableRowHotkeyEffect } from '@/object-record/record-table/record-table-row/components/RecordTableRowHotkeyEffect'; import { isRecordTableRowFocusActiveComponentState } from '@/object-record/record-table/states/isRecordTableRowFocusActiveComponentState'; import { isRecordTableRowFocusedComponentFamilyState } from '@/object-record/record-table/states/isRecordTableRowFocusedComponentFamilyState'; -import { ListenRecordUpdatesEffect } from '@/sse-db-event/components/ListenRecordUpdatesEffect'; -import { getDefaultRecordFieldsToListen } from '@/sse-db-event/utils/getDefaultRecordFieldsToListen'; import { useRecoilComponentFamilyValue } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentFamilyValue'; import { useRecoilComponentValue } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentValue'; -import { useIsFeatureEnabled } from '@/workspace/hooks/useIsFeatureEnabled'; -import { FeatureFlagKey } from '~/generated-metadata/graphql'; type RecordTableRowProps = { recordId: string; @@ -31,10 +26,6 @@ export const RecordTableRow = ({ rowIndexForDrag, isFirstRowOfGroup, }: RecordTableRowProps) => { - const { objectNameSingular } = useRecordIndexContextOrThrow(); - const listenedFields = getDefaultRecordFieldsToListen({ - objectNameSingular, - }); const isFocused = useRecoilComponentFamilyValue( isRecordTableRowFocusedComponentFamilyState, rowIndexForFocus, @@ -42,9 +33,6 @@ export const RecordTableRow = ({ const isRowFocusActive = useRecoilComponentValue( isRecordTableRowFocusActiveComponentState, ); - const isSseDbEventsEnabled = useIsFeatureEnabled( - FeatureFlagKey.IS_SSE_DB_EVENTS_ENABLED, - ); return isFirstRowOfGroup ? ( - {!isSseDbEventsEnabled && ( - - )} ) : ( { - const apolloCoreClient = useApolloCoreClient(); - - const { objectMetadataItem } = useObjectMetadataItem({ - objectNameSingular, - }); - const getRecordFromCache = useGetRecordFromCache({ - objectNameSingular, - }); - const { objectMetadataItems } = useObjectMetadataItems(); - const { objectPermissionsByObjectMetadataId } = useObjectPermissions(); - - const { recordGqlFields: computedRecordGqlFields } = - useGenerateDepthRecordGqlFieldsFromObject({ - depth: 1, - objectNameSingular, - }); - - const store = useStore(); - - const setRecordInStore = useRecoilCallback( - ({ set }) => - (record: ObjectRecord) => { - set(recordStoreFamilyState(record.id), record); - store.set(recordStoreFamilyStateV2.atomFamily(record.id), record); - }, - [store], - ); - const { upsertRecordsInStore } = useUpsertRecordsInStore(); - - useOnDbEvent({ - input: { recordId, action: DatabaseEventAction.UPDATED }, - onData: (data) => { - const updatedRecord = data.onDbEvent.record; - - const cachedRecord = getRecordFromCache(recordId); - const cachedRecordNode = getRecordNodeFromRecord({ - record: cachedRecord, - objectMetadataItem, - objectMetadataItems, - computeReferences: false, - }); - - const shouldHandleOptimisticCache = - isDefined(cachedRecordNode) && isDefined(cachedRecord); - - if (shouldHandleOptimisticCache) { - const computedOptimisticRecord: ObjectRecord = { - ...cachedRecord, - ...updatedRecord, - id: recordId, - __typename: getObjectTypename(objectMetadataItem.nameSingular), - }; - - updateRecordFromCache({ - objectMetadataItems, - objectMetadataItem, - cache: apolloCoreClient.cache, - record: computedOptimisticRecord, - recordGqlFields: computedRecordGqlFields, - objectPermissionsByObjectMetadataId, - }); - - triggerUpdateRecordOptimisticEffect({ - cache: apolloCoreClient.cache, - objectMetadataItem, - currentRecord: cachedRecordNode, - updatedRecord: updatedRecord, - objectMetadataItems, - objectPermissionsByObjectMetadataId, - upsertRecordsInStore, - }); - - setRecordInStore(computedOptimisticRecord); - } - }, - skip: listenedFields.length === 0, - }); - - return null; -}; diff --git a/packages/twenty-front/src/modules/sse-db-event/components/SSEEventStreamEffect.tsx b/packages/twenty-front/src/modules/sse-db-event/components/SSEEventStreamEffect.tsx index 58447f4bd2..38dd0eada0 100644 --- a/packages/twenty-front/src/modules/sse-db-event/components/SSEEventStreamEffect.tsx +++ b/packages/twenty-front/src/modules/sse-db-event/components/SSEEventStreamEffect.tsx @@ -7,13 +7,12 @@ import { isCreatingSseEventStreamState } from '@/sse-db-event/states/isCreatingS import { isDestroyingEventStreamState } from '@/sse-db-event/states/isDestroyingEventStreamState'; import { shouldDestroyEventStreamState } from '@/sse-db-event/states/shouldDestroyEventStreamState'; import { sseEventStreamIdState } from '@/sse-db-event/states/sseEventStreamIdState'; -import { useIsFeatureEnabled } from '@/workspace/hooks/useIsFeatureEnabled'; import { isNonEmptyArray } from '@apollo/client/utilities'; import { isNonEmptyString } from '@sniptt/guards'; import { useEffect } from 'react'; import { useRecoilValue } from 'recoil'; import { isDefined } from 'twenty-shared/utils'; -import { FeatureFlagKey, OnboardingStatus } from '~/generated-metadata/graphql'; +import { OnboardingStatus } from '~/generated-metadata/graphql'; export const SSEEventStreamEffect = () => { const objectMetadataItems = useRecoilValue(objectMetadataItemsState); @@ -28,9 +27,6 @@ export const SSEEventStreamEffect = () => { const isDestroyingEventStream = useRecoilValue(isDestroyingEventStreamState); const isLoggedIn = useIsLogged(); - const isSseDbEventsEnabled = useIsFeatureEnabled( - FeatureFlagKey.IS_SSE_DB_EVENTS_ENABLED, - ); const currentUser = useRecoilValue(currentUserState); const { triggerEventStreamCreation } = useTriggerEventStreamCreation(); @@ -43,7 +39,6 @@ export const SSEEventStreamEffect = () => { const willCreateEventStream = isSseClientAvailable && isLoggedIn && - isSseDbEventsEnabled && isDefined(currentUser) && currentUser.onboardingStatus === OnboardingStatus.COMPLETED && !shouldDestroyEventStream && @@ -65,7 +60,6 @@ export const SSEEventStreamEffect = () => { triggerEventStreamCreation, isLoggedIn, currentUser, - isSseDbEventsEnabled, isDestroyingEventStream, triggerEventStreamDestroy, shouldDestroyEventStream, diff --git a/packages/twenty-front/src/modules/sse-db-event/components/SSEProvider.tsx b/packages/twenty-front/src/modules/sse-db-event/components/SSEProvider.tsx index cc759f9379..0e54b898e2 100644 --- a/packages/twenty-front/src/modules/sse-db-event/components/SSEProvider.tsx +++ b/packages/twenty-front/src/modules/sse-db-event/components/SSEProvider.tsx @@ -1,41 +1,13 @@ -import { getTokenPair } from '@/apollo/utils/getTokenPair'; import { SSEClientEffect } from '@/sse-db-event/components/SSEClientEffect'; import { SSEEventStreamEffect } from '@/sse-db-event/components/SSEEventStreamEffect'; import { SSEQuerySubscribeEffect } from '@/sse-db-event/components/SSEQuerySubscribeEffect'; -import { SseClientContext } from '@/sse-db-event/contexts/SseClientContext'; -import { useIsFeatureEnabled } from '@/workspace/hooks/useIsFeatureEnabled'; -import { createClient } from 'graphql-sse'; import { type ReactNode } from 'react'; -import { REACT_APP_SERVER_BASE_URL } from '~/config'; -import { FeatureFlagKey } from '~/generated-metadata/graphql'; type SSEProviderProps = { children: ReactNode; }; export const SSEProvider = ({ children }: SSEProviderProps) => { - const isSseDbEventsEnabled = useIsFeatureEnabled( - FeatureFlagKey.IS_SSE_DB_EVENTS_ENABLED, - ); - - if (!isSseDbEventsEnabled) { - const tokenPair = getTokenPair(); - const token = tokenPair?.accessOrWorkspaceAgnosticToken?.token; - - const sseClient = createClient({ - url: `${REACT_APP_SERVER_BASE_URL}/metadata`, - headers: { - Authorization: token ? `Bearer ${token}` : '', - }, - }); - - return ( - - {children} - - ); - } - return ( <> diff --git a/packages/twenty-front/src/modules/sse-db-event/contexts/SseClientContext.ts b/packages/twenty-front/src/modules/sse-db-event/contexts/SseClientContext.ts deleted file mode 100644 index 4063965604..0000000000 --- a/packages/twenty-front/src/modules/sse-db-event/contexts/SseClientContext.ts +++ /dev/null @@ -1,4 +0,0 @@ -import { type Client } from 'graphql-sse'; -import { createContext } from 'react'; - -export const SseClientContext = createContext(null); diff --git a/packages/twenty-front/src/modules/sse-db-event/graphql/subscriptions/onDbEvent.ts b/packages/twenty-front/src/modules/sse-db-event/graphql/subscriptions/onDbEvent.ts deleted file mode 100644 index b106ccde05..0000000000 --- a/packages/twenty-front/src/modules/sse-db-event/graphql/subscriptions/onDbEvent.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { gql } from '@apollo/client'; - -export const ON_DB_EVENT = gql` - subscription OnDbEvent($input: OnDbEventInput!) { - onDbEvent(input: $input) { - eventDate - action - objectNameSingular - updatedFields - record - } - } -`; diff --git a/packages/twenty-front/src/modules/sse-db-event/hooks/useOnDbEvent.ts b/packages/twenty-front/src/modules/sse-db-event/hooks/useOnDbEvent.ts deleted file mode 100644 index aa904c27e0..0000000000 --- a/packages/twenty-front/src/modules/sse-db-event/hooks/useOnDbEvent.ts +++ /dev/null @@ -1,49 +0,0 @@ -import { SseClientContext } from '@/sse-db-event/contexts/SseClientContext'; -import { ON_DB_EVENT } from '@/sse-db-event/graphql/subscriptions/onDbEvent'; -import { useContext, useEffect } from 'react'; -import { - type Subscription, - type SubscriptionOnDbEventArgs, -} from '~/generated-metadata/graphql'; - -type OnDbEventArgs = SubscriptionOnDbEventArgs & { - skip?: boolean; - onData?: (data: Subscription) => void; - onError?: (err: any) => void; - onComplete?: () => void; -}; - -export const useOnDbEvent = ({ - onData, - onError, - onComplete, - input, - skip = false, -}: OnDbEventArgs) => { - const sseClient = useContext(SseClientContext); - - useEffect(() => { - if (skip === true) { - return; - } - const next = (value: { data: Subscription }) => onData?.(value.data); - const error = (err: unknown) => onError?.(err); - const complete = () => onComplete?.(); - - const unsubscribe = sseClient?.subscribe( - { - query: ON_DB_EVENT.loc?.source.body || '', - variables: { input }, - }, - { - next, - error, - complete, - }, - ); - - return () => { - unsubscribe?.(); - }; - }, [input, onComplete, onData, onError, skip, sseClient]); -}; diff --git a/packages/twenty-front/src/modules/sse-db-event/utils/getDefaultRecordFieldsToListen.ts b/packages/twenty-front/src/modules/sse-db-event/utils/getDefaultRecordFieldsToListen.ts deleted file mode 100644 index dd119e69a7..0000000000 --- a/packages/twenty-front/src/modules/sse-db-event/utils/getDefaultRecordFieldsToListen.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { CoreObjectNameSingular } from '@/object-metadata/types/CoreObjectNameSingular'; - -export const getDefaultRecordFieldsToListen = ({ - objectNameSingular, -}: { - objectNameSingular: string; -}) => { - switch (objectNameSingular) { - case CoreObjectNameSingular.Workflow: - return ['statuses']; - default: - return []; - } -}; diff --git a/packages/twenty-front/src/modules/workflow/workflow-diagram/components/WorkflowCard.tsx b/packages/twenty-front/src/modules/workflow/workflow-diagram/components/WorkflowCard.tsx index 475f95cffb..5cf48dff91 100644 --- a/packages/twenty-front/src/modules/workflow/workflow-diagram/components/WorkflowCard.tsx +++ b/packages/twenty-front/src/modules/workflow/workflow-diagram/components/WorkflowCard.tsx @@ -5,14 +5,9 @@ import { WorkflowDiagramEffect } from '@/workflow/workflow-diagram/components/Wo import { WorkflowSSESubscribeEffect } from '@/workflow/workflow-diagram/components/WorkflowSSESubscribeEffect'; import { WorkflowVisualizerEffect } from '@/workflow/workflow-diagram/components/WorkflowVisualizerEffect'; import { WorkflowVisualizerComponentInstanceContext } from '@/workflow/workflow-diagram/states/contexts/WorkflowVisualizerComponentInstanceContext'; -import { useIsFeatureEnabled } from '@/workspace/hooks/useIsFeatureEnabled'; -import { FeatureFlagKey } from '~/generated-metadata/graphql'; export const WorkflowCard = () => { const targetRecord = useTargetRecord(); - const isSseDbEventsEnabled = useIsFeatureEnabled( - FeatureFlagKey.IS_SSE_DB_EVENTS_ENABLED, - ); return ( { }} > - {isSseDbEventsEnabled && ( - - )} + diff --git a/packages/twenty-front/src/modules/workflow/workflow-diagram/components/WorkflowRunCard.tsx b/packages/twenty-front/src/modules/workflow/workflow-diagram/components/WorkflowRunCard.tsx index 3702b692f5..f05f79d09b 100644 --- a/packages/twenty-front/src/modules/workflow/workflow-diagram/components/WorkflowRunCard.tsx +++ b/packages/twenty-front/src/modules/workflow/workflow-diagram/components/WorkflowRunCard.tsx @@ -1,6 +1,4 @@ import { SKELETON_LOADER_HEIGHT_SIZES } from '@/activities/components/SkeletonLoader'; -import { CoreObjectNameSingular } from '@/object-metadata/types/CoreObjectNameSingular'; -import { ListenRecordUpdatesEffect } from '@/sse-db-event/components/ListenRecordUpdatesEffect'; import { useTargetRecord } from '@/ui/layout/contexts/useTargetRecord'; import { getWorkflowVisualizerComponentInstanceId } from '@/workflow/utils/getWorkflowVisualizerComponentInstanceId'; import { WorkflowRunSSESubscribeEffect } from '@/workflow/workflow-diagram/components/WorkflowRunSSESubscribeEffect'; @@ -8,12 +6,10 @@ import { WorkflowRunVisualizer } from '@/workflow/workflow-diagram/components/Wo import { WorkflowRunVisualizerEffect } from '@/workflow/workflow-diagram/components/WorkflowRunVisualizerEffect'; import { WorkflowRunVisualizerComponentInstanceContext } from '@/workflow/workflow-diagram/states/contexts/WorkflowRunVisualizerComponentInstanceContext'; import { WorkflowVisualizerComponentInstanceContext } from '@/workflow/workflow-diagram/states/contexts/WorkflowVisualizerComponentInstanceContext'; -import { useIsFeatureEnabled } from '@/workspace/hooks/useIsFeatureEnabled'; import { useTheme } from '@emotion/react'; import styled from '@emotion/styled'; import { Suspense, useId } from 'react'; import Skeleton, { SkeletonTheme } from 'react-loading-skeleton'; -import { FeatureFlagKey } from '~/generated-metadata/graphql'; const StyledLoadingSkeletonContainer = styled.div` display: flex; @@ -45,9 +41,6 @@ const LoadingSkeleton = () => { export const WorkflowRunCard = () => { const targetRecord = useTargetRecord(); const componentId = useId(); - const isSseDbEventsEnabled = useIsFeatureEnabled( - FeatureFlagKey.IS_SSE_DB_EVENTS_ENABLED, - ); return ( { }} > - {isSseDbEventsEnabled ? ( - - ) : ( - - )} + }> diff --git a/packages/twenty-server/src/engine/core-modules/feature-flag/constants/public-feature-flag.const.ts b/packages/twenty-server/src/engine/core-modules/feature-flag/constants/public-feature-flag.const.ts index a92a7143ff..e1e0eb8d0b 100644 --- a/packages/twenty-server/src/engine/core-modules/feature-flag/constants/public-feature-flag.const.ts +++ b/packages/twenty-server/src/engine/core-modules/feature-flag/constants/public-feature-flag.const.ts @@ -29,14 +29,6 @@ export const PUBLIC_FEATURE_FLAGS: PublicFeatureFlag[] = [ 'https://twenty.com/images/lab/is-row-level-permission-predicates-enabled.png', }, }, - { - key: FeatureFlagKey.IS_SSE_DB_EVENTS_ENABLED, - metadata: { - label: 'Real-Time', - description: 'See all updates without reloading the page', - imagePath: 'https://twenty.com/images/lab/is-real-time-enabled.png', - }, - }, ...(process.env.CLOUDFLARE_API_KEY ? [ // { diff --git a/packages/twenty-server/src/engine/core-modules/feature-flag/enums/feature-flag-key.enum.ts b/packages/twenty-server/src/engine/core-modules/feature-flag/enums/feature-flag-key.enum.ts index 436f8cab6d..e0c831e23f 100644 --- a/packages/twenty-server/src/engine/core-modules/feature-flag/enums/feature-flag-key.enum.ts +++ b/packages/twenty-server/src/engine/core-modules/feature-flag/enums/feature-flag-key.enum.ts @@ -17,7 +17,6 @@ export enum FeatureFlagKey { IS_OTHER_FILE_MIGRATED = 'IS_OTHER_FILE_MIGRATED', IS_ROW_LEVEL_PERMISSION_PREDICATES_ENABLED = 'IS_ROW_LEVEL_PERMISSION_PREDICATES_ENABLED', IS_JUNCTION_RELATIONS_ENABLED = 'IS_JUNCTION_RELATIONS_ENABLED', - IS_SSE_DB_EVENTS_ENABLED = 'IS_SSE_DB_EVENTS_ENABLED', IS_COMMAND_MENU_ITEM_ENABLED = 'IS_COMMAND_MENU_ITEM_ENABLED', IS_NAVIGATION_MENU_ITEM_ENABLED = 'IS_NAVIGATION_MENU_ITEM_ENABLED', IS_DATE_TIME_WHOLE_DAY_FILTER_ENABLED = 'IS_DATE_TIME_WHOLE_DAY_FILTER_ENABLED', diff --git a/packages/twenty-server/src/engine/twenty-orm/entity-manager/workspace-entity-manager.spec.ts b/packages/twenty-server/src/engine/twenty-orm/entity-manager/workspace-entity-manager.spec.ts index 536561ffa9..aa7af0b8ff 100644 --- a/packages/twenty-server/src/engine/twenty-orm/entity-manager/workspace-entity-manager.spec.ts +++ b/packages/twenty-server/src/engine/twenty-orm/entity-manager/workspace-entity-manager.spec.ts @@ -236,7 +236,6 @@ describe('WorkspaceEntityManager', () => { IS_GLOBAL_WORKSPACE_DATASOURCE_ENABLED: false, IS_ROW_LEVEL_PERMISSION_PREDICATES_ENABLED: false, IS_JUNCTION_RELATIONS_ENABLED: false, - IS_SSE_DB_EVENTS_ENABLED: false, IS_COMMAND_MENU_ITEM_ENABLED: false, IS_NAVIGATION_MENU_ITEM_ENABLED: false, IS_NAVIGATION_MENU_ITEM_EDITING_ENABLED: false, diff --git a/packages/twenty-server/src/engine/workspace-manager/dev-seeder/core/utils/seed-feature-flags.util.ts b/packages/twenty-server/src/engine/workspace-manager/dev-seeder/core/utils/seed-feature-flags.util.ts index 92ba450a35..affe2850e4 100644 --- a/packages/twenty-server/src/engine/workspace-manager/dev-seeder/core/utils/seed-feature-flags.util.ts +++ b/packages/twenty-server/src/engine/workspace-manager/dev-seeder/core/utils/seed-feature-flags.util.ts @@ -76,11 +76,6 @@ export const seedFeatureFlags = async ({ workspaceId: workspaceId, value: true, }, - { - key: FeatureFlagKey.IS_SSE_DB_EVENTS_ENABLED, - workspaceId: workspaceId, - value: true, - }, { key: FeatureFlagKey.IS_NAVIGATION_MENU_ITEM_ENABLED, workspaceId: workspaceId,