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))) } }