fix(tui): align sticky panels, scrollbar, and chat on one body column - #29
Merged
Conversation
All body text now starts on the shared column body.x + side_pad: the sticky todo panel and subagent strip take a `side` indent (backgrounds stay full-width, hit targets unchanged), item rows sit at side + 2, and the header progress track is clamped to the same right margin. A new layout::PANEL_GAP row separates the sticky panels from the transcript, dropped on tiny bodies so the transcript keeps its 3-row minimum. The chat scrollbar now reserves SCROLLBAR_GAP + SCROLLBAR_GUTTER so a blank column always sits between text and the bar. Home keeps the plain side_pad since it never renders the sidebar rail. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
mrnasil
force-pushed
the
tui/spacing-alignment
branch
from
August 26, 2026 14:17
fa3b39d to
59d12f3
Compare
The rebrand changed the 16-byte Sec-WebSocket-Key to `whycodes-cdp-key!!` but the mock-server assertion still expected the old `whycode-cdp-key!!` base64. Coverage CI runs this test and failed on the leftover.
Collaborator
|
Retrigger CI after rebase + CDP handshake-key test fix. |
mrnasil
force-pushed
the
tui/spacing-alignment
branch
from
August 26, 2026 16:01
459d65e to
34d5a6c
Compare
mrnasil
added a commit
that referenced
this pull request
Aug 26, 2026
Merge of #29 did not enqueue the main push workflow; this empty commit retriggers CI, including the CDP handshake-key assertion that was failing on main.
mrnasil
added a commit
that referenced
this pull request
Aug 29, 2026
fix(tui): align sticky panels, scrollbar, and chat on one body column
mrnasil
added a commit
that referenced
this pull request
Aug 29, 2026
Merge of #29 did not enqueue the main push workflow; this empty commit retriggers CI, including the CDP handshake-key assertion that was failing on main.
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.
Summary
body.x + side_pad: the sticky todo panel and subagent strip take asideindent (full-width backgrounds and hit targets unchanged), todo item rows sit atside + 2, and the header progress track is clamped to the same right margin.layout::PANEL_GAPblank row between the sticky panels and the transcript, dropped on tiny bodies so the transcript keeps its 3-row minimum.SCROLLBAR_GAP + SCROLLBAR_GUTTER, so a blank column always sits between the text and the bar; the gap column is cleared every frame.side_padsince it never renders the sidebar rail (a phantom rail could previously flip the pad at ~72–84 col widths).Verification
PM █). Before: header at column 1 and the bar flush against text.cargo test -p whycode-tui: 651 lib + 5 integration tests pass, including new regression tests for panel/stripsideindentation, the panel gap row, scrollbar gap column, and tiny-body gap suppression.cargo fmt --all --check,cargo clippy -p whycode-tui --all-targets -- -D warnings, panic/swallowed-error/dependency-boundary ratchets, andcargo build -p whycode-cliall green.🤖 Generated with Claude Code