feat(ui): ctrl-o expands the live streaming card to full tail (#335, #337)#359
Merged
feat(ui): ctrl-o expands the live streaming card to full tail (#335, #337)#359
Conversation
…337) Pain point @dacec354 raised twice: while the model writes a long plan or todo list, the streaming card only shows the last 4 lines, so the content scrolls past before you can read it. And once a long reply settles, you may want to fold it back down — but `<Static>` already flushed the bytes to scrollback so that half can't be unwound. This collapses both requests into one keystroke: `ctrl-o` toggles "expanded" mode on the live streaming card. Expanded shows the last 60 visual lines (capped so the card can't swallow the whole viewport) plus a `⋯ N earlier lines above` hint when content overflows. Collapses back to the 4-line preview. Auto-resets to collapsed at the end of every turn so each new reply starts compact. The same `(LIVE)` constraint covers #337's fold-toggle ask: only not-yet-committed cards are addressable. Settled cards live in Ink's `<Static>` which writes terminal scrollback once, no take-backs. The `expanded ⌃o` / `preview ⌃o` pill in the card header advertises the keybind so users discover it without reading docs.
This was referenced May 7, 2026
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.
Closes #335
Closes #337
Summary
@dacec354 raised two related asks:
spacecan pause it #337 (second half) — wants a shortcut to fold the last message.Single keystroke covers both:
ctrl-otoggles "expanded" mode on the live streaming card.⋯ N earlier lines abovehint when it overflows.expanded ⌃o/preview ⌃opill in the card header advertises the keybind.The fold-toggle half of #337 is solved by the same mechanism (you can fold long content back to 4 lines while it's still live). Settled cards live in Ink's
<Static>which already wrote the bytes to terminal scrollback — no take-backs there. The pre-existingspacepause for the undo banner (PR #356) was the first half of #337; together they close it.The first half of #337 (
spacepauses 5s undo) shipped in PR #356. This PR closes both #335 and #337 by addressing the remaining ask.Test plan
npx tsc --noEmitcleannpx vitest run— 165/165 test files, 2425 tests passctrl-o, confirm tail expands and pill flips; press again to collapse