mirror of
https://github.com/Comfy-Org/ComfyUI_frontend.git
synced 2026-02-20 23:04:06 +00:00
fix: make SubgraphNode.graph nullable to allow proper cleanup (#8180)
## Summary Fix `SubgraphNode.graph` property to match `LGraphNode` lifecycle contract. Previously declared as `override readonly graph` via constructor parameter promotion, which prevented `LGraph.remove()` from setting `node.graph = null`. ## Changes - Remove `readonly` from `SubgraphNode.graph` constructor parameter - Add `override graph: GraphOrSubgraph | null` as class property - Add `NullGraphError` guard in `rootGraph` getter with node ID for debugging - Add null guards in `ExecutableNodeDTO.resolveInput` and `imagePreviewStore.revokeSubgraphPreviews` - Add test verifying `rootGraph` throws after node removal ## Testing - Existing subgraph tests pass - New test confirms `NullGraphError` is thrown when accessing `rootGraph` on removed node --------- Co-authored-by: Amp <amp@ampcode.com>
This commit is contained in:
@@ -31,7 +31,7 @@ function setupSubgraph(
|
||||
const subgraph = createTestSubgraph()
|
||||
const subgraphNode = createTestSubgraphNode(subgraph)
|
||||
subgraphNode._internalConfigureAfterSlots()
|
||||
const graph = subgraphNode.graph
|
||||
const graph = subgraphNode.graph!
|
||||
graph.add(subgraphNode)
|
||||
const innerNodes = []
|
||||
for (let i = 0; i < innerNodeCount; i++) {
|
||||
|
||||
Reference in New Issue
Block a user