[fix] Fix link input slots not being updated in subgraphs (#4575)

This commit is contained in:
Christian Byrne
2025-07-29 00:32:39 -07:00
committed by GitHub
parent 4b75528c39
commit cf072b8420

View File

@@ -153,7 +153,10 @@ export function migrateWidgetsValues<TWidgetValue>(
* @param graph - The graph to fix links for.
*/
export function fixLinkInputSlots(graph: LGraph) {
// Note: We can't use forEachNode here because we need access to the graph's
// links map at each level. Links are stored in their respective graph/subgraph.
for (const node of graph.nodes) {
// Fix links for the current node
for (const [inputIndex, input] of node.inputs.entries()) {
const linkId = input.link
if (!linkId) continue
@@ -163,6 +166,11 @@ export function fixLinkInputSlots(graph: LGraph) {
link.target_slot = inputIndex
}
// Recursively fix links in subgraphs
if (node.isSubgraphNode?.() && node.subgraph) {
fixLinkInputSlots(node.subgraph)
}
}
}