From c65fa28e1caac5a49e6a5e82d3354ed631be0df4 Mon Sep 17 00:00:00 2001 From: Rob Hough Date: Tue, 28 Apr 2026 14:56:35 +0100 Subject: [PATCH] fix(editor): Keep publish actions menu enabled for published workflows (#29396) --- .../WorkflowHeaderDraftPublishActions.test.ts | 23 +++++++++++++++++++ .../WorkflowHeaderDraftPublishActions.vue | 4 ++++ 2 files changed, 27 insertions(+) diff --git a/packages/frontend/editor-ui/src/app/components/MainHeader/WorkflowHeaderDraftPublishActions.test.ts b/packages/frontend/editor-ui/src/app/components/MainHeader/WorkflowHeaderDraftPublishActions.test.ts index 8b31f114571..51e365ae7da 100644 --- a/packages/frontend/editor-ui/src/app/components/MainHeader/WorkflowHeaderDraftPublishActions.test.ts +++ b/packages/frontend/editor-ui/src/app/components/MainHeader/WorkflowHeaderDraftPublishActions.test.ts @@ -508,6 +508,29 @@ describe('WorkflowHeaderDraftPublishActions', () => { expect(getByTestId('version-menu-button')).not.toBeDisabled(); }); + it('should keep the version menu enabled when workflow is published with no changes and unpublish is unavailable', () => { + workflowsStore.workflowTriggerNodes = [triggerNode]; + workflowsStore.workflow.versionId = 'version-1'; + workflowDocumentStore.setActiveState({ + activeVersionId: 'version-1', + activeVersion: createMockActiveVersion('version-1'), + }); + uiStore.markStateClean(); + + const { getByTestId } = renderComponent({ + props: { + ...defaultWorkflowProps, + workflowPermissions: { + ...defaultWorkflowProps.workflowPermissions, + unpublish: false, + }, + }, + }); + + expect(getByTestId('workflow-open-publish-modal-button')).toBeDisabled(); + expect(getByTestId('version-menu-button')).not.toBeDisabled(); + }); + it('should show publish button enabled when workflow has never been published (no active version)', () => { workflowsStore.workflowTriggerNodes = [triggerNode]; workflowsStore.workflow.versionId = 'version-1'; diff --git a/packages/frontend/editor-ui/src/app/components/MainHeader/WorkflowHeaderDraftPublishActions.vue b/packages/frontend/editor-ui/src/app/components/MainHeader/WorkflowHeaderDraftPublishActions.vue index 3754559d011..0524c2d52c4 100644 --- a/packages/frontend/editor-ui/src/app/components/MainHeader/WorkflowHeaderDraftPublishActions.vue +++ b/packages/frontend/editor-ui/src/app/components/MainHeader/WorkflowHeaderDraftPublishActions.vue @@ -359,6 +359,10 @@ const versionMenuActions = computed>>( }); const shouldDisableActionDropdown = computed(() => { + if (activeVersion.value) { + return false; + } + return versionMenuActions.value.every((action) => action.disabled); });