Fix execution output & previews not displayed (#4506)

This commit is contained in:
filtered
2025-07-23 22:12:30 +10:00
committed by GitHub
parent 4cd0c270bf
commit f81b191fae
3 changed files with 42 additions and 7 deletions

View File

@@ -1,4 +1,4 @@
import type { LGraph, Subgraph } from '@comfyorg/litegraph'
import type { LGraph, LGraphNode, Subgraph } from '@comfyorg/litegraph'
import { defineStore } from 'pinia'
import { computed, ref } from 'vue'
@@ -24,7 +24,7 @@ import type {
} from '@/schemas/comfyWorkflowSchema'
import { api } from '@/scripts/api'
import { app } from '@/scripts/app'
import type { NodeLocatorId } from '@/types/nodeIdentification'
import type { NodeExecutionId, NodeLocatorId } from '@/types/nodeIdentification'
import { createNodeLocatorId } from '@/types/nodeIdentification'
import { useCanvasStore } from './graphStore'
@@ -54,6 +54,22 @@ export const useExecutionStore = defineStore('execution', () => {
// This is the progress of all nodes in the currently executing workflow
const nodeProgressStates = ref<Record<string, NodeProgressState>>({})
/**
* @deprecated Workaround for Subgraph phase 1 - execution IDs may share locator IDs.
* The most recently executed execution ID for each node locator ID.
*/
const locatorIdToExecutionIdMap = new Map<NodeLocatorId, NodeExecutionId>()
/**
* Get the NodeLocatorId for a node.
* @param node The node
* @returns The NodeLocatorId
*/
const getNodeLocatorId = (node: LGraphNode): NodeLocatorId =>
node.graph?.isRootGraph
? node.id.toString()
: [node.graph?.id, node.id].join(':')
/**
* Convert execution context node IDs to NodeLocatorIds
* @param nodeId The node ID from execution context (could be execution ID)
@@ -468,6 +484,8 @@ export const useExecutionStore = defineStore('execution', () => {
_executingNodeProgress,
// NodeLocatorId conversion helpers
executionIdToNodeLocatorId,
nodeLocatorIdToExecutionId
nodeLocatorIdToExecutionId,
locatorIdToExecutionIdMap,
getNodeLocatorId
}
})