Repository navigation
Conversation
… cards (pingdotgg#15506) Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
…5467) Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…dotgg#15468) Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…15475) Co-authored-by: Bil0000 <62337003+Bil0000@users.noreply.github.com> Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…ngdotgg#15847) Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…ngdotgg#16290) Co-authored-by: spoukyii <61633921+spoukyii@users.noreply.github.com> Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…ices (pingdotgg#16631) Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…tgg#16762) Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…s of untracked files (pingdotgg#16771) Co-authored-by: Braulio Oliveira <brauliobo@gmail.com> Co-authored-by: Claude Sonnet 5.5 <noreply@anthropic.com>
…eep (pingdotgg#16760) Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…ingdotgg#16761) Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…ingdotgg#16782) Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…turn settles (pingdotgg#16878) Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…nt is idle (pingdotgg#16486) Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Co-authored-by: Julius Marminge <51714798+juliusmarminge@users.noreply.github.com>
…ingdotgg#16287) Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
… connect (pingdotgg#16887) Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…ntrackedFiles=no (pingdotgg#15834) Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…nd (pingdotgg#14917) Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…ingdotgg#16895) Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…ady holds (pingdotgg#16897) Co-authored-by: saphid <saphid@users.noreply.github.com> Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…legacy (pingdotgg#16903) Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
… phone's orientation (pingdotgg#16885) Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…16908) Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…ingdotgg#16676) Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Owner
Author
|
Evidence uploaded and verified in pingdotgg#16930. Closing this temporary draft; the upstream PR is the implementation proposal. |
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.
Problem
Switching back to a thread can leave its viewport above the newest message. The saved-position restore uses estimated row heights, and the return button can remain hidden after those heights change.
Ordinary thread entry should open at the latest message, including threads previously left partway up. Scrolling up while a thread is open should still hold the reader's position.
Change
Initialize a fresh LegendList for each requested/displayed thread pair and use its native
initialScrollAtEndmeasurement handling. Remove the custom saved-row restoration loop and root scroll-position cache. Keep disclosure expansion and work-log state separate from entry position.Reset following before the new thread paints and attach navigation listeners when its scroll node mounts. Explicit citation navigation keeps its target; upward navigation cancels native initialization and end following.
Mobile already uses a fresh keyed list with
initialScrollAtEnd. This gives web and desktop the same entry policy and the bottom-on-entry behavior requested in the comparison with other ADE/chat apps. Native mobile is unchanged; packaged desktop and other apps have not been independently tested here.Scope and approval
Replaces pingdotgg#14212 with the revised bottom-on-entry requirement. References pingdotgg#5903 (thread viewport stranding) and pingdotgg#12372 (missing recovery button), which remain open for triage; this does not claim to resolve their other causes. Maintainer triage of #12372 confirms that failure, but its suggested fix does not establish approval of every entry-policy choice here.
Related pingdotgg#15859 changes recovery-button and send-time anchor behavior; this PR addresses thread entry. pingdotgg#14916 preserves saved reading positions while fixing stale saved-follow intent. This PR removes root reading-position restoration and always opens at the end.
Verification
MessagesTimeline.test.tsx,timelineScrollAnchoring.test.tsx,ChatView.logic.test.ts, andassistantCitationNavigation.test.ts.Recording: scroll up in A, switch to B, then return to A at the end.
return-to-bottom.mp4
return-to-bottom.mp4