From dddbcfbabbeec5223248410b972501cce539e6cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jorge=20Mart=C3=ADn?= Date: Wed, 5 Feb 2025 08:53:36 +0100 Subject: [PATCH] fix(ffi): Align `RoomList::preview_room` with `Client::get_room_preview_*` functions. This removes the restriction applied in the FFI layer so only invited and knocked rooms can return room previews. --- bindings/matrix-sdk-ffi/src/room_list.rs | 15 +-------------- 1 file changed, 1 insertion(+), 14 deletions(-) diff --git a/bindings/matrix-sdk-ffi/src/room_list.rs b/bindings/matrix-sdk-ffi/src/room_list.rs index 09e49da74..232f8557c 100644 --- a/bindings/matrix-sdk-ffi/src/room_list.rs +++ b/bindings/matrix-sdk-ffi/src/room_list.rs @@ -593,10 +593,7 @@ impl RoomListItem { } /// Builds a `RoomPreview` from a room list item. This is intended for - /// invited or knocked rooms. - /// - /// An error will be returned if the room is in a state other than invited - /// or knocked. + /// invited, knocked or banned rooms. async fn preview_room(&self, via: Vec) -> Result, ClientError> { // Validate parameters first. let server_names: Vec = via @@ -604,16 +601,6 @@ impl RoomListItem { .map(|server| ServerName::parse(server).map_err(ClientError::from)) .collect::>()?; - // Validate internal room state. - let membership = self.membership(); - if !matches!(membership, Membership::Invited | Membership::Knocked) { - return Err(RoomListError::IncorrectRoomMembership { - expected: vec![Membership::Invited, Membership::Knocked], - actual: membership, - } - .into()); - } - // Do the thing. let client = self.inner.client(); let (room_or_alias_id, mut server_names) = if let Some(alias) = self.inner.canonical_alias()