From a3da48f689d2b6a106b4f3108218a2870a9f2833 Mon Sep 17 00:00:00 2001 From: newraina Date: Thu, 1 Jan 2026 15:51:23 +0800 Subject: [PATCH] fix: prevent context menu position override on first click Initialize lastScale/lastOffset* to current canvas transform values when opening menu, preventing updateMenuPosition from overwriting PrimeVue's flip-adjusted position on the first RAF tick. --- src/components/graph/NodeContextMenu.vue | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/components/graph/NodeContextMenu.vue b/src/components/graph/NodeContextMenu.vue index 8382a43ece1..97ee1b9c99e 100644 --- a/src/components/graph/NodeContextMenu.vue +++ b/src/components/graph/NodeContextMenu.vue @@ -220,6 +220,12 @@ function show(event: MouseEvent) { y: screenY / scale - offset[1] } + // Initialize last* values to current transform to prevent updateMenuPosition + // from overwriting PrimeVue's flip-adjusted position on the first RAF tick + lastScale = scale + lastOffsetX = offset[0] + lastOffsetY = offset[1] + isOpen.value = true contextMenu.value?.show(event) }