From ef42638f3c00511ea21c6167a2873b5fddfc1c34 Mon Sep 17 00:00:00 2001 From: nexy7574 Date: Tue, 2 Sep 2025 02:34:13 +0100 Subject: [PATCH] style(hydra): Satisfy clippy's twisted and confusing demands --- src/admin/user/commands.rs | 20 ++++++++++++++++---- src/api/client/account.rs | 2 +- src/api/client/room/create.rs | 1 + src/api/client/session.rs | 4 ++-- src/core/matrix/pdu.rs | 4 ++-- src/core/matrix/state_res/event_auth.rs | 1 + src/service/admin/mod.rs | 1 + src/service/rooms/timeline/append.rs | 1 + src/service/rooms/timeline/create.rs | 13 +++++++------ 9 files changed, 32 insertions(+), 15 deletions(-) diff --git a/src/admin/user/commands.rs b/src/admin/user/commands.rs index f5588ea7..0b38cfb3 100644 --- a/src/admin/user/commands.rs +++ b/src/admin/user/commands.rs @@ -179,7 +179,11 @@ pub(super) async fn create_user(&self, username: String, password: Option .collect() .await; - full_user_deactivate(self.services, &user_id, &all_joined_rooms).await?; + full_user_deactivate(self.services, &user_id, &all_joined_rooms) + .boxed() + .await?; update_displayname(self.services, &user_id, None, &all_joined_rooms).await; update_avatar_url(self.services, &user_id, None, None, &all_joined_rooms).await; leave_all_rooms(self.services, &user_id).await; @@ -376,7 +382,9 @@ pub(super) async fn deactivate_all(&self, no_leave_rooms: bool, force: bool) -> .collect() .await; - full_user_deactivate(self.services, &user_id, &all_joined_rooms).await?; + full_user_deactivate(self.services, &user_id, &all_joined_rooms) + .boxed() + .await?; update_displayname(self.services, &user_id, None, &all_joined_rooms).await; update_avatar_url(self.services, &user_id, None, None, &all_joined_rooms) .await; @@ -776,7 +784,11 @@ pub(super) async fn make_user_admin(&self, user_id: String) -> Result { "Parsed user_id must be a local user" ); - self.services.admin.make_user_admin(&user_id).await?; + self.services + .admin + .make_user_admin(&user_id) + .boxed() + .await?; self.write_str(&format!("{user_id} has been granted admin privileges.",)) .await diff --git a/src/api/client/account.rs b/src/api/client/account.rs index 67dc2a01..bf9461db 100644 --- a/src/api/client/account.rs +++ b/src/api/client/account.rs @@ -505,7 +505,7 @@ pub(crate) async fn register_route( .await .is_ok_and(is_equal_to!(1)) { - services.admin.make_user_admin(&user_id).await?; + services.admin.make_user_admin(&user_id).boxed().await?; warn!("Granting {user_id} admin privileges as the first user"); } else if services.config.suspend_on_register { // This is not an admin, suspend them. diff --git a/src/api/client/room/create.rs b/src/api/client/room/create.rs index 9f0ad25d..94a5380d 100644 --- a/src/api/client/room/create.rs +++ b/src/api/client/room/create.rs @@ -49,6 +49,7 @@ use crate::{Ruma, client::invite_helper}; /// - Send events implied by `name` and `topic` /// - Send invite events #[allow(clippy::large_stack_frames)] +#[allow(clippy::cognitive_complexity)] pub(crate) async fn create_room_route( State(services): State, body: Ruma, diff --git a/src/api/client/session.rs b/src/api/client/session.rs index da7bed2c..df4d935c 100644 --- a/src/api/client/session.rs +++ b/src/api/client/session.rs @@ -145,9 +145,9 @@ pub(super) async fn ldap_login( let is_conduwuit_admin = services.admin.user_is_admin(lowercased_user_id).await; if is_ldap_admin && !is_conduwuit_admin { - services.admin.make_user_admin(lowercased_user_id).await?; + Box::pin(services.admin.make_user_admin(lowercased_user_id)).await?; } else if !is_ldap_admin && is_conduwuit_admin { - services.admin.revoke_admin(lowercased_user_id).await?; + Box::pin(services.admin.revoke_admin(lowercased_user_id)).await?; } Ok(user_id) diff --git a/src/core/matrix/pdu.rs b/src/core/matrix/pdu.rs index 3977be7d..7d4ac3ce 100644 --- a/src/core/matrix/pdu.rs +++ b/src/core/matrix/pdu.rs @@ -117,7 +117,7 @@ impl Event for Pdu { if let Some(room_id) = &self.room_id { room_id.clone() } else { - let constructed_hash = "!".to_owned() + &self.event_id.as_str()[1..]; + let constructed_hash = self.event_id.as_str().replace('$', "!"); RoomId::parse(&constructed_hash) .expect("event ID can be indexed") .to_owned() @@ -182,7 +182,7 @@ impl Event for &Pdu { if let Some(room_id) = &self.room_id { room_id.clone() } else { - let constructed_hash = "!".to_owned() + &self.event_id.as_str()[1..]; + let constructed_hash = self.event_id.as_str().replace('$', "!"); RoomId::parse(&constructed_hash) .expect("event ID can be indexed") .to_owned() diff --git a/src/core/matrix/state_res/event_auth.rs b/src/core/matrix/state_res/event_auth.rs index 0550fdc0..90902640 100644 --- a/src/core/matrix/state_res/event_auth.rs +++ b/src/core/matrix/state_res/event_auth.rs @@ -153,6 +153,7 @@ pub fn auth_types_for_event( event_id = incoming_event.event_id().as_str(), ) )] +#[allow(clippy::suspicious_operation_groupings)] pub async fn auth_check( room_version: &RoomVersion, incoming_event: &E, diff --git a/src/service/admin/mod.rs b/src/service/admin/mod.rs index 7b0fb037..b07ca3b8 100644 --- a/src/service/admin/mod.rs +++ b/src/service/admin/mod.rs @@ -425,6 +425,7 @@ impl Service { .await { self.handle_response_error(e, room_id, user_id, &state_lock) + .boxed() .await .unwrap_or_else(default_log); } diff --git a/src/service/rooms/timeline/append.rs b/src/service/rooms/timeline/append.rs index 27fb1d90..d3700092 100644 --- a/src/service/rooms/timeline/append.rs +++ b/src/service/rooms/timeline/append.rs @@ -34,6 +34,7 @@ use crate::{appservice::NamespaceRegex, rooms::state_compressor::CompressedState /// the server that sent the event. #[implement(super::Service)] #[tracing::instrument(level = "debug", skip_all)] +#[allow(clippy::too_many_arguments)] pub async fn append_incoming_pdu<'a, Leaves>( &'a self, pdu: &'a PduEvent, diff --git a/src/service/rooms/timeline/create.rs b/src/service/rooms/timeline/create.rs index 19c0ce28..9c8abe63 100644 --- a/src/service/rooms/timeline/create.rs +++ b/src/service/rooms/timeline/create.rs @@ -32,12 +32,13 @@ pub async fn create_hash_and_sign_event( _mutex_lock: &RoomMutexGuard, /* Take mutex guard to make sure users get the room * state mutex */ ) -> Result<(PduEvent, CanonicalJsonObject)> { + #[allow(clippy::boxed_local)] fn from_evt( room_id: OwnedRoomId, - event_type: TimelineEventType, - content: Box, + event_type: &TimelineEventType, + content: &RawValue, ) -> Result { - if event_type == TimelineEventType::RoomCreate { + if event_type == &TimelineEventType::RoomCreate { let content: RoomCreateEventContent = serde_json::from_str(content.get())?; Ok(content.room_version) } else { @@ -62,11 +63,11 @@ pub async fn create_hash_and_sign_event( .state .get_room_version(room_id) .await - .or_else(|_| from_evt(room_id.to_owned(), event_type.clone(), content.clone()))?, + .or_else(|_| from_evt(room_id.to_owned(), &event_type.clone(), &content.clone()))?, | None => from_evt( RoomId::new(self.services.globals.server_name()), - event_type.clone(), - content.clone(), + &event_type.clone(), + &content.clone(), )?, };