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())