From 052c4dfa2165fdc4839fed95b71446120273cf23 Mon Sep 17 00:00:00 2001 From: Niklas Wojtkowiak Date: Mon, 23 Feb 2026 17:14:37 -0500 Subject: [PATCH] fix(sync): don't override sliding sync v5 list range start to zero --- changelog.d/1445.bugfix | 1 + src/api/client/sync/v5.rs | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) create mode 100644 changelog.d/1445.bugfix diff --git a/changelog.d/1445.bugfix b/changelog.d/1445.bugfix new file mode 100644 index 00000000..099c9579 --- /dev/null +++ b/changelog.d/1445.bugfix @@ -0,0 +1 @@ +Fixed sliding sync v5 list ranges always starting from 0, causing extra rooms to be unnecessarily processed and returned. Contributed by @0xnim diff --git a/src/api/client/sync/v5.rs b/src/api/client/sync/v5.rs index fc3b8055..ee098296 100644 --- a/src/api/client/sync/v5.rs +++ b/src/api/client/sync/v5.rs @@ -336,7 +336,9 @@ where let ranges = list.ranges.clone(); for mut range in ranges { - range.0 = uint!(0); + range.0 = range + .0 + .min(UInt::try_from(active_rooms.len()).unwrap_or(UInt::MAX)); range.1 = range.1.checked_add(uint!(1)).unwrap_or(range.1); range.1 = range .1