feat(mobile): add scroll-to-end button - #5915
Conversation
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
fbc46a9 to
e653830
Compare
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using high effort and found 2 potential issues.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Want fixes drafted automatically? Bugbot Autofix can create code changes for findings. A team admin can enable Autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit bf2c81d. Configure here.
ApprovabilityVerdict: Needs human review This PR adds a new user-facing scroll-to-end button feature on mobile. New features introducing new UI behavior and interactions warrant human review. Additionally, two unresolved Cursor findings identify potential bugs with button flashing on thread switch and scroll-to-end not re-arming live follow. No code changes detected at You can customize Macroscope's approvability policy. Learn more. |
bf2c81d to
dd36d0d
Compare

Closes #5434.
Mobile threads do not provide a quick way to return to the latest activity after scrolling through a long conversation.
This adds a floating scroll-to-end button to the shared mobile thread view. It uses the feed's existing end-follow state, calls the existing keyboard-aware scroll path, and disappears once the latest activity is visible again. Touch-down activation keeps the control responsive while the feed is moving under scroll momentum.
Testing
Video
WhatsApp.Video.2026-08-10.at.05.08.19.mp4
Note
Add scroll-to-end button to mobile thread detail screen
ControlPillbutton above the composer in ThreadDetailScreen.tsx that appears when the feed is not following the end of the message list.scrollMessageToEnd.onEndFollowEnabledChangecallback prop to notify the parent when end-follow state changes.activateOnPressInandclassNameprops;activateOnPressInfiresonPresson press-in and suppresses the subsequent release event to avoid double-invocation.Macroscope summarized 205c7fd.
Note
Low Risk
Localized mobile UI and scroll behavior reusing existing keyboard-aware scroll APIs; no auth, data, or API changes.
Overview
Adds a floating scroll-to-end control on mobile when the user has scrolled away from the latest messages. Visibility tracks the feed’s existing end-follow latch:
ThreadFeednotifies the parent viaonEndFollowEnabledChange, andThreadDetailScreenshows the button when follow is off and content is ready.Tapping runs the existing
scrollMessageToEndpath (with haptics) so the list returns to the live edge and follow re-arms when the viewport is back at the end. Thread switches reset follow to enabled.ControlPillgains optionalactivateOnPressIn(fires on touch-down and skips duplicateonPresson release) andclassNamefor styling the card-like down-arrow pill above the composer.User docs in
docs/user/threads.mddescribe the control briefly.Reviewed by Cursor Bugbot for commit 205c7fd. Bugbot is set up for automated code reviews on this repo. Configure here.