From 7aeed0a95a4effdab94b4b6060791633f2b34cdc Mon Sep 17 00:00:00 2001 From: Jason Volk Date: Fri, 31 Oct 2025 00:37:30 +0000 Subject: [PATCH] Fix next_batch pagination tokens in relations response. Signed-off-by: Jason Volk --- src/api/client/relations.rs | 12 +++++------- src/service/rooms/pdu_metadata/mod.rs | 5 +++-- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/src/api/client/relations.rs b/src/api/client/relations.rs index 8b666a94..dc851b15 100644 --- a/src/api/client/relations.rs +++ b/src/api/client/relations.rs @@ -154,13 +154,11 @@ async fn paginate_relations_with_filter( .collect() .await; - let next_batch = match dir { - | Direction::Forward => events.last(), - | Direction::Backward => events.first(), - } - .map(at!(0)) - .as_ref() - .map(ToString::to_string); + let next_batch = events + .last() + .map(at!(0)) + .as_ref() + .map(ToString::to_string); Ok(get_relating_events::v1::Response { next_batch, diff --git a/src/service/rooms/pdu_metadata/mod.rs b/src/service/rooms/pdu_metadata/mod.rs index 45169a98..6e408ec4 100644 --- a/src/service/rooms/pdu_metadata/mod.rs +++ b/src/service/rooms/pdu_metadata/mod.rs @@ -92,8 +92,9 @@ impl Service { stack.push((relation.clone(), stack_pdu.1.saturating_add(1))); } - pdus.push(relation); - if pdus.len() >= limit { + if pdus.len() < limit { + pdus.push(relation); + } else { break 'limit; } }