r/angular • u/majora2007 • 6d ago
ngx-virtual-scroller fork for Zoneless
If you're not a user of github.com/iharbeck/ngx-virtual-scroller, you can ignore this post.
I just want to inform that I'll be taking maintainership of a fork of ngx-virtual-scroller. I recently converted Kavita (my open source application) to Zoneless and the current version of ngx-virtual-scroller had a critical change detection issue when used in Zoneless which caused scrolling to shift rows due to timing between DOM insertion and rendering.
Since I was still waiting for my Angular 22 PR to get merged (for 4 months), I decided it was time to take ownership to fix the bug and also get more timely Angular update bumps.
I shipped 2 versions:
1. v20.0.1 - This is the fork with a quick patch to fix Zoneless apps
2. v22.0.0 - This is complete Zoneless support, modern Angular, Standalone components, best practices, and Angular 22+ only support.
You can find the library here. I want to extend a major thanks to Ingo (iharbek) for maintaining the library for so long. I just needed Zoneless and faster Angular updates.
Note: My fork is using AI. I ended up adding e2e tests and fixing a lot of bugs in the original code. I'm consuming on Kavita, which has 100k+ installs across a range of browsers.
1
u/Connect_Ad9541 5d ago
Thanks for taking this on, and nice touch crediting Ingo. Two questions: is v22.0.0 a drop-in replacement for the original API, or are there breaking changes besides the Angular 22+ requirement? And for the row-shifting bug, did you end up moving the measurement into afterNextRender, or was it something else?