-
-
Notifications
You must be signed in to change notification settings - Fork 318
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
List size is capped by browser/memory #565
Comments
Hi all, @tannerlinsley I just started using the library (the React binding, specifically) to implement an infinite list component and it works pretty well. I really like the approach of providing the basic feature of virtualizing a large list and letting us implement the rendering, fetching, etc. I experienced this issue, and enabling Anything I can do to help fix that? As a side note, when are you planning to release a stable v3? Thanks, |
I'll take a look at this asap. |
Cross posting from discord. I think the virtualizer holds on to dom nodes. Example app: https://stackblitz.com/edit/sb1-41eywcye?file=index.html My app crashes pretty fast in Safari v17 (v18 is more resilient it seems) |
that is true, we store it via measureElement https://github.com/TanStack/virtual/blob/main/packages/virtual-core/src/index.ts#L753 and this part clears it via |
@piecyk hum, I don't see any cleanup on unmount though. Am I missing it or does it not happen? This line https://github.com/TanStack/virtual/blob/main/packages/virtual-core/src/index.ts#L101 could probably be |
@knownasilya yeah there is any, the idea was that they will be cleared by measureElement, but let's also clear it in cleanup.
could be, but there should not be any difference because we always observe one rect element |
@knownasilya example not found? |
@piecyk I made it public, should be good now |
Thanks, from quick look noticed that there is pretty old version of @tanstack/react-virtual, please update to latest, also clicked around and didn't noticed memory leaking. |
Might be a react 17 vs 18.. facebook/react#17666 |
Describe the bug
When trying to create a list with a large count of rows, one of two things happens:
A. If the count is over an arbitrary number, capped by each browser individually, the scroll won't go over that row.
For instance, for Chrome that number is 479348, and you can't scroll to the remaining items if there are any.
B. If the number is too large (for instance 150 mil), the tab will simply crash.
I believe this is caused by the
getMeasurements
function from thevirtual-core
library, as it tries to create an array of the count size.Your minimal, reproducible example
https://codesandbox.io/p/sandbox/silent-wildflower-594ycm
Steps to reproduce
Expected behavior
A. I expect the scroll to allow the user to reach the exact number specified in the count.
B. I expect the browser not to crash .
How often does this bug happen?
Every time
Screenshots or Videos
No response
Platform
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36
tanstack-virtual version
v3.0.0-beta.54
TypeScript version
No response
Additional context
No response
Terms & Code of Conduct
The text was updated successfully, but these errors were encountered: