From 4a92bb68eea8e27617201277ae312f15ddaef2df Mon Sep 17 00:00:00 2001 From: space-nuko <24979496+space-nuko@users.noreply.github.com> Date: Thu, 8 Jun 2023 19:33:26 -0500 Subject: [PATCH 1/3] fixes --- src/lib/components/ComfyQueue.svelte | 4 ++-- .../nodes/actions/ComfySetNodeModeAdvancedAction.ts | 13 +++++++++---- src/lib/widgets/ImageUploadWidget.svelte | 2 +- 3 files changed, 12 insertions(+), 7 deletions(-) diff --git a/src/lib/components/ComfyQueue.svelte b/src/lib/components/ComfyQueue.svelte index a9c50a9..0425c79 100644 --- a/src/lib/components/ComfyQueue.svelte +++ b/src/lib/components/ComfyQueue.svelte @@ -15,8 +15,8 @@ import { type WorkflowError } from "$lib/stores/workflowState"; import ComfyQueueListDisplay from "./ComfyQueueListDisplay.svelte"; import ComfyQueueGridDisplay from "./ComfyQueueGridDisplay.svelte"; - import { WORKFLOWS_VIEW } from "./ComfyBoxWorkflowsView.svelte"; - import uiQueueState, { type QueueUIEntry } from "$lib/stores/uiQueueState"; + import { WORKFLOWS_VIEW } from "./ComfyBoxWorkflowsView.svelte"; + import uiQueueState, { type QueueUIEntry } from "$lib/stores/uiQueueState"; export let app: ComfyApp; diff --git a/src/lib/nodes/actions/ComfySetNodeModeAdvancedAction.ts b/src/lib/nodes/actions/ComfySetNodeModeAdvancedAction.ts index 6563c4d..fa18806 100644 --- a/src/lib/nodes/actions/ComfySetNodeModeAdvancedAction.ts +++ b/src/lib/nodes/actions/ComfySetNodeModeAdvancedAction.ts @@ -73,10 +73,10 @@ export default class ComfySetNodeModeAdvancedAction extends ComfyGraphNode { if (hasTag) { let newMode: NodeMode; - if (enable && action.enable) { - newMode = NodeMode.ALWAYS; + if (action.enable) { + newMode = enable ? NodeMode.ALWAYS : NodeMode.NEVER; } else { - newMode = NodeMode.NEVER; + newMode = enable ? NodeMode.NEVER : NodeMode.ALWAYS; } nodeChanges[node.id] = newMode } @@ -88,7 +88,12 @@ export default class ComfySetNodeModeAdvancedAction extends ComfyGraphNode { const container = entry.dragItem; const hasTag = container.attrs.tags.indexOf(action.tag) != -1; if (hasTag) { - const hidden = !(enable && action.enable) + let hidden: boolean; + if (action.enable) { + hidden = !enable + } else { + hidden = enable; + } widgetChanges[container.id] = hidden } } diff --git a/src/lib/widgets/ImageUploadWidget.svelte b/src/lib/widgets/ImageUploadWidget.svelte index 4f9c3cf..8596d03 100644 --- a/src/lib/widgets/ImageUploadWidget.svelte +++ b/src/lib/widgets/ImageUploadWidget.svelte @@ -230,7 +230,7 @@ /> {:else}
- {#if _value && canMask} + {#if _value && _value.length > 0 && canMask} {@const comfyURL = convertComfyOutputToComfyURL(_value[0])}
From 3275777d2f701c3c39a5ea4dac225292e7cdacaf Mon Sep 17 00:00:00 2001 From: space-nuko <24979496+space-nuko@users.noreply.github.com> Date: Thu, 8 Jun 2023 22:20:45 -0500 Subject: [PATCH 2/3] Don't strip combo value from workflow --- src/lib/nodes/widgets/ComfyComboNode.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/src/lib/nodes/widgets/ComfyComboNode.ts b/src/lib/nodes/widgets/ComfyComboNode.ts index 85ba08b..890ce13 100644 --- a/src/lib/nodes/widgets/ComfyComboNode.ts +++ b/src/lib/nodes/widgets/ComfyComboNode.ts @@ -170,7 +170,6 @@ export default class ComfyComboNode extends ComfyWidgetNode { super.stripUserState(o); o.properties.values = [] o.properties.defaultValue = null; - (o as any).comfyValue = null } } From 334692eb1a0c7d839c741dd2df4d950632c53aa2 Mon Sep 17 00:00:00 2001 From: space-nuko <24979496+space-nuko@users.noreply.github.com> Date: Mon, 19 Jun 2023 19:21:11 -0500 Subject: [PATCH 3/3] Workflow serialization fix ensure user data for values in workflow isn't stripped --- litegraph | 2 +- src/lib/nodes/widgets/ComfyWidgetNode.ts | 5 ----- src/lib/widgets/GalleryWidget.svelte | 10 ++-------- src/tests/ComfyGraphTests.ts | 23 ++++++++++++++++++++++- 4 files changed, 25 insertions(+), 15 deletions(-) diff --git a/litegraph b/litegraph index 7c38fa4..29a7877 160000 --- a/litegraph +++ b/litegraph @@ -1 +1 @@ -Subproject commit 7c38fa4aedb33c960806efad6d700ec8ca67649f +Subproject commit 29a7877f598fe47d39d4531385a3ff6728a81673 diff --git a/src/lib/nodes/widgets/ComfyWidgetNode.ts b/src/lib/nodes/widgets/ComfyWidgetNode.ts index a0c3c8a..5bb2a83 100644 --- a/src/lib/nodes/widgets/ComfyWidgetNode.ts +++ b/src/lib/nodes/widgets/ComfyWidgetNode.ts @@ -357,9 +357,4 @@ export default abstract class ComfyWidgetNode extends ComfyGraphNode { this.value.set(value); this.shownOutputProperties = (o as any).shownOutputProperties; } - - override stripUserState(o: SerializedLGraphNode) { - super.stripUserState(o); - (o as any).comfyValue = LiteGraph.cloneObject(this.properties.defaultValue); - } } diff --git a/src/lib/widgets/GalleryWidget.svelte b/src/lib/widgets/GalleryWidget.svelte index 0ce01ee..4e49844 100644 --- a/src/lib/widgets/GalleryWidget.svelte +++ b/src/lib/widgets/GalleryWidget.svelte @@ -42,7 +42,7 @@ $: { previewURL = $queueState.previewURL; - if (previewURL && $queueState.runningPromptID != null && !$uiState.hidePreviews && node.properties.showPreviews) { + if (previewURL && $queueState.runningPromptID && !$uiState.hidePreviews && node.properties.showPreviews) { const queueEntry = queueState.getQueueEntry($queueState.runningPromptID) if (queueEntry != null) { const tags = queueEntry.extraData?.extra_pnginfo?.comfyBoxPrompt?.subgraphs; @@ -51,12 +51,6 @@ previewImage = img; }) } - else { - previewImage = null; - } - } - else { - previewImage = null; } } else { @@ -155,7 +149,7 @@