TanStack / TanStack/virtual

Tanstack Virtual freezes when using React DevTools

Open
#682 5 comments 8 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
7.1k
Forks
466
Avg merge
2d 31m
Merged PRs (30d)
13

Description

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

https://github.com/TanStack/virtual/assets/17776290/ba752de1-22ff-4e9f-b63c-054e2f163f97

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.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by running the linked minimal reproduction in Chrome with React DevTools installed, then inspect the virtualization implementation in src/pages/doctors/@components/DoctorsList.tsx. Select a child in the Components tab, scroll, and confirm the freeze and Fiber warning. Done means the virtualized list continues scrolling after selection and the warning no longer occurs.

Written by the indexing model from the issue text.

Assessment

Tech stack
react, typescript
Domain
frontend, performance
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.