mirror of
https://github.com/Azornes/Comfyui-LayerForge.git
synced 2026-03-21 12:52:10 -03:00
Skip sending canvas data for bypassed nodes
Fix critical issue where LayerForge was trying to send canvas data even when the node was bypassed (mode === 4). This caused unnecessary errors and blocked workflow execution. Now properly checks node.mode before attempting to send data via WebSocket, skipping bypassed nodes entirely.
This commit is contained in:
@@ -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 {
|
||||
|
||||
@@ -1202,12 +1202,23 @@ app.registerExtension({
|
||||
|
||||
const sendPromises: Promise<any>[] = [];
|
||||
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));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user