-
Notifications
You must be signed in to change notification settings - Fork 2.9k
Fix Virtualizers 'start buffer' overflow #28437
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix Virtualizers 'start buffer' overflow #28437
Conversation
Perf Analysis (
|
| Scenario | Render type | Master Ticks | PR Ticks | Iterations | Status |
|---|---|---|---|---|---|
| InfoButton | mount | 15 | 15 | 5000 | Possible regression |
All results
| Scenario | Render type | Master Ticks | PR Ticks | Iterations | Status |
|---|---|---|---|---|---|
| Avatar | mount | 600 | 577 | 5000 | |
| Button | mount | 299 | 297 | 5000 | |
| Field | mount | 1041 | 1080 | 5000 | |
| FluentProvider | mount | 661 | 632 | 5000 | |
| FluentProviderWithTheme | mount | 76 | 82 | 10 | |
| FluentProviderWithTheme | virtual-rerender | 69 | 61 | 10 | |
| FluentProviderWithTheme | virtual-rerender-with-unmount | 64 | 69 | 10 | |
| InfoButton | mount | 15 | 15 | 5000 | Possible regression |
| MakeStyles | mount | 855 | 846 | 50000 | |
| Persona | mount | 1623 | 1571 | 5000 | |
| SpinButton | mount | 1296 | 1323 | 5000 |
1d43f79 to
6839fad
Compare
📊 Bundle size reportUnchanged fixtures
|
|
This pull request is automatically built and testable in CodeSandbox. To see build info of the built libraries, click here or the icon next to each commit SHA. Latest deployment of this branch, based on commit ee2ce19:
|
Asset size changes
Baseline commit: 01816611f845012bc10b54abdbab8fb2d1a0376f (build) |
|
The browser weirdness I saw didn't repro on Firefox so it must be some lingering issue in Chromium. On same Edge build on Win11 we weren't able to repro the issue on other machines. Approving for now but we should keep an eye on it to make sure there isn't some lingering bug on our end. I'll check dev builds as well |
Still repros on Edge 116.0.1938.10 for me as well...bizarre. |
|
🎉 Handy links: |
|
🎉 Handy links: |
* master: (105 commits) fix(react-card): use resolved slot instead of raw prop object (microsoft#28517) applying package updates Expose virtualize index/length for casual use (microsoft#28450) applying package updates chore: update projects to use `*` for inner workspace dependencies (microsoft#28426) Update react-components/react-portal README.md (microsoft#28520) [2 of N] Changes for Making first render cycle faster and fixing test cases (microsoft#27721) applying package updates docs(react-search): Add README, description, best practices (microsoft#28507) Fix contrast issues in V8 Fluent2 Dark Theme (microsoft#28486) [VR-Approval-Cli] Fixed the Bug & Added the pipelineID (microsoft#28506) [Onboarding] Generalized VR-Approval-Cli (microsoft#28255) Onboarding [VR-Approval-CLI] To upload baseline screenshots (microsoft#28294) feat: migrate private v9 react packages to new preview versioning scheme (microsoft#28474) applying package updates applying package updates chore: openItems property added to TreeOpenChangeData + minor internal improvements (microsoft#28491) Fix Virtualizers 'start buffer' overflow (microsoft#28437) docs(v0 migration): add note about nested popups (microsoft#28480) chore: move slots back to TreeItem and creates slot context (microsoft#28492) ...
Previous Behavior
Our start buffer had it's margin set to the wrong side, this caused it to only fire once the 'virtualized white space' had entered the screen.
On snap aligned items, this meant the user could not scroll 'backward' as the items had yet to render.
Minimum reproduceable demo of issue:
https://codesandbox.io/s/hardcore-meninsky-wkshd6?file=/example.tsx
New Behavior
Snap aligned items can now progress into virtualized space, a demo has been provided.
Related Issue(s)
N/A