From 59704b40101e7085193a9a5e4d8fc09cc01d53db Mon Sep 17 00:00:00 2001 From: Eugene Date: Wed, 9 Jul 2025 13:17:14 +0200 Subject: [PATCH] fix(editor): Remove feature flag from evals feature (#17107) Co-authored-by: Claude --- .../src/components/MainHeader/MainHeader.vue | 14 +----- .../Node/NodeCreator/NodesListPanel.test.ts | 2 +- .../NodeCreator/useActionsGeneration.test.ts | 44 ------------------- .../executions/ConcurrentExecutionsHeader.vue | 8 +--- packages/frontend/editor-ui/src/constants.ts | 1 - packages/frontend/editor-ui/src/router.ts | 6 +-- .../src/stores/evaluation.store.ee.test.ts | 14 ------ .../src/stores/evaluation.store.ee.ts | 15 +------ 8 files changed, 6 insertions(+), 98 deletions(-) diff --git a/packages/frontend/editor-ui/src/components/MainHeader/MainHeader.vue b/packages/frontend/editor-ui/src/components/MainHeader/MainHeader.vue index 1f3a13acda8..84db85ec93b 100644 --- a/packages/frontend/editor-ui/src/components/MainHeader/MainHeader.vue +++ b/packages/frontend/editor-ui/src/components/MainHeader/MainHeader.vue @@ -9,12 +9,10 @@ import { PLACEHOLDER_EMPTY_WORKFLOW_ID, STICKY_NODE_TYPE, VIEWS, - WORKFLOW_EVALUATION_EXPERIMENT, N8N_MAIN_GITHUB_REPO_URL, } from '@/constants'; import { useExecutionsStore } from '@/stores/executions.store'; import { useNDVStore } from '@/stores/ndv.store'; -import { usePostHog } from '@/stores/posthog.store'; import { useSettingsStore } from '@/stores/settings.store'; import { useSourceControlStore } from '@/stores/sourceControl.store'; import { useUIStore } from '@/stores/ui.store'; @@ -37,7 +35,6 @@ const sourceControlStore = useSourceControlStore(); const workflowsStore = useWorkflowsStore(); const executionsStore = useExecutionsStore(); const settingsStore = useSettingsStore(); -const posthogStore = usePostHog(); const activeHeaderTab = ref(MAIN_HEADER_TABS.WORKFLOW); const workflowToReturnTo = ref(''); @@ -59,18 +56,11 @@ const executionRoutes: VIEWS[] = [ VIEWS.EXECUTION_PREVIEW, ]; const tabBarItems = computed(() => { - const items = [ + return [ { value: MAIN_HEADER_TABS.WORKFLOW, label: locale.baseText('generic.editor') }, { value: MAIN_HEADER_TABS.EXECUTIONS, label: locale.baseText('generic.executions') }, + { value: MAIN_HEADER_TABS.EVALUATION, label: locale.baseText('generic.tests') }, ]; - - if (posthogStore.isFeatureEnabled(WORKFLOW_EVALUATION_EXPERIMENT)) { - items.push({ - value: MAIN_HEADER_TABS.EVALUATION, - label: locale.baseText('generic.tests'), - }); - } - return items; }); const activeNode = computed(() => ndvStore.activeNode); diff --git a/packages/frontend/editor-ui/src/components/Node/NodeCreator/NodesListPanel.test.ts b/packages/frontend/editor-ui/src/components/Node/NodeCreator/NodesListPanel.test.ts index 82927d40db6..79641386ce6 100644 --- a/packages/frontend/editor-ui/src/components/Node/NodeCreator/NodesListPanel.test.ts +++ b/packages/frontend/editor-ui/src/components/Node/NodeCreator/NodesListPanel.test.ts @@ -82,7 +82,7 @@ describe('NodesListPanel', () => { await fireEvent.click(container.querySelector('.backButton')!); await nextTick(); - expect(screen.queryAllByTestId('item-iterator-item')).toHaveLength(8); + expect(screen.queryAllByTestId('item-iterator-item')).toHaveLength(9); }); it('should render regular nodes', async () => { diff --git a/packages/frontend/editor-ui/src/components/Node/NodeCreator/useActionsGeneration.test.ts b/packages/frontend/editor-ui/src/components/Node/NodeCreator/useActionsGeneration.test.ts index 9d12708a6f5..73be5a3d046 100644 --- a/packages/frontend/editor-ui/src/components/Node/NodeCreator/useActionsGeneration.test.ts +++ b/packages/frontend/editor-ui/src/components/Node/NodeCreator/useActionsGeneration.test.ts @@ -31,7 +31,6 @@ describe('useActionsGenerator', () => { setActivePinia(pinia); posthogStore = usePostHog(); - vi.spyOn(posthogStore, 'isVariantEnabled').mockReturnValue(true); }); @@ -402,48 +401,5 @@ describe('useActionsGenerator', () => { ], }); }); - - it('should not return evaluation or evaluation trigger node if variant is not enabled', () => { - vi.spyOn(posthogStore, 'isFeatureEnabled').mockReturnValue(false); - - const node: INodeTypeDescription = { - ...baseV2NodeWoProps, - properties: [ - resourcePropertyWithUser, - { - displayName: 'Operation', - name: 'operation', - type: 'options', - noDataExpression: true, - displayOptions: {}, - options: [ - { - name: 'Get', - value: 'get', - description: 'Get description', - }, - ], - default: 'get', - }, - ], - }; - - const evalNode: INodeTypeDescription = { - ...baseV2NodeWoProps, - name: 'n8n-nodes-base.evaluation', - }; - - const evalNodeTrigger: INodeTypeDescription = { - ...baseV2NodeWoProps, - name: 'n8n-nodes-base.evaluationTrigger', - }; - - const { mergedNodes } = generateMergedNodesAndActions([node, evalNode, evalNodeTrigger], []); - - mergedNodes.forEach((mergedNode) => { - expect(mergedNode.name).not.toEqual('n8n-nodes-base.evaluation'); - expect(mergedNode.name).not.toEqual('n8n-nodes-base.evaluationTrigger'); - }); - }); }); }); diff --git a/packages/frontend/editor-ui/src/components/executions/ConcurrentExecutionsHeader.vue b/packages/frontend/editor-ui/src/components/executions/ConcurrentExecutionsHeader.vue index 2347b8f46dc..87b8724cd9c 100644 --- a/packages/frontend/editor-ui/src/components/executions/ConcurrentExecutionsHeader.vue +++ b/packages/frontend/editor-ui/src/components/executions/ConcurrentExecutionsHeader.vue @@ -1,8 +1,6 @@