From 17805cbcd89c8b2bd54a008e30413dea0f5a5056 Mon Sep 17 00:00:00 2001 From: Mauro Romito Date: Thu, 21 Mar 2024 11:39:04 +0100 Subject: [PATCH 1/2] feat(bindings): added join room by id to ffi --- bindings/matrix-sdk-ffi/src/client.rs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/bindings/matrix-sdk-ffi/src/client.rs b/bindings/matrix-sdk-ffi/src/client.rs index 701aba39a..cb0b9ae52 100644 --- a/bindings/matrix-sdk-ffi/src/client.rs +++ b/bindings/matrix-sdk-ffi/src/client.rs @@ -751,6 +751,11 @@ impl Client { matrix_sdk::room_directory_search::RoomDirectorySearch::new((*self.inner).clone()), )) } + + pub async fn join_room_by_id(&self, room_id: String) -> Result, ClientError> { + let room = self.inner.join_room_by_id(room_id.into()).await?; + Ok(Arc::new(Room::new(room))) + } } #[uniffi::export(callback_interface)] From d447f63e33e816ef4c7e030ee320ae337be071c8 Mon Sep 17 00:00:00 2001 From: Mauro Romito Date: Thu, 21 Mar 2024 11:53:44 +0100 Subject: [PATCH 2/2] fixed invalid parsing --- bindings/matrix-sdk-ffi/src/client.rs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/bindings/matrix-sdk-ffi/src/client.rs b/bindings/matrix-sdk-ffi/src/client.rs index cb0b9ae52..dea353a89 100644 --- a/bindings/matrix-sdk-ffi/src/client.rs +++ b/bindings/matrix-sdk-ffi/src/client.rs @@ -32,7 +32,7 @@ use matrix_sdk::{ AnyInitialStateEvent, AnyToDeviceEvent, InitialStateEvent, }, serde::Raw, - EventEncryptionAlgorithm, TransactionId, UInt, UserId, + EventEncryptionAlgorithm, RoomId, TransactionId, UInt, UserId, }, AuthApi, AuthSession, Client as MatrixClient, SessionChange, SessionTokens, }; @@ -753,7 +753,8 @@ impl Client { } pub async fn join_room_by_id(&self, room_id: String) -> Result, ClientError> { - let room = self.inner.join_room_by_id(room_id.into()).await?; + let room_id = RoomId::parse(room_id)?; + let room = self.inner.join_room_by_id(room_id.as_ref()).await?; Ok(Arc::new(Room::new(room))) } }