Timeline virtual scrolling
This MR optimizes the amount of stuff in dom/v-dom a lot by simplifying the statuses that are not in view. This is most notable when observing RAM use while scrolling deep down and loading lots of statuses on the timeline that way. Not much of an impact you'll feel on high performance devices that run the application smooth enough already.
There aren't many notable downsides to the way it's done, as each Conversation/Status component is kept alive when they're hidden and they get to keep their state untouched. The biggest ones are:
- Not being able to use ctrl-f on the full page because a lot of the text outside of view is hidden
- When resizing, the calculated heights for hidden elements is going to be wrong and scrolling up the first time after that will be jerky.
There is an option to turn the feature off for those who encounter problems.
EDIT: after extended on my instance I've noticed some parts regarding the perf that I can improve
EDIT2: I haven't really been running into any issues with the latest version of this. Only positives making the FE more responsive especially on mobile.