Skip to content

feat: move split-view pane controls into title-bar tabs#676

Merged
Mng-dev-ai merged 1 commit into
mainfrom
feat/split-view-title-bar-tabs
Jun 26, 2026
Merged

feat: move split-view pane controls into title-bar tabs#676
Mng-dev-ai merged 1 commit into
mainfrom
feat/split-view-title-bar-tabs

Conversation

@Mng-dev-ai

Copy link
Copy Markdown
Owner

Summary

  • Move per-pane mosaic chrome (title, maximize, close) into a new SplitTabs component pinned in the title bar; the mosaic toolbar now renders empty.
  • Lift maximize/focus state into uiStore as maximizedTile / focusedTile, with a single focusTile action that also coarsens to activeAgentTile (primary vs secondary chat).
  • Derive both ephemeral pointers on read — a tile id that's no longer a leaf is treated as absent — and clear maximizedTile at the canonical removeTileFromMosaic event so a re-added tile id can't resurrect a stale maximize.
  • Reset all three pane pointers together on new chat, new secondary, and split close so the tab highlight, command targeting, and maximize never aim at a stale pane.
  • Show tabs on both chat and landing splits; SplitTabs is self-sourcing, so agentTitles/onCloseTile props are dropped from SplitViewContainer and MosaicSplitView.

Test plan

  • Split a chat into two panes — confirm both tabs render with correct titles in the title bar.
  • Click a tab and click into a pane — focus highlight follows the active pane in both cases.
  • Maximize a pane from its tab, then restore — split reappears with all panes' state intact.
  • Close a pane (secondary, primary-with-secondary swap, and a non-agent tile) — correct pane closes and routing updates.
  • Open a new chat / open and close a split — tab highlight and maximize reset, never pointing at the old chat.
  • Open a workspace file on the landing page to create an editor pane — tabs appear there too.
  • Verify tabs are hidden on mobile and for single-pane views.

Pane titles, maximize, and close move out of per-pane mosaic toolbars
into a new SplitTabs component pinned in the title bar. Maximize and
focus state are lifted into uiStore (maximizedTile / focusedTile) so the
tab highlight and the CSS maximize stay in sync, and reset together with
activeAgentTile whenever the active chat changes.
@Mng-dev-ai Mng-dev-ai marked this pull request as ready for review June 26, 2026 03:12
@Mng-dev-ai Mng-dev-ai merged commit eb41a98 into main Jun 26, 2026
2 checks passed
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.

1 participant