diff --git a/browser_tests/browserTabTitle.spec.ts b/browser_tests/browserTabTitle.spec.ts index 43439bbd9e..068963eab8 100644 --- a/browser_tests/browserTabTitle.spec.ts +++ b/browser_tests/browserTabTitle.spec.ts @@ -11,7 +11,7 @@ test.describe('Browser tab title', () => { const workflowName = await comfyPage.page.evaluate(async () => { return window['app'].extensionManager.workflow.activeWorkflow.filename }) - expect(await comfyPage.page.title()).toBe(`${workflowName} - ComfyUI`) + expect(await comfyPage.page.title()).toBe(`*${workflowName} - ComfyUI`) }) // Failing on CI diff --git a/browser_tests/changeTracker.spec.ts b/browser_tests/changeTracker.spec.ts index a76c5f6c95..188526540a 100644 --- a/browser_tests/changeTracker.spec.ts +++ b/browser_tests/changeTracker.spec.ts @@ -56,9 +56,7 @@ test.describe('Change Tracker', () => { expect(await comfyPage.getToastErrorCount()).toBe(0) expect(await isModified()).toBe(false) - // TODO(huchenlei): Investigate why saving the workflow is causing the - // undo queue to be triggered. - expect(await getUndoQueueSize()).toBe(1) + expect(await getUndoQueueSize()).toBe(0) expect(await getRedoQueueSize()).toBe(0) const node = (await comfyPage.getFirstNodeRef())! @@ -66,25 +64,25 @@ test.describe('Change Tracker', () => { await node.click('collapse') await expect(node).toBeCollapsed() expect(await isModified()).toBe(true) - expect(await getUndoQueueSize()).toBe(2) + expect(await getUndoQueueSize()).toBe(1) expect(await getRedoQueueSize()).toBe(0) await comfyPage.ctrlB() await expect(node).toBeBypassed() expect(await isModified()).toBe(true) - expect(await getUndoQueueSize()).toBe(3) + expect(await getUndoQueueSize()).toBe(2) expect(await getRedoQueueSize()).toBe(0) await comfyPage.ctrlZ() await expect(node).not.toBeBypassed() expect(await isModified()).toBe(true) - expect(await getUndoQueueSize()).toBe(2) + expect(await getUndoQueueSize()).toBe(1) expect(await getRedoQueueSize()).toBe(1) await comfyPage.ctrlZ() await expect(node).not.toBeCollapsed() expect(await isModified()).toBe(false) - expect(await getUndoQueueSize()).toBe(1) + expect(await getUndoQueueSize()).toBe(0) expect(await getRedoQueueSize()).toBe(2) }) }) diff --git a/browser_tests/menu.spec.ts b/browser_tests/menu.spec.ts index 3b956a04fe..7c6edda155 100644 --- a/browser_tests/menu.spec.ts +++ b/browser_tests/menu.spec.ts @@ -394,7 +394,7 @@ test.describe('Menu', () => { await tab.newBlankWorkflowButton.click() expect(await tab.getOpenedWorkflowNames()).toEqual([ '*Unsaved Workflow.json', - 'Unsaved Workflow (2).json' + '*Unsaved Workflow (2).json' ]) }) @@ -471,6 +471,7 @@ test.describe('Menu', () => { const topbar = comfyPage.menu.topbar await topbar.saveWorkflow('workflow1.json') await topbar.saveWorkflowAs('workflow2.json') + await comfyPage.nextFrame() expect( await comfyPage.menu.workflowsTab.getOpenedWorkflowNames() ).toEqual(['workflow1.json', 'workflow2.json']) @@ -519,7 +520,7 @@ test.describe('Menu', () => { await closeButton.click() expect( await comfyPage.menu.workflowsTab.getOpenedWorkflowNames() - ).toEqual(['Unsaved Workflow.json']) + ).toEqual(['*Unsaved Workflow.json']) }) }) diff --git a/src/components/BrowserTabTitle.vue b/src/components/BrowserTabTitle.vue index 33647e2f68..2a651fcbb7 100644 --- a/src/components/BrowserTabTitle.vue +++ b/src/components/BrowserTabTitle.vue @@ -26,7 +26,10 @@ const betaMenuEnabled = computed( const workflowStore = useWorkflowStore() const isUnsavedText = computed(() => - workflowStore.activeWorkflow?.isModified ? ' *' : '' + workflowStore.activeWorkflow?.isModified || + !workflowStore.activeWorkflow?.isPersisted + ? ' *' + : '' ) const workflowNameText = computed(() => { const workflowName = workflowStore.activeWorkflow?.filename diff --git a/src/components/sidebar/tabs/WorkflowsSidebarTab.vue b/src/components/sidebar/tabs/WorkflowsSidebarTab.vue index 3f4ad70489..72e90e1401 100644 --- a/src/components/sidebar/tabs/WorkflowsSidebarTab.vue +++ b/src/components/sidebar/tabs/WorkflowsSidebarTab.vue @@ -50,7 +50,9 @@