Refactor Virtualized Lists to Use TanStack Virtual
Rocket.Chat currently uses multiple virtualization patterns across list-heavy UI surfaces, especially in core room and contextual views. This makes scrolling behavior, pagination, testing, and future maintenance less consistent, and increases the effort required to review or extend list implementations. My project will establish a shared virtualization baseline for Rocket.Chat using a reusable wrapper integrated with the existing OverlayScrollbars-based scrollbar system, then apply that baseline to a focused set of core user-facing surfaces such as Threads, Discussions, and Message Search. The implementation will build on existing Rocket.Chat frontend patterns, including TanStack Query-based pagination hooks and shared query/cache infrastructure, so the migration can be incremental rather than disruptive. The main deliverables are: a reviewed shared virtualization abstraction suitable for merge, a reusable migration pattern for flat list surfaces, migrations of selected core components, focused test coverage for the wrapper and migrated screens, and contributor documentation covering wrapper usage, pagination integration, scrollbar wiring, and testing. If time allows, I will also migrate an additional core surface such as Room Files or prepare the path for future grouped-list migrations.
Project details
Technologies
Not listed in the archive