Skip to content

web: auto-scroll streaming edits with sticky-bottom#12

Merged
cjus merged 1 commit into
mainfrom
carlos/web-sticky-scroll
May 10, 2026
Merged

web: auto-scroll streaming edits with sticky-bottom#12
cjus merged 1 commit into
mainfrom
carlos/web-sticky-scroll

Conversation

@cjus
Copy link
Copy Markdown
Owner

@cjus cjus commented May 10, 2026

Summary

  • Streaming editMessageText events in the web UI no longer require manual scrolling — the messages container now follows the bottom while the assistant generates output.
  • Sticky-bottom behavior: only auto-scrolls when the reader is within 64px of the bottom, so scrolling up to read earlier output isn't yanked back mid-stream.
  • New-message and user-send paths unchanged; they still scroll unconditionally.

Why

The web UI bridges the same content stream Telegram gets, but Telegram's transport hides the issue (push edits are invisible until you open the chat). On the web, an open viewport made the lack of auto-scroll obvious — every streaming edit grew the body off-screen.

Test plan

  • Open the web UI, send a long-running prompt (e.g. @write a 30-line poem), confirm the view follows the bottom as the response streams.
  • Mid-stream, scroll up by more than ~64px and confirm subsequent edits do not yank the view back down.
  • Scroll back to the bottom and confirm sticky resumes for later edits.
  • Send a brand-new message and confirm the view scrolls to it (existing behavior).

edits during streaming now scroll the messages container to the
bottom when the user is within 64px of it, matching standard chat
ux. scrolled-up readers stay put.
@cjus cjus merged commit b501830 into main May 10, 2026
1 check passed
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