From e94e61449819dc5b0dd7177153ed87dd1166fe7a Mon Sep 17 00:00:00 2001 From: Jonathan Sutton Date: Fri, 20 Mar 2026 22:41:16 -0500 Subject: [PATCH] fix(room_member): Strip join_authorized_via_users_server (#1542) Removed extra clone() and made membership_content mutable, to change contents and reserialize to json. Signed-off-by: Jonathan Sutton --- src/api/client/state.rs | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/api/client/state.rs b/src/api/client/state.rs index 04fde5763..60a1c62d2 100644 --- a/src/api/client/state.rs +++ b/src/api/client/state.rs @@ -367,7 +367,7 @@ async fn allowed_to_send_state_event( } }, | StateEventType::RoomMember => match json.deserialize_as::() { - | Ok(membership_content) => { + | Ok(mut membership_content) => { let Ok(state_key) = UserId::parse(state_key) else { return Err!(Request(BadJson( "Membership event has invalid or non-existent state key" @@ -382,10 +382,9 @@ async fn allowed_to_send_state_event( .is_joined(state_key, room_id) .await { - let mut content: RoomMemberEventContent = membership_content.clone(); - content.join_authorized_via_users_server = None; + membership_content.join_authorized_via_users_server = None; *json = Raw::::from_json_string( - serde_json::to_string(&content)?, + serde_json::to_string(&membership_content)?, )?; } else if let Some(authorising_user) = membership_content.join_authorized_via_users_server