From fa5e0faaf7d8e43a244709bdbfc7abeea561e68e Mon Sep 17 00:00:00 2001 From: timedout Date: Sun, 31 May 2026 00:17:30 +0100 Subject: [PATCH] fix: Friendly assertations --- .../rooms/event_handler/fetch_state.rs | 21 ++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/src/service/rooms/event_handler/fetch_state.rs b/src/service/rooms/event_handler/fetch_state.rs index f399e1696..2ec208bb4 100644 --- a/src/service/rooms/event_handler/fetch_state.rs +++ b/src/service/rooms/event_handler/fetch_state.rs @@ -96,6 +96,12 @@ pub(super) async fn fetch_state( }) .collect() .await; + assert_eq!( + state_events.len(), + res.pdu_ids.len(), + "Failed to load all required state events despite allegedly knowing all of them \ + already", + ); } else { let total_count = res.pdu_ids.len(); let missing_count = to_fetch.len(); @@ -132,6 +138,11 @@ pub(super) async fn fetch_state( .await }, }; + assert!( + !fetched_state.is_empty(), + "fetch_full_state or fetch_and_handle_missing_events returned empty state \ + map" + ); state_events.extend(fetched_state); } else { debug!( @@ -139,10 +150,14 @@ pub(super) async fn fetch_state( to_fetch = to_fetch.len(), "Fetching missing events for state from remote" ); - state_events.extend( - self.fetch_and_handle_missing_events(origin, to_fetch, create_event, room_id) - .await, + let fetched_state = self + .fetch_and_handle_missing_events(origin, to_fetch, create_event, room_id) + .await; + assert!( + !fetched_state.is_empty(), + "fetch_and_handle_missing_events returned empty state map" ); + state_events.extend(fetched_state); } }