Cleanly handle invalid rooms on hierarchy endpoint

Nyaaori/temp-combined-feature-branch
Nyaaori 2 years ago
parent 833d8f1b70
commit 03c02133a2
No known key found for this signature in database
GPG Key ID: E7819C3ED4D1F82E

@ -117,7 +117,9 @@ pub async fn get_hierarchy_route(
if skip == 0 { if skip == 0 {
if rooms_chunk.len() < limit { if rooms_chunk.len() < limit {
room_set.insert(room_id.clone()); room_set.insert(room_id.clone());
rooms_chunk.push(get_room_chunk(room_id, suggested_only, pdus).await?); if let Ok(chunk) = get_room_chunk(room_id, suggested_only, pdus).await {
rooms_chunk.push(chunk)
};
} }
} else { } else {
skip -= 1; skip -= 1;
@ -144,7 +146,7 @@ pub async fn get_hierarchy_route(
async fn get_room_chunk( async fn get_room_chunk(
room_id: OwnedRoomId, room_id: OwnedRoomId,
suggested_only: bool, suggested_only: bool,
phus: Vec<Arc<PduEvent>>, pdus: Vec<Arc<PduEvent>>,
) -> Result<SpaceHierarchyRoomsChunk> { ) -> Result<SpaceHierarchyRoomsChunk> {
Ok(SpaceHierarchyRoomsChunk { Ok(SpaceHierarchyRoomsChunk {
canonical_alias: services() canonical_alias: services()
@ -251,7 +253,7 @@ async fn get_room_chunk(
}) })
.ok() .ok()
.flatten(), .flatten(),
children_state: phus children_state: pdus
.into_iter() .into_iter()
.flat_map(|pdu| { .flat_map(|pdu| {
Some(HierarchySpaceChildEvent { Some(HierarchySpaceChildEvent {

Loading…
Cancel
Save