Description
Scrolling up to read history during an active LLM response causes the viewport to snap back to the bottom on every token. Reading older messages mid-response is effectively impossible.
This is a re-open of #4196, which was auto-closed after 60 days of no activity. Multiple users continued reporting it on that thread after the close (in Ghostty, xfce4-terminal, WezTerm). The cause is that the message scrollbox is set to `stickyScroll={true}` unconditionally, so any height change snaps back to bottom regardless of user scroll state.
OpenCode version
Latest `dev` (reproduced against the current branch I'm submitting a fix from)
Steps to reproduce
- Start a session and trigger a long LLM response.
- While the response is still streaming, press Page Up / scroll up.
- The viewport jumps back to the bottom on the next streamed token.
Operating System
macOS (also confirmed by other users on Linux + various terminals — see thread on #4196)
Terminal
Ghostty, WezTerm, xfce4-terminal (per #4196 commenters)
Note
PR #21343 had a fix for this and was auto-closed by the same cleanup that closed the issue. I've rebased it onto current `dev` and will link the new PR here.
Description
Scrolling up to read history during an active LLM response causes the viewport to snap back to the bottom on every token. Reading older messages mid-response is effectively impossible.
This is a re-open of #4196, which was auto-closed after 60 days of no activity. Multiple users continued reporting it on that thread after the close (in Ghostty, xfce4-terminal, WezTerm). The cause is that the message scrollbox is set to `stickyScroll={true}` unconditionally, so any height change snaps back to bottom regardless of user scroll state.
OpenCode version
Latest `dev` (reproduced against the current branch I'm submitting a fix from)
Steps to reproduce
Operating System
macOS (also confirmed by other users on Linux + various terminals — see thread on #4196)
Terminal
Ghostty, WezTerm, xfce4-terminal (per #4196 commenters)
Note
PR #21343 had a fix for this and was auto-closed by the same cleanup that closed the issue. I've rebased it onto current `dev` and will link the new PR here.