diff --git a/js/CanvasView.js b/js/CanvasView.js index 0a3659d..a785f91 100644 --- a/js/CanvasView.js +++ b/js/CanvasView.js @@ -1044,13 +1044,20 @@ app.registerExtension({ log.info(`Found ${canvasNodeInstances.size} CanvasNode(s). Sending data via WebSocket...`); const sendPromises = []; for (const [nodeId, canvasWidget] of canvasNodeInstances.entries()) { - if (app.graph.getNodeById(nodeId) && canvasWidget.canvas && canvasWidget.canvas.canvasIO) { - log.debug(`Sending data for canvas node ${nodeId}`); - sendPromises.push(canvasWidget.canvas.canvasIO.sendDataViaWebSocket(nodeId)); - } - else { + const node = app.graph.getNodeById(nodeId); + if (!node) { log.warn(`Node ${nodeId} not found in graph, removing from instances map.`); canvasNodeInstances.delete(nodeId); + continue; + } + // Skip bypassed nodes + if (node.mode === 4) { + log.debug(`Node ${nodeId} is bypassed, skipping data send.`); + continue; + } + if (canvasWidget.canvas && canvasWidget.canvas.canvasIO) { + log.debug(`Sending data for canvas node ${nodeId}`); + sendPromises.push(canvasWidget.canvas.canvasIO.sendDataViaWebSocket(nodeId)); } } try { diff --git a/src/CanvasView.ts b/src/CanvasView.ts index d487910..13e16c6 100644 --- a/src/CanvasView.ts +++ b/src/CanvasView.ts @@ -1202,12 +1202,23 @@ app.registerExtension({ const sendPromises: Promise[] = []; for (const [nodeId, canvasWidget] of canvasNodeInstances.entries()) { - if (app.graph.getNodeById(nodeId) && canvasWidget.canvas && canvasWidget.canvas.canvasIO) { - log.debug(`Sending data for canvas node ${nodeId}`); - sendPromises.push(canvasWidget.canvas.canvasIO.sendDataViaWebSocket(nodeId)); - } else { + const node = app.graph.getNodeById(nodeId); + + if (!node) { log.warn(`Node ${nodeId} not found in graph, removing from instances map.`); canvasNodeInstances.delete(nodeId); + continue; + } + + // Skip bypassed nodes + if (node.mode === 4) { + log.debug(`Node ${nodeId} is bypassed, skipping data send.`); + continue; + } + + if (canvasWidget.canvas && canvasWidget.canvas.canvasIO) { + log.debug(`Sending data for canvas node ${nodeId}`); + sendPromises.push(canvasWidget.canvas.canvasIO.sendDataViaWebSocket(nodeId)); } }