mirror of
https://github.com/comfyanonymous/ComfyUI.git
synced 2025-01-11 02:15:17 +00:00
Highlight nodes with errors in red even when workflow works fine.
This commit is contained in:
parent
b2f03164c7
commit
876dadca84
@ -444,7 +444,8 @@ class PromptServer():
|
|||||||
prompt_id = str(uuid.uuid4())
|
prompt_id = str(uuid.uuid4())
|
||||||
outputs_to_execute = valid[2]
|
outputs_to_execute = valid[2]
|
||||||
self.prompt_queue.put((number, prompt_id, prompt, extra_data, outputs_to_execute))
|
self.prompt_queue.put((number, prompt_id, prompt, extra_data, outputs_to_execute))
|
||||||
return web.json_response({"prompt_id": prompt_id, "number": number})
|
response = {"prompt_id": prompt_id, "number": number, "node_errors": valid[3]}
|
||||||
|
return web.json_response(response)
|
||||||
else:
|
else:
|
||||||
print("invalid prompt:", valid[1])
|
print("invalid prompt:", valid[1])
|
||||||
return web.json_response({"error": valid[1], "node_errors": valid[3]}, status=400)
|
return web.json_response({"error": valid[1], "node_errors": valid[3]}, status=400)
|
||||||
|
@ -202,6 +202,8 @@ class ComfyApi extends EventTarget {
|
|||||||
response: await res.json(),
|
response: await res.json(),
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return await res.json();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -836,7 +836,7 @@ export class ComfyApp {
|
|||||||
LGraphCanvas.prototype.drawNodeShape = function (node, ctx, size, fgcolor, bgcolor, selected, mouse_over) {
|
LGraphCanvas.prototype.drawNodeShape = function (node, ctx, size, fgcolor, bgcolor, selected, mouse_over) {
|
||||||
const res = origDrawNodeShape.apply(this, arguments);
|
const res = origDrawNodeShape.apply(this, arguments);
|
||||||
|
|
||||||
const nodeErrors = self.lastPromptError?.node_errors[node.id];
|
const nodeErrors = self.lastNodeErrors?.[node.id];
|
||||||
|
|
||||||
let color = null;
|
let color = null;
|
||||||
let lineWidth = 1;
|
let lineWidth = 1;
|
||||||
@ -845,7 +845,7 @@ export class ComfyApp {
|
|||||||
} else if (self.dragOverNode && node.id === self.dragOverNode.id) {
|
} else if (self.dragOverNode && node.id === self.dragOverNode.id) {
|
||||||
color = "dodgerblue";
|
color = "dodgerblue";
|
||||||
}
|
}
|
||||||
else if (self.lastPromptError != null && nodeErrors?.errors) {
|
else if (nodeErrors?.errors) {
|
||||||
color = "red";
|
color = "red";
|
||||||
lineWidth = 2;
|
lineWidth = 2;
|
||||||
}
|
}
|
||||||
@ -1413,7 +1413,7 @@ export class ComfyApp {
|
|||||||
}
|
}
|
||||||
|
|
||||||
this.#processingQueue = true;
|
this.#processingQueue = true;
|
||||||
this.lastPromptError = null;
|
this.lastNodeErrors = null;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
while (this.#queueItems.length) {
|
while (this.#queueItems.length) {
|
||||||
@ -1423,12 +1423,16 @@ export class ComfyApp {
|
|||||||
const p = await this.graphToPrompt();
|
const p = await this.graphToPrompt();
|
||||||
|
|
||||||
try {
|
try {
|
||||||
await api.queuePrompt(number, p);
|
const res = await api.queuePrompt(number, p);
|
||||||
|
this.lastNodeErrors = res.node_errors;
|
||||||
|
if (this.lastNodeErrors.length > 0) {
|
||||||
|
this.canvas.draw(true, true);
|
||||||
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
const formattedError = this.#formatPromptError(error)
|
const formattedError = this.#formatPromptError(error)
|
||||||
this.ui.dialog.show(formattedError);
|
this.ui.dialog.show(formattedError);
|
||||||
if (error.response) {
|
if (error.response) {
|
||||||
this.lastPromptError = error.response;
|
this.lastNodeErrors = error.response.node_errors;
|
||||||
this.canvas.draw(true, true);
|
this.canvas.draw(true, true);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -1534,7 +1538,7 @@ export class ComfyApp {
|
|||||||
clean() {
|
clean() {
|
||||||
this.nodeOutputs = {};
|
this.nodeOutputs = {};
|
||||||
this.nodePreviewImages = {}
|
this.nodePreviewImages = {}
|
||||||
this.lastPromptError = null;
|
this.lastNodeErrors = null;
|
||||||
this.lastExecutionError = null;
|
this.lastExecutionError = null;
|
||||||
this.runningNodeId = null;
|
this.runningNodeId = null;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user