From 60bd9899150678dbc46df543ac16e1099d58a07f Mon Sep 17 00:00:00 2001 From: space-nuko <24979496+space-nuko@users.noreply.github.com> Date: Fri, 26 May 2023 16:06:54 -0500 Subject: [PATCH] Strip tags from top-level nodes when inserting templates --- litegraph | 2 +- src/lib/ComfyBoxTemplate.ts | 14 ++++++++++++++ src/lib/ComfyGraph.ts | 5 +++++ src/lib/components/ComfyQueue.svelte | 5 +++-- 4 files changed, 23 insertions(+), 3 deletions(-) diff --git a/litegraph b/litegraph index ffc140d..9b8d28d 160000 --- a/litegraph +++ b/litegraph @@ -1 +1 @@ -Subproject commit ffc140dd031f464d821705b99a4db97e5d4968da +Subproject commit 9b8d28d3e2b3bc69a09b55b2d41a9bd53f57e37d diff --git a/src/lib/ComfyBoxTemplate.ts b/src/lib/ComfyBoxTemplate.ts index b6a011e..c7dc080 100644 --- a/src/lib/ComfyBoxTemplate.ts +++ b/src/lib/ComfyBoxTemplate.ts @@ -285,6 +285,19 @@ function relocateNodes(nodes: SerializedLGraphNode[]): SerializedLGraphNode[] { return nodes; } +/* + * Strips tags from top-level nodes + */ +function stripTags(nodes: SerializedLGraphNode[]): SerializedLGraphNode[] { + for (const node of nodes) { + if (Array.isArray(node.properties.tags)) { + node.properties.tags = [] + } + } + + return nodes; +} + function pruneDetachedLinks(nodes: SerializedLGraphNode[], links: SerializedTemplateLink[]): [SerializedLGraphNode[], SerializedTemplateLink[]] { const nodeIds = new Set(nodes.map(n => n.id)); @@ -338,6 +351,7 @@ export function serializeTemplate(canvas: ComfyGraphCanvas, template: ComfyBoxTe uiState.update(s => { s.forceSaveUserState = null; return s; }); nodes = relocateNodes(nodes); + nodes = stripTags(nodes); [nodes, links] = pruneDetachedLinks(nodes, links); const svg = renderSvg(canvas, graph, TEMPLATE_SVG_PADDING); diff --git a/src/lib/ComfyGraph.ts b/src/lib/ComfyGraph.ts index 49f03ff..6aa669c 100644 --- a/src/lib/ComfyGraph.ts +++ b/src/lib/ComfyGraph.ts @@ -249,6 +249,11 @@ export default class ComfyGraph extends LGraph { node_data.id = uuidv4(); templateNodeIDToNewNode[prevNodeId] = node + // Strip tags from top-level nodes + if (Array.isArray(node_data.properties.tags)) { + node_data.properties.tags = [] + } + node.configure(node_data); if (mapping) { diff --git a/src/lib/components/ComfyQueue.svelte b/src/lib/components/ComfyQueue.svelte index 2cb91c0..3b66d04 100644 --- a/src/lib/components/ComfyQueue.svelte +++ b/src/lib/components/ComfyQueue.svelte @@ -144,8 +144,9 @@ if (entry.extraData?.workflowTitle != null) { message = `${entry.extraData.workflowTitle}` } - if (subgraphs?.length > 0) - message += ` (${subgraphs.join(', ')})` + const subgraphsString = subgraphs.join(', ') + if (subgraphsString.length > 0) + message += ` (${subgraphsString})` let submessage = `Nodes: ${Object.keys(entry.prompt).length}`