From 7cda6d2ea61c1be1716217febaf0f6010eae1d8d Mon Sep 17 00:00:00 2001 From: Ivan Enderlin Date: Wed, 28 May 2025 11:51:51 +0200 Subject: [PATCH] chore(sdk): Add more logs for `Room::leave`. This patch adds a bit more logs in `Room::leave` to understand what's happening for some users. --- crates/matrix-sdk/src/room/mod.rs | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/crates/matrix-sdk/src/room/mod.rs b/crates/matrix-sdk/src/room/mod.rs index b0fb5c2ef..6dac8d4b5 100644 --- a/crates/matrix-sdk/src/room/mod.rs +++ b/crates/matrix-sdk/src/room/mod.rs @@ -128,7 +128,7 @@ use serde::de::DeserializeOwned; use thiserror::Error; use tokio::{join, sync::broadcast}; use tokio_stream::StreamExt; -use tracing::{debug, error, info, instrument, warn}; +use tracing::{debug, error, info, instrument, trace, warn}; use self::futures::{SendAttachment, SendMessageLikeEvent, SendRawMessageLikeEvent}; pub use self::{ @@ -339,8 +339,6 @@ impl Room { // The server can return with an error that is acceptable to ignore. Let's find // which one. if let Err(error) = response { - error!(?error, "Failed to leave the room"); - #[allow(clippy::collapsible_match)] let ignore_error = if let Some(error) = error.client_api_error_kind() { match error { @@ -353,6 +351,8 @@ impl Room { false }; + error!(?error, ignore_error, should_forget, "Failed to leave the room"); + if !ignore_error { return Err(error.into()); } @@ -361,8 +361,10 @@ impl Room { self.client.base_client().room_left(self.room_id()).await?; if should_forget { + trace!("Trying to forget the room"); + if let Err(error) = self.forget().await { - warn!("Failed to forget room when leaving it: {error}"); + error!(?error, "Failed to forget the room"); } }