diff --git a/bindings/matrix-sdk-ffi/src/room.rs b/bindings/matrix-sdk-ffi/src/room.rs index f0bcff74804..9abb3237231 100644 --- a/bindings/matrix-sdk-ffi/src/room.rs +++ b/bindings/matrix-sdk-ffi/src/room.rs @@ -18,7 +18,7 @@ use ruma::{ }, TimelineEventType, }, - EventId, Int, UserId, + EventId, Int, RoomAliasId, UserId, }; use tokio::sync::RwLock; use tracing::error; @@ -667,6 +667,15 @@ impl Room { } } +/// Generates a `matrix.to` permalink to the given room alias. +#[uniffi::export] +pub fn matrix_to_room_alias_permalink( + room_alias: String, +) -> std::result::Result { + let room_alias = RoomAliasId::parse(room_alias)?; + Ok(room_alias.matrix_to_uri().to_string()) +} + #[derive(uniffi::Record)] pub struct RoomPowerLevels { /// The level required to ban a user. diff --git a/bindings/matrix-sdk-ffi/src/room_member.rs b/bindings/matrix-sdk-ffi/src/room_member.rs index b8119157018..7fe579b1154 100644 --- a/bindings/matrix-sdk-ffi/src/room_member.rs +++ b/bindings/matrix-sdk-ffi/src/room_member.rs @@ -54,7 +54,7 @@ pub fn suggested_power_level_for_role(role: RoomMemberRole) -> i64 { role.suggested_power_level() } -/// Generates a `matrix.to` permalink from to the given userID. +/// Generates a `matrix.to` permalink to the given userID. #[uniffi::export] pub fn matrix_to_user_permalink(user_id: String) -> Result { let user_id = UserId::parse(user_id)?;