fix: rebase main branch

This commit is contained in:
Yourz
2026-01-14 23:40:16 +08:00
parent 19fd94c23a
commit 6b7de3d2fe
2 changed files with 15 additions and 21 deletions

View File

@@ -87,13 +87,6 @@ export class ComfyWorkflow extends UserFile {
override async load({ force = false }: { force?: boolean } = {}): Promise< override async load({ force = false }: { force?: boolean } = {}): Promise<
this & LoadedComfyWorkflow this & LoadedComfyWorkflow
> { > {
await super.load({ force })
if (!force && this.isLoaded) return this as this & LoadedComfyWorkflow
if (!this.originalContent) {
throw new Error('[ASSERT] Workflow content should be loaded')
}
const draftStore = useWorkflowDraftStore() const draftStore = useWorkflowDraftStore()
let draft = !force ? draftStore.getDraft(this.path) : undefined let draft = !force ? draftStore.getDraft(this.path) : undefined
let draftState: ComfyWorkflowJSON | null = null let draftState: ComfyWorkflowJSON | null = null
@@ -116,13 +109,15 @@ export class ComfyWorkflow extends UserFile {
} }
} }
// Note: originalContent is populated by super.load() await super.load({ force })
this.changeTracker = markRaw( if (!force && this.isLoaded) return this as this & LoadedComfyWorkflow
new ChangeTracker(
this, if (!this.originalContent) {
/* initialState= */ JSON.parse(this.originalContent) throw new Error('[ASSERT] Workflow content should be loaded')
) }
)
const initialState = JSON.parse(this.originalContent)
this.changeTracker = markRaw(new ChangeTracker(this, initialState))
if (draftState && draftContent) { if (draftState && draftContent) {
this.changeTracker.activeState = draftState this.changeTracker.activeState = draftState
this.content = draftContent this.content = draftContent

View File

@@ -29,7 +29,6 @@ export function useWorkflowPersistence() {
const TEMPLATE_NAMESPACE = PRESERVED_QUERY_NAMESPACES.TEMPLATE const TEMPLATE_NAMESPACE = PRESERVED_QUERY_NAMESPACES.TEMPLATE
const workflowDraftStore = useWorkflowDraftStore() const workflowDraftStore = useWorkflowDraftStore()
const ensureTemplateQueryFromIntent = async () => { const ensureTemplateQueryFromIntent = async () => {
hydratePreservedQuery(TEMPLATE_NAMESPACE) hydratePreservedQuery(TEMPLATE_NAMESPACE)
const mergedQuery = mergePreservedQueryIntoQuery( const mergedQuery = mergePreservedQueryIntoQuery(
@@ -52,13 +51,13 @@ export function useWorkflowPersistence() {
if (!workflowPersistenceEnabled.value) return if (!workflowPersistenceEnabled.value) return
const activeWorkflow = workflowStore.activeWorkflow const activeWorkflow = workflowStore.activeWorkflow
if (!activeWorkflow) return if (!activeWorkflow) return
const graphData = comfyApp.rootGraph.serialize()
const workflow = JSON.stringify(comfyApp.rootGraph.serialize()) const workflowJson = JSON.stringify(graphData)
try { try {
localStorage.setItem('workflow', workflow) localStorage.setItem('workflow', workflowJson)
if (api.clientId) { if (api.clientId) {
sessionStorage.setItem(`workflow:${api.clientId}`, workflow) sessionStorage.setItem(`workflow:${api.clientId}`, workflowJson)
} }
} catch (error) { } catch (error) {
// Only log our own keys and aggregate stats // Only log our own keys and aggregate stats
@@ -66,7 +65,7 @@ export function useWorkflowPersistence() {
(key) => key.startsWith('workflow:') || key === 'workflow' (key) => key.startsWith('workflow:') || key === 'workflow'
) )
console.error('QuotaExceededError details:', { console.error('QuotaExceededError details:', {
workflowSizeKB: Math.round(workflow.length / 1024), workflowSizeKB: Math.round(workflowJson.length / 1024),
totalStorageItems: Object.keys(sessionStorage).length, totalStorageItems: Object.keys(sessionStorage).length,
ourWorkflowKeys: ourKeys.length, ourWorkflowKeys: ourKeys.length,
ourWorkflowSizes: ourKeys.map((key) => ({ ourWorkflowSizes: ourKeys.map((key) => ({
@@ -84,7 +83,7 @@ export function useWorkflowPersistence() {
} }
workflowDraftStore.saveDraft(activeWorkflow.path, { workflowDraftStore.saveDraft(activeWorkflow.path, {
data: workflow, data: workflowJson,
updatedAt: Date.now(), updatedAt: Date.now(),
name: activeWorkflow.key, name: activeWorkflow.key,
isTemporary: activeWorkflow.isTemporary isTemporary: activeWorkflow.isTemporary