-
Notifications
You must be signed in to change notification settings - Fork 8
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
Table virtualizer doesn't render enough rows after a height increase, until a scroll #1008
Comments
This looks like it could be a user-visible bug. It does look to be related to the dependencies update somehow. Those same steps don't reproduce the issue in this Storybook from my virtualization PR (before the dependency updates went in). |
FYI @rajsite the dependencies PR did result in a new TanStack Virtual version getting pulled in since we don't pin that version currently (3.0.0-beta.34 => 3.0.0-beta.41). I was able to trace this back to a TanStack Virtual change. The issue is reproducible without our code so I made a test case and filed them a bug - TanStack/virtual#492 |
Interesting. it looks like the 3.0 prereleases have been going on for almost exactly a year https://github.com/TanStack/virtual/releases/tag/v3.0.0-alpha.0 Do we treat it like regular releases if they are in perpetual prerelease (and keep the semver range as is and handle breaks) or pin it and do controlled updates between prerelease versions? We don't have renovate on and our manual bump cadence is infrequent so not sure I feel strongly either way. Do we pin at a lower version that doesn't include the regression until the issue is fixed? |
I'm not sure if they have a timeframe for v3 being non-beta. Their bug template said "v3 on the horizon with beta builds" but as you said that's been true for a pretty long time now. I'll probably give them the weekend to see if there's any movement on the bug I filed / see what they say. We can pin if needed after a few days. |
…increase, until a scroll (#1030) # Pull Request ## 🤨 Rationale Resolves #1008 ## 👩💻 Implementation - Update TanStack Virtualizer package to latest (beta44). The [TanStack Virtual bug I filed](TanStack/virtual#492) was fixed in beta43. ## 🧪 Testing - Tested in Storybook locally - Autotests. Removed workaround in autotest that triggered a scroll after changing table height, which was due to this bug. ## ✅ Checklist - [x] I have updated the project documentation to reflect my changes or determined no changes are needed.
🧹 Tech Debt
It looks like on a fresh load of a component the virtualizer is miscounting the space and creating more rows than necessary. This isn't user facing (extra rows outside the viewport are not visible) but may be an unnecessary performance cost. We may find it is a minor cost, I think the page size may be used or something, should verify we never i.e. instance every row in the view unnecessarily for a large data set.
Found during #1000 where a workaround was added for a test to nudge the scroll so the correct, smaller amount of rows ins rendered in the viewport:
nimble/packages/nimble-components/src/table/tests/table.spec.ts
Line 460 in 5902e83
Additional discussion: https://github.com/ni/nimble/pull/1000/files#r1089556479
The text was updated successfully, but these errors were encountered: