From 886fe07de9fff15076364adc0265a7057a1f9e7e Mon Sep 17 00:00:00 2001 From: Terry Jia Date: Fri, 9 Jan 2026 15:57:50 -0500 Subject: [PATCH] fix: respect node resizable property in vueNodes mode (#7934) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Summary Custom nodes like ComfyUI-KJNodes set `this.resizable = false` to disable resizing. This worked in litegraph but was ignored in vueNodes mode. Extract the resizable property from LGraphNode to VueNodeData and use it to conditionally render the resize handle and block resize interactions. ┆Issue is synchronized with this [Notion page](https://www.notion.so/PR-7934-fix-respect-node-resizable-property-in-vueNodes-mode-2e36d73d365081a0a92ade8b23ee3ce8) by [Unito](https://www.unito.io) --- src/composables/graph/useGraphNodeManager.ts | 2 ++ src/renderer/extensions/vueNodes/components/LGraphNode.vue | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/composables/graph/useGraphNodeManager.ts b/src/composables/graph/useGraphNodeManager.ts index a7755afa64..68e74c0b5e 100644 --- a/src/composables/graph/useGraphNodeManager.ts +++ b/src/composables/graph/useGraphNodeManager.ts @@ -75,6 +75,7 @@ export interface VueNodeData { hasErrors?: boolean inputs?: INodeInputSlot[] outputs?: INodeOutputSlot[] + resizable?: boolean shape?: number subgraphId?: string | null titleMode?: TitleMode @@ -325,6 +326,7 @@ export function useGraphNodeManager(graph: LGraph): GraphNodeManager { flags: node.flags ? { ...node.flags } : undefined, color: node.color || undefined, bgcolor: node.bgcolor || undefined, + resizable: node.resizable, shape: node.shape } } diff --git a/src/renderer/extensions/vueNodes/components/LGraphNode.vue b/src/renderer/extensions/vueNodes/components/LGraphNode.vue index 9de9672602..8f27c189e6 100644 --- a/src/renderer/extensions/vueNodes/components/LGraphNode.vue +++ b/src/renderer/extensions/vueNodes/components/LGraphNode.vue @@ -124,7 +124,7 @@
{ if (event.button !== 0) return if (!shouldHandleNodePointerEvents.value) return if (nodeData.flags?.pinned) return + if (nodeData.resizable === false) return startResize(event) }