mirror of
https://github.com/Comfy-Org/ComfyUI_frontend.git
synced 2026-02-06 08:00:05 +00:00
fix: reload with default graph and e2e tests
This commit is contained in:
@@ -232,11 +232,27 @@ test.describe('Node Color Adjustments', () => {
|
||||
}) => {
|
||||
await comfyPage.setSetting('Comfy.Node.Opacity', 0.5)
|
||||
await comfyPage.setSetting('Comfy.ColorPalette', 'light')
|
||||
const saveWorkflowInterval = 1000
|
||||
await comfyPage.nextFrame()
|
||||
await comfyPage.page.waitForFunction(
|
||||
() => {
|
||||
const workflow = localStorage.getItem('workflow')
|
||||
if (!workflow) return false
|
||||
try {
|
||||
const parsed = JSON.parse(workflow)
|
||||
return parsed?.nodes && Array.isArray(parsed.nodes)
|
||||
} catch {
|
||||
return false
|
||||
}
|
||||
},
|
||||
{ timeout: 3000 }
|
||||
)
|
||||
const workflow = await comfyPage.page.evaluate(() => {
|
||||
return localStorage.getItem('workflow')
|
||||
})
|
||||
for (const node of JSON.parse(workflow ?? '{}').nodes) {
|
||||
const parsed = JSON.parse(workflow ?? '{}')
|
||||
expect(parsed.nodes).toBeDefined()
|
||||
expect(Array.isArray(parsed.nodes)).toBe(true)
|
||||
for (const node of parsed.nodes) {
|
||||
if (node.bgcolor) expect(node.bgcolor).not.toMatch(/hsla/)
|
||||
if (node.color) expect(node.color).not.toMatch(/hsla/)
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { tryOnScopeDispose, useDebounceFn } from '@vueuse/core'
|
||||
import { tryOnScopeDispose } from '@vueuse/core'
|
||||
import { computed, ref, watch } from 'vue'
|
||||
import { useRoute, useRouter } from 'vue-router'
|
||||
|
||||
@@ -49,7 +49,7 @@ export function useWorkflowPersistence() {
|
||||
|
||||
const lastSavedJsonByPath = ref<Record<string, string>>({})
|
||||
|
||||
const persistCurrentWorkflow = useDebounceFn(() => {
|
||||
const persistCurrentWorkflow = () => {
|
||||
if (!workflowPersistenceEnabled.value) return
|
||||
const activeWorkflow = workflowStore.activeWorkflow
|
||||
if (!activeWorkflow) return
|
||||
@@ -100,14 +100,13 @@ export function useWorkflowPersistence() {
|
||||
workflowDraftStore.removeDraft(activeWorkflow.path)
|
||||
return
|
||||
}
|
||||
}, 1_000)
|
||||
}
|
||||
|
||||
const loadPreviousWorkflowFromStorage = async () => {
|
||||
const workflowName = getStorageValue('Comfy.PreviousWorkflow')
|
||||
const preferredPath = workflowName
|
||||
? `${ComfyWorkflow.basePath}${workflowName}`
|
||||
: null
|
||||
|
||||
return await workflowDraftStore.loadPersistedWorkflow({
|
||||
workflowName,
|
||||
preferredPath,
|
||||
@@ -213,7 +212,16 @@ export function useWorkflowPersistence() {
|
||||
if (workflowStore.getWorkflowByPath(path)) return
|
||||
const draft = workflowDraftStore.getDraft(path)
|
||||
if (!draft?.isTemporary) return
|
||||
workflowStore.createTemporary(draft.name)
|
||||
try {
|
||||
const workflowData = JSON.parse(draft.data)
|
||||
workflowStore.createTemporary(draft.name, workflowData)
|
||||
} catch (err) {
|
||||
console.warn(
|
||||
'Failed to parse workflow draft, creating with default',
|
||||
err
|
||||
)
|
||||
workflowStore.createTemporary(draft.name)
|
||||
}
|
||||
})
|
||||
|
||||
workflowStore.openWorkflowsInBackground({
|
||||
|
||||
Reference in New Issue
Block a user