Skip to content

feat(tui): advertise chat scrolling in the footer - #72

Merged
Ooooze merged 4 commits into
mainfrom
feat/sidebar-left-scroll-hint
Aug 7, 2026
Merged

feat(tui): advertise chat scrolling in the footer#72
Ooooze merged 4 commits into
mainfrom
feat/sidebar-left-scroll-hint

Conversation

@sosidudku1

@sosidudku1 sosidudku1 commented Aug 7, 2026

Copy link
Copy Markdown
Collaborator

Chat scrolling existed but had no visible entry point anywhere in the UI. This PR adds a platform-aware chip to the footer hint strip: "fn+up/down" on macOS (the spelling Mac users actually recognise for PageUp) and "pgup/pgdn" everywhere else.

The chip shows up in two places:

  • the idle chat footer, where it takes ctrl+b's slot to stay within the six-chip row. Ctrl+B still works, it is just no longer advertised; /observe also opens the Observe panel
  • while a turn is streaming, riding along with the abort hint, which is exactly when scrolling back matters most

Tests: the scroll-key assertions use literal expected strings rather than re-deriving them from process.platform, so they can actually fail. Both platform spellings are exercised via a stubbed process.platform plus a fresh dynamic import, and a case asserts the pending-approval footer (y/n/esc) stays free of the chip.

The rail move that this PR originally carried was reverted after live testing; the rail stays on the right.

sosidudku1 and others added 4 commits August 7, 2026 14:55
…crolling in the footer

Two small UX changes decided by product:

- the sidebar renders on the LEFT of the chat column, matching the
  desktop chat apps users already know. Only the JSX order and the
  divider side change: focus order, width, and the 100-column
  visibility threshold are untouched
- the footer now advertises how to scroll the chat, which had no
  visible entry point: a platform-aware chip (fn+up on macOS, pgup
  elsewhere) in the idle chat footer and, more importantly, while a
  turn is streaming, which is exactly when scrolling back matters.
  The chip takes ctrl+b's slot to stay within the six-chip row;
  Observe remains reachable via /observe

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
fn+up/down on macOS, pgup/pgdn elsewhere, per product feedback.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The scroll-key test computed its expected value with the same
process.platform expression as the component, so it could never fail.
Both platform branches are now exercised via vi.resetModules plus a
stubbed process.platform and a fresh dynamic import, against literal
expected strings. Also add a case asserting the pending-approval
footer (y/n/esc) carries no scroll chip, and update three comments
and a test name that still said "right-rail" after the sidebar moved
to the left.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…ll hint

Product decision after live testing: the rail move to the left did not
hold up, so the layout goes back to exactly what it was before this
branch. The sidebar renders after the chat column again and its single
divider is back on its left edge. sidebar.tsx, tui-app.tsx, and
tui-app.test.tsx are now byte-identical to their pre-branch state; the
right-rail wording in docs, comments, and the smoke-test name is
restored.

The footer scroll chip (fn+up/down on macOS, pgup/pgdn elsewhere) and
all hotkey-hint tests stay: that part of the change shipped as planned.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@sosidudku1 sosidudku1 changed the title feat(tui): move the Sessions/Tasks rail to the left, advertise chat scrolling in the footer feat(tui): advertise chat scrolling in the footer Aug 7, 2026
@Ooooze
Ooooze merged commit 9ecefc1 into main Aug 7, 2026
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.

2 participants