fix(mobile): skip thread tail jumps that retrigger iOS bounce - #6749
Open
ileonhardt wants to merge 1 commit into
Open
fix(mobile): skip thread tail jumps that retrigger iOS bounce#6749ileonhardt wants to merge 1 commit into
ileonhardt wants to merge 1 commit into
Conversation
On short threads, follow-tail kept calling jumpTo(maxScrollExtent) while item positions still reported the tail as not visible. On iOS bouncing physics that restarts rubber-banding even when extentAfter is already 0, which is the header jank on iPhone 16 Pro. Stop the correction loop once the scroll position is at the end, and do not jump or animate when already there. Related: block#5911 (stale, unmerged), block#6399 (Latest hide only). Co-authored-by: Nacho <ignacio@kyanhealth.com> Signed-off-by: Nacho <ignacio@kyanhealth.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
jumpTo(maxScrollExtent)/animateTowhenextentAfteris already ~0.Short threads on iPhone rubber-band under the Thread header when follow-tail keeps poking iOS bouncing physics at an offset that is already the end. Screen recording from an iPhone 16 Pro showed ~60px, ~3Hz oscillation with no finger on the glass.
Why this is not already on a store build
main(format + 1000-line cap). It skipped animated tail follow when the tail item was already visible; it does not land thisextentAfterno-op.mainand inmobile-v0.14.0-rc.*— hides Latest / liquid-glass Back. It does not stop the jump loop.Validation
Exact pushed head:
e9fa5ad47494a586bba74c1407351c731dfa452cjust mobile-check(dart format +flutter analyze: no issues)just mobile-test— 1808/1808 passedjust file-size-checkgit diff --checkNot verified on a physical iPhone 16 Pro (no device here). The new widget test covers a 1-reply thread after idle layout + inset jitter.