TanStack / virtual

🤖 Headless UI for Virtualizing Large Element Lists in JS/TS, React, Solid, Vue and Svelte

Home Page:https://tanstack.com/virtual

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Tanstack Virtual freezes when using React DevTools

Firnu opened this issue · comments

Describe the bug

Tanstack Virtual with WindowVirtualizer freezes when selecting any child of the virtualized list in the Components tab of React Devtools. Only full page refresh restores the virtualizer. The issue starts with a warning in the console: Could not find Fiber with id "2689".

Virtualization implementation can be found here:
https://github.com/Firnu/calamariassignment/blob/main/src/pages/doctors/%40components/DoctorsList.tsx

From my tests, the issue persists in other implementations as well.

Your minimal, reproducible example

https://6ee3967b.calamariassignment.pages.dev/

Steps to reproduce

  1. Open the provided example (make sure to have React Devtools installed).
  2. Open Chrome dev tools F12
  3. Scroll the list to confirm that Tanstack Virtual is working
  4. Select any item in React Devtools (Components tab) that is a child of the virtualizer.
  5. Scroll the list again, the items will get frozen (only last displayed items will stay visible). The console should print a warning Could not find Fiber with id "x"

Please refer to the attached video.

Expected behavior

Tanstack Virtual should continue working even when selecting items in React Devtools (Components tab). Worst case scenario, it should be able to restore itself when items related to virtualizer are deselected.

How often does this bug happen?

Every time

Screenshots or Videos

chrome_PFA5I2w56K.mp4

Platform

Chrome 122.0.6261.70 (Official), Windows 11

tanstack-virtual version

3.1.2

TypeScript version

v5.3.3

Additional context

No response

Terms & Code of Conduct

  • I agree to follow this project's Code of Conduct
  • I understand that if my bug cannot be reliable reproduced in a debuggable environment, it will probably not be fixed and this issue may even be closed.