From 281f13cb5f5899031bb94ce12fa4b3369d83bd07 Mon Sep 17 00:00:00 2001 From: Ginger Date: Mon, 13 Apr 2026 17:00:48 -0400 Subject: [PATCH] refactor: Fix errors in `admin/room/` --- src/admin/room/alias.rs | 4 ++-- src/admin/room/commands.rs | 6 +++--- src/admin/room/directory.rs | 2 +- src/admin/room/info.rs | 1 - src/admin/room/moderation.rs | 16 ++++++---------- 5 files changed, 12 insertions(+), 17 deletions(-) diff --git a/src/admin/room/alias.rs b/src/admin/room/alias.rs index 1be4289c5..5e8aba9f4 100644 --- a/src/admin/room/alias.rs +++ b/src/admin/room/alias.rs @@ -3,7 +3,7 @@ use clap::Subcommand; use conduwuit::{Err, Result}; use futures::StreamExt; -use ruma::{OwnedRoomAliasId, OwnedRoomId}; +use ruma::{OwnedRoomAliasId, OwnedRoomId, RoomAliasId}; use crate::Context; @@ -52,7 +52,7 @@ pub(super) async fn process(command: RoomAliasCommand, context: &Context<'_>) -> | RoomAliasCommand::Which { ref room_alias_localpart } => { let room_alias_str = format!("#{}:{}", room_alias_localpart, services.globals.server_name()); - let room_alias = match OwnedRoomAliasId::parse(room_alias_str) { + let room_alias = match RoomAliasId::parse(room_alias_str) { | Ok(alias) => alias, | Err(err) => { return Err!("Failed to parse alias: {err}"); diff --git a/src/admin/room/commands.rs b/src/admin/room/commands.rs index 96a9878f0..d8e409119 100644 --- a/src/admin/room/commands.rs +++ b/src/admin/room/commands.rs @@ -22,14 +22,14 @@ pub(super) async fn list_rooms( .metadata .iter_ids() .filter_map(|room_id| async move { - (!exclude_disabled || !self.services.rooms.metadata.is_disabled(room_id).await) + (!exclude_disabled || !self.services.rooms.metadata.is_disabled(&room_id).await) .then_some(room_id) }) .filter_map(|room_id| async move { - (!exclude_banned || !self.services.rooms.metadata.is_banned(room_id).await) + (!exclude_banned || !self.services.rooms.metadata.is_banned(&room_id).await) .then_some(room_id) }) - .then(|room_id| get_room_info(self.services, room_id)) + .then(async |room_id| get_room_info(self.services, &room_id).await) .then(|(room_id, total_members, name)| async move { let local_members: Vec<_> = self .services diff --git a/src/admin/room/directory.rs b/src/admin/room/directory.rs index 593fdb54c..ac24dbec7 100644 --- a/src/admin/room/directory.rs +++ b/src/admin/room/directory.rs @@ -43,7 +43,7 @@ pub(super) async fn process(command: RoomDirectoryCommand, context: &Context<'_> .rooms .directory .public_rooms() - .then(|room_id| get_room_info(services, room_id)) + .then(async |room_id| get_room_info(services, &room_id).await) .collect() .await; diff --git a/src/admin/room/info.rs b/src/admin/room/info.rs index 67b2cad4d..c8b735eeb 100644 --- a/src/admin/room/info.rs +++ b/src/admin/room/info.rs @@ -46,7 +46,6 @@ async fn list_joined_members(&self, room_id: OwnedRoomId, local_only: bool) -> R .then(|| self.services.globals.user_is_local(user_id)) .unwrap_or(true) }) - .map(ToOwned::to_owned) .filter_map(|user_id| async move { Some(( self.services diff --git a/src/admin/room/moderation.rs b/src/admin/room/moderation.rs index 0c7c7612f..640008333 100644 --- a/src/admin/room/moderation.rs +++ b/src/admin/room/moderation.rs @@ -89,7 +89,7 @@ async fn ban_room(&self, room: OwnedRoomOrAliasId) -> Result { locally, if not using get_alias_helper to fetch room ID remotely" ); - match self.services.rooms.alias.resolve_alias(room_alias).await { + match self.services.rooms.alias.resolve_alias(&room_alias).await { | Ok((room_id, servers)) => { debug!( %room_id, @@ -116,7 +116,6 @@ async fn ban_room(&self, room: OwnedRoomOrAliasId) -> Result { .rooms .state_cache .room_members(&room_id) - .map(ToOwned::to_owned) .ready_filter(|user| self.services.globals.user_is_local(user)) .boxed(); @@ -140,7 +139,6 @@ async fn ban_room(&self, room: OwnedRoomOrAliasId) -> Result { .rooms .alias .local_aliases_for_room(&room_id) - .map(ToOwned::to_owned) .for_each(|local_alias| async move { self.services .rooms @@ -215,7 +213,7 @@ async fn ban_list_of_rooms(&self) -> Result { .services .rooms .alias - .resolve_local_alias(room_alias) + .resolve_local_alias(&room_alias) .await { | Ok(room_id) => room_id, @@ -229,7 +227,7 @@ async fn ban_list_of_rooms(&self) -> Result { .services .rooms .alias - .resolve_alias(room_alias) + .resolve_alias(&room_alias) .await { | Ok((room_id, servers)) => { @@ -284,7 +282,6 @@ async fn ban_list_of_rooms(&self) -> Result { .rooms .state_cache .room_members(&room_id) - .map(ToOwned::to_owned) .ready_filter(|user| self.services.globals.user_is_local(user)) .boxed(); @@ -309,7 +306,6 @@ async fn ban_list_of_rooms(&self) -> Result { .rooms .alias .local_aliases_for_room(&room_id) - .map(ToOwned::to_owned) .for_each(|local_alias| async move { self.services .rooms @@ -348,7 +344,7 @@ async fn unban_room(&self, room: OwnedRoomOrAliasId) -> Result { }; debug!("Room specified is a room ID, unbanning room ID"); - self.services.rooms.metadata.ban_room(room_id, false); + self.services.rooms.metadata.ban_room(&room_id, false); room_id.to_owned() } else if room.is_room_alias_id() { @@ -372,7 +368,7 @@ async fn unban_room(&self, room: OwnedRoomOrAliasId) -> Result { .services .rooms .alias - .resolve_local_alias(room_alias) + .resolve_local_alias(&room_alias) .await { | Ok(room_id) => room_id, @@ -382,7 +378,7 @@ async fn unban_room(&self, room: OwnedRoomOrAliasId) -> Result { room ID over federation" ); - match self.services.rooms.alias.resolve_alias(room_alias).await { + match self.services.rooms.alias.resolve_alias(&room_alias).await { | Ok((room_id, servers)) => { debug!( %room_id,