Reverts https://github.com/matrix-org/matrix-react-sdk/pull/6751 in
favour of debouncing the updates to read markers, because it seems
allowing the scroll to be 1px away from the bottom was important for
some browsers and meant they never got to the bottom.
We can fix the problem instead by debouncing the update to read
markers, because the scroll state gets reset back to the bottom when
componentDidUpdate() runs which happens after the read marker code
does a setState(). This should probably be debounced anyway since
it doesn't need to be run that frequently.
Fixes https://github.com/vector-im/element-web/issues/18961
Type: bugfix
The check for whether we're at the bottom or not allowed for a
difference of 1 to account for fractional scroll values, but
allowed the difference of exactly 1 too, meaning we'd consider
the timeline to be at the bottom if you were scrolled up by exactly
a single pixel. If your scrolling was set up to be precise enough and
the event handlers fired fast enough that they'd evaluate each time
you scrolled up by a single pixel, it would reset you back to the bottom
each time and you'd never be able to scroll up.
Fixes https://github.com/vector-im/element-web/issues/18903
I'm not really sure how this is meant to work - and I'm not sure
how it was working before, but this is causing fairly bad infinite
loops if I start element with no homeserver connection. This is
a fairly crude fix, only thing I can think that would be better is
some awareness of when network requests were failing and intentionally
backing off.
Fixes https://github.com/vector-im/element-web/issues/18242