feat(renderer): full-width shell topbar; retire per-view topbars and review dashboard#195
Merged
Merged
Conversation
…review dashboard The shell now owns a single full-width ShellTopbar (status pill, history arrows, kanban/inspector toggles) with the sidebar pinned below it, replacing the per-view Topbar/DashboardTopbar pair; board pages get a lightweight DashboardSubhead. The standalone review dashboard and its /review(s) routes are removed — review state lives on the PR board. Approved divergence from the AO reference (full-height sidebar) recorded in DESIGN.md; macOS traffic lights re-centered on the 56px header row. Also hardens the session view around rrp v4: - inspector defaultSize re-derived per panel mount (orchestrator → worker navigation kept SessionView mounted while the panel remounted), and the imperative expand/collapse effect no longer races panel registration - onResize writes gated on data-separator="active" so flex-grow transition frames can't bounce the store (dead-looking toggle button) - findProjectOrchestrator skips terminated orchestrators so the topbar offers Spawn instead of attaching to a dead zellij session - inspector resize handle gets a visible 1px divider at rest - playwright specs for history arrows + inspector toggle; test-results/ gitignored Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Contributor
There was a problem hiding this comment.
yyovil has reached the 50-review limit for trial accounts. To continue receiving code reviews, upgrade your plan.
Contributor
There was a problem hiding this comment.
yyovil has reached the 50-review limit for trial accounts. To continue receiving code reviews, upgrade your plan.
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.
What
The shell now owns a single full-width
ShellTopbar(project crumb, status pill, history arrows, kanban/inspector toggles) with the sidebar pinned below it (top-14), replacing the per-viewTopbar/DashboardTopbarpair. Board pages get a lightweightDashboardSubhead. The standalone review dashboard and its/review(s)routes are removed — review state lives on the PR board.This is an approved divergence from the AO reference (which keeps a full-height sidebar with the header beside it), recorded in
DESIGN.md: the sidebar's right border now stops at the header instead of cutting through the macOS traffic-light strip. Traffic lights are re-centered on the 56px header row (trafficLightPositiony=20).Session-view hardening (rrp v4)
defaultSizeis re-derived per panel mount: navigating orchestrator → worker keepsSessionViewmounted while the inspector panel remounts, and the old once-per-viewuseStateleft the new panel desynced from the store. The imperative expand/collapse effect also dropshasInspectorfrom its deps so it can't race rrp's panel registration ("Panel constraints not found for Panel inspector", which unwound the route). Supersedes fix(renderer): stabilize onResize ref to prevent rrp constraint race #193, which wrappedonResizeinuseCallback— that narrower fix doesn't cover the mount-commit race or the feedback loop below.onResizewrites back to the store only while the separator is actively dragged (data-separator="active"): rrp derives sizes from observed DOM layout, so the flex-grow collapse animation firedonResizewith transient sizes, turning the imperative collapse into a feedback loop (the toggle button looked dead).findProjectOrchestratornow skips terminated orchestrators, so the topbar offers Spawn instead of navigating into a dead zellij session's instant "[process exited]".test-results/gitignored.The notification-stub removal from #190 is carried into
ShellTopbar(no dead bell button).Testing
tsc --noEmit+ vitest suite green (120 tests)🤖 Generated with Claude Code