From 62c834edce8bf92652bb32b36fccaf0c95e37135 Mon Sep 17 00:00:00 2001 From: Yourz Date: Fri, 16 Jan 2026 00:58:55 +0800 Subject: [PATCH] fix: remove draft cache when workflow is closed: --- .../management/stores/workflowStore.test.ts | 14 ++++++++++++++ .../workflow/management/stores/workflowStore.ts | 2 ++ 2 files changed, 16 insertions(+) diff --git a/src/platform/workflow/management/stores/workflowStore.test.ts b/src/platform/workflow/management/stores/workflowStore.test.ts index 79106d618..705eca570 100644 --- a/src/platform/workflow/management/stores/workflowStore.test.ts +++ b/src/platform/workflow/management/stores/workflowStore.test.ts @@ -471,6 +471,20 @@ describe('useWorkflowStore', () => { expect(store.isOpen(workflow)).toBe(false) expect(store.getWorkflowByPath(workflow.path)).toBeNull() }) + + it('should remove draft when closing temporary workflow', async () => { + const workflow = store.createTemporary('test.json') + const draftStore = useWorkflowDraftStore() + draftStore.saveDraft(workflow.path, { + data: defaultGraphJSON, + updatedAt: Date.now(), + name: workflow.key, + isTemporary: true + }) + expect(draftStore.getDraft(workflow.path)).toBeDefined() + await store.closeWorkflow(workflow) + expect(draftStore.getDraft(workflow.path)).toBeUndefined() + }) }) describe('deleteWorkflow', () => { diff --git a/src/platform/workflow/management/stores/workflowStore.ts b/src/platform/workflow/management/stores/workflowStore.ts index 1a8b4e96d..540df3d94 100644 --- a/src/platform/workflow/management/stores/workflowStore.ts +++ b/src/platform/workflow/management/stores/workflowStore.ts @@ -465,6 +465,8 @@ export const useWorkflowStore = defineStore('workflow', () => { if (workflow.isTemporary) { // Clear thumbnail when temporary workflow is closed clearThumbnail(workflow.key) + // Clear draft when unsaved workflow tab is closed + useWorkflowDraftStore().removeDraft(workflow.path) delete workflowLookup.value[workflow.path] } else { workflow.unload()