mirror of
https://github.com/matrix-org/matrix-rust-sdk.git
synced 2026-04-30 12:04:25 -04:00
* event cache: reuse the paginator internally Fixes #3355. * event cache: move the `pagination_token_notifier` into the `RoomPaginationData` as well * event cache: introduce a `RoomPagination` API object and move code around Only code motion. No changes in functionality. * event cache: remove "paginate" (et al.) in `RoomPagination` method names No changes in functionality, just renamings. * event_cache/timeline: have the event cache handle restarting a back-pagination that failed under our feet When a timeline reset happens while we're back-paginating, the event cache method to run back pagination would return an success result indicating that the pagination token disappeared. After thinking about it, it's not the best API in the world; ideally, the backpagination mechanism would restart automatically. Now, this was handled in the timeline before, and the reason it was handled there was because it was possible to back-paginate and ask for a certain number of events. I've removed that feature, so that back-pagination on a live timeline matches the capabilities of a focused-timeline back-pagination: one can only ask for a given number of *events*, not timeline items. As a matter of fact, this simplifies the code a lot by removing many data structures, that were also exposed (and unused, since recent changes) in the FFI layer. * Address review comments