diff --git a/src/scripts/app.ts b/src/scripts/app.ts index cd085eead..d7583724a 100644 --- a/src/scripts/app.ts +++ b/src/scripts/app.ts @@ -1778,9 +1778,8 @@ export class ComfyApp { * Clean current state */ clean() { - this.nodeOutputs = {} - const { revokeAllPreviews } = useNodeOutputStore() - revokeAllPreviews() + const nodeOutputStore = useNodeOutputStore() + nodeOutputStore.resetAllOutputsAndPreviews() const executionStore = useExecutionStore() executionStore.lastNodeErrors = null executionStore.lastExecutionError = null diff --git a/src/scripts/changeTracker.ts b/src/scripts/changeTracker.ts index 1b5f9c88e..f2b2afc30 100644 --- a/src/scripts/changeTracker.ts +++ b/src/scripts/changeTracker.ts @@ -10,6 +10,7 @@ import { import type { ComfyWorkflowJSON } from '@/platform/workflow/validation/schemas/workflowSchema' import type { ExecutedWsMessage } from '@/schemas/apiSchema' import { useExecutionStore } from '@/stores/executionStore' +import { useNodeOutputStore } from '@/stores/imagePreviewStore' import { useSubgraphNavigationStore } from '@/stores/subgraphNavigationStore' import { api } from './api' @@ -86,7 +87,7 @@ export class ChangeTracker { app.canvas.ds.offset = this.ds.offset } if (this.nodeOutputs) { - app.nodeOutputs = this.nodeOutputs + useNodeOutputStore().restoreOutputs(this.nodeOutputs) } if (this.subgraphState) { const { navigation } = this.subgraphState diff --git a/src/stores/imagePreviewStore.ts b/src/stores/imagePreviewStore.ts index 7cf8b2f5d..aebc23810 100644 --- a/src/stores/imagePreviewStore.ts +++ b/src/stores/imagePreviewStore.ts @@ -328,6 +328,19 @@ export const useNodeOutputStore = defineStore('nodeOutput', () => { return hadOutputs } + function restoreOutputs( + outputs: Record + ) { + app.nodeOutputs = outputs + nodeOutputs.value = outputs + } + + function resetAllOutputsAndPreviews() { + app.nodeOutputs = {} + nodeOutputs.value = {} + revokeAllPreviews() + } + return { // Getters getNodeOutputs, @@ -346,6 +359,8 @@ export const useNodeOutputStore = defineStore('nodeOutput', () => { revokeAllPreviews, revokeSubgraphPreviews, removeNodeOutputs, + restoreOutputs, + resetAllOutputsAndPreviews, // State nodeOutputs,