From ff5dedbb07779d099ebd60da906ce724c35f4fa0 Mon Sep 17 00:00:00 2001 From: Stefan Ceriu Date: Tue, 28 Feb 2023 19:32:11 +0200 Subject: [PATCH] fix(sliding_sync): Prevent PagingFullSync and GrowingFullSync from going over the total room count --- crates/matrix-sdk/src/sliding_sync/view.rs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) 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())]) }