From 46cd5223841310b4d9ace4a86e37425153fd43a8 Mon Sep 17 00:00:00 2001 From: Chenlei Hu Date: Tue, 26 Nov 2024 07:44:25 -0800 Subject: [PATCH] Fix save temporary workflow loop on overwrite (#1699) --- browser_tests/menu.spec.ts | 14 ++++++++++++++ src/services/workflowService.ts | 2 +- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/browser_tests/menu.spec.ts b/browser_tests/menu.spec.ts index 7c6edda15..aa6287398 100644 --- a/browser_tests/menu.spec.ts +++ b/browser_tests/menu.spec.ts @@ -465,6 +465,20 @@ test.describe('Menu', () => { ).toEqual(['workflow5.json']) }) + test('Can save temporary workflow with unmodified name', async ({ + comfyPage + }) => { + expect(await comfyPage.isCurrentWorkflowModified()).toBe(false) + + await comfyPage.menu.topbar.saveWorkflow('Unsaved Workflow') + // Should not trigger the overwrite dialog + expect( + await comfyPage.page.locator('.comfy-modal-content:visible').count() + ).toBe(0) + + expect(await comfyPage.isCurrentWorkflowModified()).toBe(false) + }) + test('Can overwrite other workflows with save as', async ({ comfyPage }) => { diff --git a/src/services/workflowService.ts b/src/services/workflowService.ts index a5a81d254..bcb1a9e55 100644 --- a/src/services/workflowService.ts +++ b/src/services/workflowService.ts @@ -66,7 +66,7 @@ export const workflowService = { const workflowStore = useWorkflowStore() const existingWorkflow = workflowStore.getWorkflowByPath(newPath) - if (existingWorkflow) { + if (existingWorkflow && !existingWorkflow.isTemporary) { const res = (await ComfyAsyncDialog.prompt({ title: 'Overwrite existing file?', message: `"${newPath}" already exists. Do you want to overwrite it?`,