From 8f4cc87051bf0511bfeed912d4b371117f93695f Mon Sep 17 00:00:00 2001 From: Jason Volk Date: Tue, 23 Sep 2025 08:30:54 +0000 Subject: [PATCH] Query rooms in server_sees_user() concurrently. Signed-off-by: Jason Volk --- src/service/rooms/state_cache/mod.rs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/service/rooms/state_cache/mod.rs b/src/service/rooms/state_cache/mod.rs index a57531ee..f807dc8a 100644 --- a/src/service/rooms/state_cache/mod.rs +++ b/src/service/rooms/state_cache/mod.rs @@ -16,7 +16,7 @@ use tuwunel_core::{ Result, implement, result::LogErr, trace, - utils::{ReadyExt, stream::TryIgnore}, + utils::stream::{BroadbandExt, ReadyExt, TryIgnore}, warn, }; use tuwunel_database::{Deserialized, Ignore, Interfix, Map}; @@ -180,7 +180,8 @@ pub fn server_rooms<'a>( #[tracing::instrument(skip(self), level = "trace")] pub async fn server_sees_user(&self, server: &ServerName, user_id: &UserId) -> bool { self.server_rooms(server) - .any(|room_id| self.is_joined(user_id, room_id)) + .map(ToOwned::to_owned) + .broad_any(async |room_id| self.is_joined(user_id, &room_id).await) .await }