Skip to content

ui: keep every full-frame screen on the alternate buffer - #119

Merged
hbrooks merged 2 commits into
mainfrom
alt-screen-panes
Aug 20, 2026
Merged

ui: keep every full-frame screen on the alternate buffer#119
hbrooks merged 2 commits into
mainfrom
alt-screen-panes

Conversation

@hbrooks

@hbrooks hbrooks commented Aug 20, 2026

Copy link
Copy Markdown
Member

Important

Moves all full-frame screens (new-session composer, loading placeholder, session picker) to the alternate buffer, keeping only the live chat on the primary buffer to prevent stale copies from accumulating in scrollback on every repaint.

  • useAltScreen now returns a boolean indicating when the buffer hop is complete (was void), allowing components to wait until it's safe to render into the terminal's real scrollback.
  • The chat mounts only once the alt-screen hop has settled on the primary buffer; its <Static> transcript rows are never printed while the alt screen is active and destroyed with it.
  • Non-chat screens stay on the alternate buffer and never paint into scrollback, eliminating the stale-copy accumulation problem.
  • Improved text wrapping in the fact display using wrap-ansi to trim whitespace at wrap points.
  • Restructured the input prompt layout so wrapped prompt lines align under the first typed character instead of under the glyph.

This description was created by Ellipsis for d1db75b. It will automatically update as commits are pushed.

Only a live chat runs on the primary buffer now. The new-session composer
and the loading placeholder painted full-height frames onto the primary
buffer, pushing stale copies of themselves into scrollback on every
repaint. useAltScreen also reports when the buffer hop has settled, and
the chat mounts only after the terminal is back on the primary buffer,
so its Static transcript rows are never printed onto (and destroyed
with) the alt screen.
@hbrooks
hbrooks merged commit 9e57105 into main Aug 20, 2026
1 check passed

@ellipsis-dev ellipsis-dev Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Important

Looks good to me! 👍

Reviewed d1db75b in 13 minutes, 56 seconds.
  • Reviewed 2 commits with 169 lines of code in 2 files
  • Ran 1 review agent producing 0 comments where 0 were posted
  • This pipeline runs no gatekeeper, so findings are posted as written.
  • View full details on ellipsis.dev

This review was created by Ellipsis. You can tag @ellipsis in this pull request.

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.

1 participant