mirror of
https://github.com/Azornes/Comfyui-LayerForge.git
synced 2026-03-25 14:25:44 -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...`);
|
log.info(`Found ${canvasNodeInstances.size} CanvasNode(s). Sending data via WebSocket...`);
|
||||||
const sendPromises = [];
|
const sendPromises = [];
|
||||||
for (const [nodeId, canvasWidget] of canvasNodeInstances.entries()) {
|
for (const [nodeId, canvasWidget] of canvasNodeInstances.entries()) {
|
||||||
if (app.graph.getNodeById(nodeId) && canvasWidget.canvas && canvasWidget.canvas.canvasIO) {
|
const node = app.graph.getNodeById(nodeId);
|
||||||
log.debug(`Sending data for canvas node ${nodeId}`);
|
if (!node) {
|
||||||
sendPromises.push(canvasWidget.canvas.canvasIO.sendDataViaWebSocket(nodeId));
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
log.warn(`Node ${nodeId} not found in graph, removing from instances map.`);
|
log.warn(`Node ${nodeId} not found in graph, removing from instances map.`);
|
||||||
canvasNodeInstances.delete(nodeId);
|
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 {
|
try {
|
||||||
|
|||||||
@@ -1202,12 +1202,23 @@ app.registerExtension({
|
|||||||
|
|
||||||
const sendPromises: Promise<any>[] = [];
|
const sendPromises: Promise<any>[] = [];
|
||||||
for (const [nodeId, canvasWidget] of canvasNodeInstances.entries()) {
|
for (const [nodeId, canvasWidget] of canvasNodeInstances.entries()) {
|
||||||
if (app.graph.getNodeById(nodeId) && canvasWidget.canvas && canvasWidget.canvas.canvasIO) {
|
const node = app.graph.getNodeById(nodeId);
|
||||||
log.debug(`Sending data for canvas node ${nodeId}`);
|
|
||||||
sendPromises.push(canvasWidget.canvas.canvasIO.sendDataViaWebSocket(nodeId));
|
if (!node) {
|
||||||
} else {
|
|
||||||
log.warn(`Node ${nodeId} not found in graph, removing from instances map.`);
|
log.warn(`Node ${nodeId} not found in graph, removing from instances map.`);
|
||||||
canvasNodeInstances.delete(nodeId);
|
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