From 60c0ce228a3a434f4f47565967b2ffd19f451d7d Mon Sep 17 00:00:00 2001 From: filtered <176114999+webfiltered@users.noreply.github.com> Date: Sat, 12 Apr 2025 05:43:10 +1000 Subject: [PATCH] Generate a new workflow id when using "save as" (#3407) --- src/services/workflowService.ts | 12 ++++++++---- src/stores/workflowStore.ts | 2 +- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/services/workflowService.ts b/src/services/workflowService.ts index 117f6a003..0fa2e1240 100644 --- a/src/services/workflowService.ts +++ b/src/services/workflowService.ts @@ -94,10 +94,14 @@ export const useWorkflowService = () => { await renameWorkflow(workflow, newPath) await workflowStore.saveWorkflow(workflow) } else { - const tempWorkflow = workflowStore.createTemporary( - newKey, - workflow.activeState as ComfyWorkflowJSON - ) + // Generate new id when saving existing workflow as a new file + const id = crypto.randomUUID() + const state = JSON.parse( + JSON.stringify(workflow.activeState) + ) as ComfyWorkflowJSON + state.id = id + + const tempWorkflow = workflowStore.createTemporary(newKey, state) await openWorkflow(tempWorkflow) await workflowStore.saveWorkflow(tempWorkflow) } diff --git a/src/stores/workflowStore.ts b/src/stores/workflowStore.ts index 2db34e228..db5fdd5c2 100644 --- a/src/stores/workflowStore.ts +++ b/src/stores/workflowStore.ts @@ -441,7 +441,7 @@ export const useWorkflowStore = defineStore('workflow', () => { getWorkflowByPath, syncWorkflows } -}) as unknown as () => WorkflowStore +}) as () => WorkflowStore export const useWorkflowBookmarkStore = defineStore('workflowBookmark', () => { const bookmarks = ref>(new Set())