From 7ee1929f3d0089a3f76a5d4176516f9031099f9e Mon Sep 17 00:00:00 2001 From: bymyself Date: Mon, 28 Jul 2025 22:25:06 -0700 Subject: [PATCH] [fix] Fix graph configuration callbacks not reaching subgraph nodes The onGraphConfigured and onAfterGraphConfigured callbacks were only being triggered on nodes in the root graph, missing nodes within subgraphs. This caused several critical issues: - Widget input configurations not set up in subgraph nodes - Primitive nodes not initializing properly in subgraphs - Reroute nodes not updating connection types in subgraphs - Audio upload widgets not restoring file paths in subgraphs Updated #addAfterConfigureHandler to use triggerCallbackOnAllNodes which recursively processes nodes in the entire graph hierarchy. Fixes #4569 --- src/scripts/app.ts | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/src/scripts/app.ts b/src/scripts/app.ts index 39b2d14a00..f5e97187cf 100644 --- a/src/scripts/app.ts +++ b/src/scripts/app.ts @@ -752,16 +752,12 @@ export class ComfyApp { fixLinkInputSlots(this) // Fire callbacks before the onConfigure, this is used by widget inputs to setup the config - for (const node of graph.nodes) { - node.onGraphConfigured?.() - } + triggerCallbackOnAllNodes(this, 'onGraphConfigured') const r = onConfigure?.apply(this, args) // Fire after onConfigure, used by primitives to generate widget using input nodes config - for (const node of graph.nodes) { - node.onAfterGraphConfigured?.() - } + triggerCallbackOnAllNodes(this, 'onAfterGraphConfigured') return r }