diff --git a/crates/matrix-sdk/src/sliding_sync/view.rs b/crates/matrix-sdk/src/sliding_sync/view.rs index ae60271e5..eded7edcc 100644 --- a/crates/matrix-sdk/src/sliding_sync/view.rs +++ b/crates/matrix-sdk/src/sliding_sync/view.rs @@ -631,10 +631,17 @@ impl SlidingSyncViewRequestGenerator { limit: Option, ) -> v4::SyncRequestList { let calc_end = start + batch_size; - let end = match limit { + + let mut end = match limit { Some(l) => std::cmp::min(l, calc_end), _ => calc_end, }; + + end = match self.view.rooms_count() { + Some(total_room_count) => std::cmp::min(end, total_room_count - 1), + _ => end, + }; + self.make_request_for_ranges(vec![(start.into(), end.into())]) }