quotient-im / Quaternion

A Qt-based IM client for Matrix
https://matrix.org/ecosystem/clients/quaternion/
GNU General Public License v3.0
642 stars 107 forks source link

"Scroll to read marker" doesn't do anything if that event is not loaded #799

Open KitsuneRal opened 2 years ago

KitsuneRal commented 2 years ago

To reproduce:

  1. Find a room with a read marker far enough in the history so that Quaternion doesn't load it at once.
  2. Click the "scroll to read marker" button.
  3. Nothing happens.

An expected result (that's how Element iOS works, e.g.) is to load history until the event with the read marker is encountered and then navigate to it. It can be somewhat slow due to network requests (potentially several) so visual feedback is also important. Note: loading history until the read marker sounds like a good addition to libQuotient.

KitsuneRal commented 2 years ago

Some work has been done in 775245d9; that makes for somewhat confusing UX where the same button forces loading chunks of history and then jumps to the read marker. A better way (barring discontinuous timeline) would still be to load as much history as needed providing some feedback on what's happening and then automatically navigate to the read marker.