Yeah, the whole “live, dynamic, on-demand” scripted approach is a key design decision by the Discourse authors. They consider the custom scrollbar and the lack of pagination a feature, not a bug. So I have no expectations at all for this to change.
My suspicion is that it’s a cargo cult: “Facebook is a successful web business. Facebook is built with React. We want to have a successful web business. Therefore, we will use React.”
This Discourse makes me think of this advert:
and that leads me to this great clip:
What are the built in scrollbars on web browsers for? Touchscreen devices even have handling for scrolling yes? Why is an over engineered JS slider better?
Why are dynamically calculated dates better than the old precise method, you even used to get information about created / updated, etc. And yes I have heard about if you hover over the small date you get the full date but what about on touch screens, ooh a dynamic JS popup…
Rollover events are IMHO the most abused feature. First, they are completely useless with touch screen devices (of which there are many). Second, they’re rarely ever used consistently.
This page right here, where I am typing this reply, is an example. Right underneath this very textbook are four text elements, named “Reply”, “cancel”, “saved”, “hide preview”. “cancel” and “hide preview” change their color on mouse over, “saved” does not. You would assume that mouse overs are supposed to indicate what text is a button and what isn’t. Right?
Wrong. “Reply” is a button too and has no rollover. The JS scroll bar shows a date on the beginning and at the end without rollover, yet they are buttons too. Likewise, the user name and date/time above a post are also clickable items without rollovers. I have no idea what the rollover effect is supposed to indicate, I do not see it serving any purpose. But someone took the time to implement it, so there must be some rationale behind it?
We found someone mentioning a paginated fork, but no idea if public. Discourse has pagination, but JS hides it.
We also found documents talking about the benefits of pagination (lack of it is more like a dark pattern).
That seems to be fixed already. By using more JS, of course. https://forum.quartertothree.com/t/a-qt3-on-discourse-user-script/127968 Script will need adaptation, most of it seems to be about muting.