From 87d6d18c5734c6ab594aba8c954d2cdff040b11c Mon Sep 17 00:00:00 2001 From: AustinMroz Date: Wed, 19 Nov 2025 21:39:38 -0800 Subject: [PATCH] Fix linear mode with vue (#6769) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Previously, entering linear mode from vue mode would cause all nodes to be set to position 0. This is fixed by ignoring resize updates with a contentRect of all 0s ┆Issue is synchronized with this [Notion page](https://www.notion.so/PR-6769-Fix-linear-mode-with-vue-2b16d73d36508188964bcfb8b465dcb1) by [Unito](https://www.unito.io) --- .../extensions/vueNodes/composables/useVueNodeResizeTracking.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/renderer/extensions/vueNodes/composables/useVueNodeResizeTracking.ts b/src/renderer/extensions/vueNodes/composables/useVueNodeResizeTracking.ts index 9d28b5333..9b18e1582 100644 --- a/src/renderer/extensions/vueNodes/composables/useVueNodeResizeTracking.ts +++ b/src/renderer/extensions/vueNodes/composables/useVueNodeResizeTracking.ts @@ -14,6 +14,7 @@ import type { MaybeRefOrGetter } from 'vue' import { useSharedCanvasPositionConversion } from '@/composables/element/useCanvasPositionConversion' import { LiteGraph } from '@/lib/litegraph/src/litegraph' import { layoutStore } from '@/renderer/core/layout/store/layoutStore' +import { useCanvasStore } from '@/renderer/core/canvas/canvasStore' import type { Bounds, NodeId } from '@/renderer/core/layout/types' import { LayoutSource } from '@/renderer/core/layout/types' @@ -60,6 +61,7 @@ const trackingConfigs: Map = new Map([ // Single ResizeObserver instance for all Vue elements const resizeObserver = new ResizeObserver((entries) => { + if (useCanvasStore().linearMode) return // Canvas is ready when this code runs; no defensive guards needed. const conv = useSharedCanvasPositionConversion() // Group updates by type, then flush via each config's handler