Skip to content

Handle pointercancel and scope disposal in Vue node resize #7323

@coderabbitai

Description

@coderabbitai

Description

The resize implementation in useNodeResize currently sets layoutStore.isResizingVueNodes to true during resize operations and resets it in the pointerup handler. However, if the pointer sequence is interrupted (e.g., OS gesture, window blur, device-specific cancel) and pointerup never fires, the flag can remain true, permanently blocking drag activation until reload.

Tasks

  • Add handling for pointercancel event to ensure cleanup happens even when pointer sequences are interrupted
  • Add onScopeDispose hook to defensively reset the isResizingVueNodes flag if the component is unmounted mid-resize
  • Ensure releasePointerCapture is wrapped in try-catch to handle cases where capture was already released

Context

Related PR: #7064
Original discussion: #7064 (comment)
Requested by: @christian-byrne

┆Issue is synchronized with this Notion page by Unito

Metadata

Metadata

Labels

area:nodesarea:uiGeneral user interface and experience improvementsarea:vue-migrationin progressIssue is currently being worked on by the team

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions