Repository navigation
feat(ui): view tab strip with keep-alive and open-in-tab links (RIG-4444) - #1755
Merged
trunk-io[bot] merged 7 commits intoOct 7, 2026
Merged
trunk-io[bot] merged 7 commits into
trunk-io[bot] merged 7 commits into
Conversation
…444) Replaces the topbar view nav with a tab strip over the window layout. Every view stays mounted while hidden, focus moves into the shown view first, and Mod+click or middle-click on sidebar and board links opens a new tab. Co-authored-by: Matt Wilkinson <matt@rigel.build>
…4444) Local captures under the pinned dev shell per DL-399 (#1644): tab-strip is a new shot, and agent changes only in the topbar row. Co-authored-by: Matt Wilkinson <matt@rigel.build>
This was referenced Oct 5, 2026
Merged
|
Compass engineering docs preview: https://compass-ui-rig-4444-tab-stri.compass-eng-docs.pages.dev Deployed from |
…b cap (RIG-4444) Co-authored-by: Matt Wilkinson <matt@rigel.build>
…p (RIG-4444) Co-authored-by: Matt Wilkinson <matt@rigel.build>
…hile focused (RIG-4444) Co-authored-by: Matt Wilkinson <matt@rigel.build> test(ui): type the focused-tab assertion (RIG-4444) Co-authored-by: Matt Wilkinson <matt@rigel.build>
Co-authored-by: Matt Wilkinson <matt@rigel.build>
… (RIG-4444) Co-authored-by: Matt Wilkinson <matt@rigel.build>
rigel-mintaka
marked this pull request as ready for review
October 6, 2026 04:43
This was referenced Oct 6, 2026
mattwilkinsonn
added this pull request to stack #1838
October 7, 2026 00:43
mattwilkinsonn
approved these changes
Oct 7, 2026
|
This pull request was merged into |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR is part of a stack containing 7 PRs:
mainTabs T4 of
docs/designs/ui/compass-in-window-tabs/design.md§T4 (RIG-4444), stacked on T3 #1743.components/TabStrip.tsx+design/components/tab-strip.css:.cx-tab-strip[role=tablist]overstore.layout(). It dispatches onlyLayoutActions:focusTab,close(the close button or Delete), andmove(drag).createRovingGroupin the topbar zone. Agent tabs lead with aStateDot.route-title.ts:routeTitle(§A3) gives tab labels anddocument.title.App.tsx, keep-alive (§A4):nav.view-tabs.[role=tabpanel], which wraps itsViewHost.hiddenand stay mounted. Focus moves into the shown view, to its last-focused element, before the old view hides..view-paneltakes over sizing from.main, so view bodies don't move.open-link.ts(OQ-2): a plain click navigates in place, as before.Mod+click and middle-click dispatchopen. This is wired on the sidebar tree, channel, topic and nav rows, the Bridge swimlane gutters, and the right-sidebar "Open agent" buttons.board.*/list.*commands only while its view is focused. A cleanup removes only the registration it added. This fixes the case where closing one of two Bridge tabs dropped the other tab's commands.store.ts: exposesviewScopes. AddschannelPathandtopicPath, so the in-place and new-tab paths are the same.Readings:
Two topbar Bridge-tab tooltip tests were deleted from
App.test.tsx. §A7 removes the pinned Bridge tab, and the sidebar Bridge link keeps its own chord-tooltip test.Review fixes (de33726 → 624e1da, four rounds, now clean)
tabindex=-1).role=statusregion, with a repeat counter, Dismiss and a 5s timeout. The timeout pauses while the chip has focus or hover and keeps pausing through a window blur. When the chip unmounts with focus inside it, focus returns to the active tab.Close buttons stay in the tablist; it is the usual closable-tabs pattern, and each has a label.
Visual baselines
These shots are local captures under the pinned dev shell, per DL-399 (#1644). The baseline commit depends on #1644 merging first.
tab-strip: a new shot.agent: a refresh. Only the topbar row changes, because one agent tab replaces Bridge + agent. I checkedagent-diff.png: no body pixels moved.All other baselines are unchanged.
Tests
TabStrip.test.tsx(6),tab-keep-alive.test.tsx(5, including two Bridge tabs where one closes), and a 6-caseLeftSidebaropen-modes block. All were red first.e2e/tab-strip.spec.ts: a draft survives switching tabs and back, and both tabs restore after a reload.moon run compass-ui:test: 1270 pass, 0 fail. Typecheck, stylelint and biome are clean.visual-smoke(13) +dev-boot+tab-stripall pass.Spec-impact: none.
Ledger-impact: none
Co-authored-by: Matt Wilkinson matt@rigel.build