From 30d4b8f600484a0e427ff0c5dc20cc9344cf248d Mon Sep 17 00:00:00 2001 From: Comfy Org PR Bot Date: Wed, 19 Nov 2025 04:10:36 +0900 Subject: [PATCH] [backport core/1.30] fix minimap navigation on touch devices (#6736) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Backport of #6580 to `core/1.30` Automatically created by backport workflow. ┆Issue is synchronized with this [Notion page](https://www.notion.so/PR-6736-backport-core-1-30-fix-minimap-navigation-on-touch-devices-2af6d73d3650813e80a5f5d3fa6b7269) by [Unito](https://www.unito.io) Co-authored-by: Christian Byrne Co-authored-by: Alexander Brown --- src/renderer/extensions/minimap/MiniMap.vue | 4 +++- .../minimap/composables/useMinimap.ts | 1 + .../composables/useMinimapInteraction.ts | 20 ++++++++++++++++++- 3 files changed, 23 insertions(+), 2 deletions(-) diff --git a/src/renderer/extensions/minimap/MiniMap.vue b/src/renderer/extensions/minimap/MiniMap.vue index b33ddb3ad..e61085350 100644 --- a/src/renderer/extensions/minimap/MiniMap.vue +++ b/src/renderer/extensions/minimap/MiniMap.vue @@ -61,11 +61,12 @@
@@ -105,6 +106,7 @@ const { handlePointerDown, handlePointerMove, handlePointerUp, + handlePointerCancel, handleWheel, setMinimapRef } = useMinimap() diff --git a/src/renderer/extensions/minimap/composables/useMinimap.ts b/src/renderer/extensions/minimap/composables/useMinimap.ts index 343a5ad55..9d572f133 100644 --- a/src/renderer/extensions/minimap/composables/useMinimap.ts +++ b/src/renderer/extensions/minimap/composables/useMinimap.ts @@ -244,6 +244,7 @@ export function useMinimap() { handlePointerDown: interaction.handlePointerDown, handlePointerMove: interaction.handlePointerMove, handlePointerUp: interaction.handlePointerUp, + handlePointerCancel: interaction.handlePointerCancel, handleWheel: interaction.handleWheel, setMinimapRef, updateOption diff --git a/src/renderer/extensions/minimap/composables/useMinimapInteraction.ts b/src/renderer/extensions/minimap/composables/useMinimapInteraction.ts index f978cee94..fc9cab1e6 100644 --- a/src/renderer/extensions/minimap/composables/useMinimapInteraction.ts +++ b/src/renderer/extensions/minimap/composables/useMinimapInteraction.ts @@ -35,6 +35,10 @@ export function useMinimapInteraction( const handlePointerDown = (e: PointerEvent) => { isDragging.value = true updateContainerRect() + const target = e.currentTarget + if (target instanceof HTMLElement) { + target.setPointerCapture(e.pointerId) + } handlePointerMove(e) } @@ -53,10 +57,23 @@ export function useMinimapInteraction( centerViewOn(worldX, worldY) } - const handlePointerUp = () => { + const releasePointer = (e?: PointerEvent) => { isDragging.value = false + if (!e) return + + const target = e.currentTarget + if ( + target instanceof HTMLElement && + target.hasPointerCapture(e.pointerId) + ) { + target.releasePointerCapture(e.pointerId) + } } + const handlePointerUp = releasePointer + + const handlePointerCancel = releasePointer + const handleWheel = (e: WheelEvent) => { e.preventDefault() @@ -102,6 +119,7 @@ export function useMinimapInteraction( handlePointerDown, handlePointerMove, handlePointerUp, + handlePointerCancel, handleWheel } }