fix(mobile): stabilize scroll-to-end control - #6232
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 |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using high effort and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit b69fef9. Configure here.
ApprovabilityVerdict: Approved 904a5b6 Straightforward UI behavior fix that stabilizes scroll-to-end button visibility using simple pure functions with comprehensive unit tests. Limited scope, self-contained, no runtime risk beyond the UI control it fixes. You can customize Macroscope's approvability policy. Learn more. |

Problem
Follow-up to #5986, which introduced the mobile scroll-to-end button.
The mobile scroll-to-end button could briefly appear while dragging at the actual end of a thread because its visibility followed the live-follow latch alone.
The button also overlapped messages and alerts shown above the composer, making both elements harder to see and use.
Fix
Track whether the feed is actually at the end separately from whether live follow is enabled. The button now appears only when live follow is paused and the feed is away from the end.
Raise the button slightly and keep it in a fixed position above composer messages and alerts so the elements no longer overlap.
Validation
vp test run apps/mobile/src/features/threads/thread-feed-live-follow.test.tsvp run --filter @t3tools/mobile typecheckBefore
WhatsApp.Video.2026-08-12.at.03.50.35.mp4
After
WhatsApp.Video.2026-08-12.at.03.50.41.mp4
Note
Low Risk
UI-only scroll affordance and positioning tweaks in the mobile thread feed, with no auth, data, or backend impact.
Overview
Prevents the mobile scroll-to-end button from briefly appearing when a drag starts while already at the live edge.
ThreadFeednow reports actual at-end state separately from the live-follow latch. The button shows only when follow is paused and the feed is away from the end, with thread-switch state reset viaresolveThreadFeedAtEndState.Also raises the floating control (
-top-11→-top-24) so it no longer overlaps composer messages and alerts.Reviewed by Cursor Bugbot for commit 904a5b6. Bugbot is set up for automated code reviews on this repo. Configure here.
Note
Fix scroll-to-end button visibility in thread feed to hide when feed is already at end
shouldShowThreadFeedScrollToEndto gate button visibility on both live follow being paused and the feed not being at the end — previously the button could appear even when already at the end.ThreadDetailScreenvia a newfeedAtEndStatekeyed by thread key, reset totrueon thread switch or anchor-based jumps.onAtEndChangecallback onThreadFeedto propagate scroll position changes to the parent.-top-11to-top-24, rendering it higher above the composer.Macroscope summarized 904a5b6.