Describe the problem you’re having:
I am in combined mode. I noticed that sometimes, when scrolling with the mouse wheel, sometimes the content of the articles are not showed and replaced with a loading gif. I am not sure, but it happens with feeds with short articles.
…
If possible include steps to reproduce the problem:
Find a feed with many short articles and scroll with the mouse wheel
…
tt-rss version (including git commit id):
Tiny Tiny RSS v20.10-e13d665
…
Platform (i.e. Linux distro, PHP, PostgreSQL, etc) versions:
shared hosting. It happens with Chrome and Firefox
…
I’ve also noticed this, my guess would be IntersectionObserver skipping some elements, sometimes, for whatever reason. this stuff is hard to debug though because it only happens maybe once in a few days to me.
i made a test feed with a lot of very short posts but that didn’t work.
e: i managed to make one post not unpack after scrolling for like 5 minutes. meh.
e2: now that we have native lazy image loading (img loading=lazy) there might not be that much point in the whole unpacking thing, maybe it needs to be removed altogether.
e3: if nothing else the UI seems a bit faster without unpacking
I’m using combined display mode without expanded articles. This commit doesn’t break anything, per se, but today I noticed a significant performance drop in the UI. I follow a few Apple-centric feeds and with their latest products now shipping/being reviewed, many feeds are embedding YouTube videos. Because the UI is only showing headlines it can fit a lot of articles in the view port and it results in loading all of those videos at once. It’s having a noticeable impact on performance, even on my 3.4 GHz i5-7500 desktop.
i haven’t noticed it myself but i can see how this could happen if there’s many iframes (even invisible ones) at once. well, we can always bring back unpacking, and maybe seek some other way to deal with it missing articles sometimes.
We’re already working with iframes during sanitize, maybe we swap src with data-src and then use IntersectionObserver exclusively to lazy load iframes?