diff --git a/browser_tests/interaction.spec.ts b/browser_tests/interaction.spec.ts index b2b3974c4..f026686a6 100644 --- a/browser_tests/interaction.spec.ts +++ b/browser_tests/interaction.spec.ts @@ -251,6 +251,18 @@ test.describe('Node Interaction', () => { await comfyPage.nextFrame() await expect(comfyPage.canvas).toHaveScreenshot('nodes-unpinned.png') }) + + test('Can bypass/unbypass nodes with keyboard shortcut', async ({ + comfyPage + }) => { + await comfyPage.select2Nodes() + await comfyPage.canvas.press('Control+b') + await comfyPage.nextFrame() + await expect(comfyPage.canvas).toHaveScreenshot('nodes-bypassed.png') + await comfyPage.canvas.press('Control+b') + await comfyPage.nextFrame() + await expect(comfyPage.canvas).toHaveScreenshot('nodes-unbypassed.png') + }) }) test.describe('Group Interaction', () => { diff --git a/browser_tests/interaction.spec.ts-snapshots/nodes-bypassed-chromium-2x-linux.png b/browser_tests/interaction.spec.ts-snapshots/nodes-bypassed-chromium-2x-linux.png new file mode 100644 index 000000000..4ba96ea66 Binary files /dev/null and b/browser_tests/interaction.spec.ts-snapshots/nodes-bypassed-chromium-2x-linux.png differ diff --git a/browser_tests/interaction.spec.ts-snapshots/nodes-bypassed-chromium-linux.png b/browser_tests/interaction.spec.ts-snapshots/nodes-bypassed-chromium-linux.png new file mode 100644 index 000000000..162a69e00 Binary files /dev/null and b/browser_tests/interaction.spec.ts-snapshots/nodes-bypassed-chromium-linux.png differ diff --git a/browser_tests/interaction.spec.ts-snapshots/nodes-unbypassed-chromium-2x-linux.png b/browser_tests/interaction.spec.ts-snapshots/nodes-unbypassed-chromium-2x-linux.png new file mode 100644 index 000000000..09898177c Binary files /dev/null and b/browser_tests/interaction.spec.ts-snapshots/nodes-unbypassed-chromium-2x-linux.png differ diff --git a/browser_tests/interaction.spec.ts-snapshots/nodes-unbypassed-chromium-linux.png b/browser_tests/interaction.spec.ts-snapshots/nodes-unbypassed-chromium-linux.png new file mode 100644 index 000000000..b6bdfae42 Binary files /dev/null and b/browser_tests/interaction.spec.ts-snapshots/nodes-unbypassed-chromium-linux.png differ diff --git a/src/scripts/app.ts b/src/scripts/app.ts index 6c5b73f9e..7daece1e5 100644 --- a/src/scripts/app.ts +++ b/src/scripts/app.ts @@ -1551,9 +1551,9 @@ export class ComfyApp { const origDrawNode = LGraphCanvas.prototype.drawNode LGraphCanvas.prototype.drawNode = function (node, ctx) { - var editor_alpha = this.editor_alpha - var old_color = node.color - var old_bgcolor = node.bgcolor + const editor_alpha = this.editor_alpha + const old_color = node.color + const old_bgcolor = node.bgcolor if (node.mode === 2) { // never @@ -1561,11 +1561,14 @@ export class ComfyApp { } // ComfyUI's custom node mode enum value 4 => bypass/never. + let bgColor: string // @ts-expect-error if (node.mode === 4) { // never - node.bgcolor = '#FF00FF' + bgColor = '#FF00FF' this.editor_alpha = 0.2 + } else { + bgColor = old_bgcolor || LiteGraph.NODE_DEFAULT_BGCOLOR } const adjustments: ColorAdjustOptions = {} @@ -1582,10 +1585,7 @@ export class ComfyApp { } } - node.bgcolor = adjustColor( - old_bgcolor || LiteGraph.NODE_DEFAULT_BGCOLOR, - adjustments - ) + node.bgcolor = adjustColor(bgColor, adjustments) const res = origDrawNode.apply(this, arguments)