Skip to content

Fix right-panel split removal and drop bounds - #2486

Open
brsbl wants to merge 1 commit into
mainfrom
bb/fix-split-tab-ux-thr_q8degf2y66
Open

Fix right-panel split removal and drop bounds#2486
brsbl wants to merge 1 commit into
mainfrom
bb/fix-split-tab-ux-thr_q8degf2y66

Conversation

@brsbl

@brsbl brsbl commented Aug 26, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Keep Info and Diff fixed.
  • Add a trailing pane-edge Remove split button only while the right panel has multiple panes.
  • Rehome every tab into the surviving pane without invoking the tab close callbacks.
  • Confine tab-split drag targets to the right panel; the web workspace no longer accepts right-panel tab drops.

Product decision

Info and Diff remain fixed. Making them closeable would change Cmd+W, Cmd+D, mobile, and persisted-layout behavior. This layer instead preserves the existing two-action model: the tab-pill × closes a closeable tab, while the pane-edge × removes a split without closing its tabs.

Before

The fixed Info and Diff panes had no remove-split affordance.

Before: fixed split without remove controls

After

Each split pane exposes a keyboard-focusable, trailing Remove split button; no control is present after the layout returns to one pane.

After: fixed split with trailing remove controls

Validation

  • Regression coverage: split-only visibility, accessible naming, native-button Enter/Space activation, tab preservation, focus/selection semantics, tab-close independence, and in-panel/out-of-panel drag targeting.
  • Real web flow: mouse and keyboard split creation/removal, closeable tab close behavior, right-panel tab reorder, right-panel split drop, and rejected main-content drop.
  • Real Safari 26.5.2 flow: keyboard-created fixed Info/Diff split, two focusable Remove split buttons, Enter removal, and both fixed tabs preserved after unsplitting.
  • pnpm exec turbo run test --filter=@bb/app --force -- --run ... — 9 files, 159 tests passed across the stack.
  • pnpm exec turbo run typecheck --filter=@bb/app — passed.
  • pnpm exec turbo run lint --filter=@bb/app — 0 errors; existing warnings only.

Closes #2450

BB-Thread-ID: thr_q8degf2y66

AGENT GENERATED: by GPT-5.6-Sol

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Split right-panel panes have no close action when their only tab is fixed

1 participant