Skip to content

feat(mobile-web): add scroll-to-bottom button and dev mode#828

Merged
bobleer merged 1 commit into
GCWing:mainfrom
jarvis24young:feat/mobile-scroll-to-bottom
May 22, 2026
Merged

feat(mobile-web): add scroll-to-bottom button and dev mode#828
bobleer merged 1 commit into
GCWing:mainfrom
jarvis24young:feat/mobile-scroll-to-bottom

Conversation

@jarvis24young
Copy link
Copy Markdown
Contributor

Summary

  • Scroll-to-bottom button: A floating button appears when the user scrolls up from the message list on mobile. Tapping it smoothly scrolls back to the latest messages.
  • Flicker prevention: programmaticScrollRef guard suppresses the button during auto-scroll (new messages, streaming), with ref-based change detection to avoid unnecessary state updates.
  • Dev mode: Adding ?dev to the URL seeds mock data and bypasses pairing, enabling offline UI development without a desktop instance.
  • Accessibility: focus-visible outline, prefers-reduced-motion support, forced-colors high-contrast mode, aria-hidden on decorative SVG.

Test plan

  • Scroll up in a chat page → scroll-to-bottom button appears
  • Tap button → smooth scroll to bottom, button hides
  • Auto-scroll (new messages, streaming) does not trigger button flicker
  • ?dev URL parameter bypasses pairing and loads mock data
  • Accessibility: keyboard focus ring, reduced-motion, forced-colors

A floating button appears when the user scrolls up from the message list.
Tapping it smoothly scrolls back to the latest messages. Uses
programmaticScrollRef guard and ref-based change detection to suppress
button flicker during auto-scroll (new messages, streaming updates).
@jarvis24young jarvis24young force-pushed the feat/mobile-scroll-to-bottom branch from 4542cb6 to d2613e7 Compare May 22, 2026 01:18
@GCWing GCWing requested a review from bobleer May 22, 2026 02:06
@bobleer bobleer merged commit f5856ec into GCWing:main May 22, 2026
4 checks 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.

2 participants