Conversation
|
Build successful! 🎉 |
Agent Skills ChangesModified (9)
InstallReact Spectrum S2: React Aria: |
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.
This PR fixes a couple of things. Some of which were from testing in July and some that were noticed while making the ai component docs.
For 2, I removed the hadEstimatedVisibleItems / wasNearAnchorEdge fields that tried to remember "are we near the edge?" across a resize. They were redundant since resolveScrollAdjustment already gets itemSizeChanged and contentSizeDelta per pass, so the same decision (follow edge vs. keep anchor) can be made directly from those without tracked history. Simpler and less prone to going stale.
For 3, scroll position jumped on mobile, there were two problems combined on small screens. First, we picked anchor candidates from this._visibleViews (only views already on screen, with a possibly stale layout as backup). Switched to this.getVisibleLayoutInfos(), which asks the layout directly for everything in view, giving a more accurate list to anchor to. Second, an item could only be anchored if it fit fully inside the viewport. On mobile, one tall item can fill the whole screen, so nothing ever fully fit and no anchor was picked. Now we anchor to the item closest to the edge even if it's partly cut off, falling back to the least-cut-off item if none fit.
For 4, expanding/collapsing response status scrolled upward instead of staying put, a resize anywhere in the list was treated as if it happened at the anchored edge when the chat was short, so the virtualizer would "follow the edge" and snap the scroll position, even when the resized item was in the middle of the list. Added tracking for whether a resize batch actually touched the newest item; if it didn't, we preserve the user's reading position instead of following the edge.
✅ Pull Request Checklist:
📝 Test Instructions:
🧢 Your Project: