From dab6b37e855fbbb55cf339dda7509bd02edeb057 Mon Sep 17 00:00:00 2001 From: Neil <4138956+nwparker@users.noreply.github.com> Date: Sun, 9 Aug 2026 19:27:48 -0700 Subject: [PATCH] fix(sidebar): make nested workspace drops reliable --- .../src/components/sidebar/WorktreeCard.tsx | 26 +- .../sidebar/WorktreeCardAgents.test.tsx | 14 +- .../components/sidebar/WorktreeCardAgents.tsx | 33 +- .../src/components/sidebar/WorktreeList.tsx | 167 ++++++-- ...orkspace-board-drag-preview-intent.test.ts | 44 ++ .../workspace-board-drag-preview-intent.ts | 13 + .../worktree-lineage-drag-drop.test.ts | 265 ++++++++++-- .../sidebar/worktree-lineage-drag-drop.ts | 270 ++++++++++++- .../worktree-lineage-static-hit-test.test.ts | 380 ++++++++++++++++++ .../worktree-sidebar-drag-autoscroll.test.ts | 59 +++ .../worktree-sidebar-drag-autoscroll.ts | 58 +-- .../worktree-sidebar-drop-preview.test.ts | 46 +++ .../sidebar/worktree-sidebar-drop-preview.ts | 10 +- .../worktree-sidebar-pointer-drag-dom.test.ts | 37 +- .../worktree-sidebar-pointer-drag-dom.ts | 28 +- .../worktree-sidebar-static-geometry.ts | 56 +++ tests/e2e/worktree-lineage-state.ts | 96 +++++ tests/e2e/worktree-lineage.spec.ts | 149 ++++++- 18 files changed, 1619 insertions(+), 132 deletions(-) create mode 100644 src/renderer/src/components/sidebar/workspace-board-drag-preview-intent.test.ts create mode 100644 src/renderer/src/components/sidebar/workspace-board-drag-preview-intent.ts create mode 100644 src/renderer/src/components/sidebar/worktree-lineage-static-hit-test.test.ts create mode 100644 src/renderer/src/components/sidebar/worktree-sidebar-static-geometry.ts diff --git a/src/renderer/src/components/sidebar/WorktreeCard.tsx b/src/renderer/src/components/sidebar/WorktreeCard.tsx index b53a03ec833..c97e5e0fa44 100644 --- a/src/renderer/src/components/sidebar/WorktreeCard.tsx +++ b/src/renderer/src/components/sidebar/WorktreeCard.tsx @@ -1422,7 +1422,12 @@ const WorktreeCard = React.memo(function WorktreeCard({ )} > {/* Header row: Title */} -