mirror of
https://github.com/stablyai/orca.git
synced 2026-10-19 16:03:26 +00:00
Fix stale closure in kanban area-selection and card-drag handlers
- Refresh area selection measurements on pointer up to avoid stale cache - Read worktree IDs ref directly in drag handler to close stale closure
This commit is contained in:
@@ -249,6 +249,7 @@ export function useWorkspaceKanbanAreaSelection({
|
||||
window.cancelAnimationFrame(state.scrollFrameId)
|
||||
state.scrollFrameId = null
|
||||
}
|
||||
refreshAreaSelectionMeasurements()
|
||||
flushAreaSelectionDrag()
|
||||
if (shouldCommitWorkspaceKanbanAreaSelection(state)) {
|
||||
updateSelectionForAreaRef.current(
|
||||
@@ -262,7 +263,7 @@ export function useWorkspaceKanbanAreaSelection({
|
||||
dragRef.current = null
|
||||
setOverlayRect(overlayRef.current, null)
|
||||
},
|
||||
[flushAreaSelectionDrag, overlayRef]
|
||||
[flushAreaSelectionDrag, overlayRef, refreshAreaSelectionMeasurements]
|
||||
)
|
||||
|
||||
const handleAreaSelectionPointerDown = useCallback(
|
||||
|
||||
@@ -298,10 +298,9 @@ export function useWorkspaceKanbanCardPointerDrag({
|
||||
return
|
||||
}
|
||||
|
||||
const selectedIds = selectedWorktreeIdsRef.current
|
||||
const selectedWorktrees = selectedWorktreesRef.current
|
||||
const worktreeIds =
|
||||
selectedIds.has(worktreeId) && selectedWorktrees.length > 1
|
||||
selectedWorktreeIdsRef.current.has(worktreeId) && selectedWorktrees.length > 1
|
||||
? selectedWorktrees.map((worktree) => worktree.id)
|
||||
: [worktreeId]
|
||||
dragRef.current = {
|
||||
|
||||
Reference in New Issue
Block a user