From 1348a26d1b484150b0938dcf831d2d1cad57970b Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 17 Sep 2024 10:04:28 +0200 Subject: [PATCH 1/4] SDK 0.2.45 abbe2ec52316c998c3894989b9c48b3781967d26 --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 07898a0950..d536ed5c68 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -162,7 +162,7 @@ jsoup = "org.jsoup:jsoup:1.18.1" appyx_core = { module = "com.bumble.appyx:core", version.ref = "appyx" } molecule-runtime = "app.cash.molecule:molecule-runtime:2.0.0" timber = "com.jakewharton.timber:timber:5.0.1" -matrix_sdk = "org.matrix.rustcomponents:sdk-android:0.2.44" +matrix_sdk = "org.matrix.rustcomponents:sdk-android:0.2.45" matrix_richtexteditor = { module = "io.element.android:wysiwyg", version.ref = "wysiwyg" } matrix_richtexteditor_compose = { module = "io.element.android:wysiwyg-compose", version.ref = "wysiwyg" } sqldelight-driver-android = { module = "app.cash.sqldelight:android-driver", version.ref = "sqldelight" } From 6117a23ed57db9a80d02b1452ba8f6b57fbf644c Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 17 Sep 2024 10:21:27 +0200 Subject: [PATCH 2/4] Use new API `awaitRoomRemoteEcho` to wait for the created room to be available. --- .../android/libraries/matrix/impl/RustMatrixClient.kt | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClient.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClient.kt index 1112fde2f5..ff43659b40 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClient.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClient.kt @@ -311,14 +311,16 @@ class RustMatrixClient( avatar = createRoomParams.avatar, powerLevelContentOverride = defaultRoomCreationPowerLevels, ) - val roomId = RoomId(client.createRoom(rustParams)) + val roomId = client.createRoom(rustParams) // Wait to receive the room back from the sync but do not returns failure if it fails. try { - awaitJoinedRoom(roomId.toRoomIdOrAlias(), 30.seconds) + withTimeout(30.seconds) { + client.awaitRoomRemoteEcho(roomId) + } } catch (e: Exception) { Timber.e(e, "Timeout waiting for the room to be available in the room list") } - roomId + RoomId(roomId) } } From 70a575636949bef56c9bd0361e739ce27baa7e39 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 17 Sep 2024 10:59:26 +0200 Subject: [PATCH 3/4] Use new API `awaitRoomRemoteEcho` to ensure that the room is ready SDK side. --- .../android/libraries/matrix/impl/RustMatrixClient.kt | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClient.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClient.kt index ff43659b40..9e77dcff4c 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClient.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClient.kt @@ -272,6 +272,8 @@ class RustMatrixClient( .filter(predicate) .first() .first() + // Ensure that the room is ready + .also { client.awaitRoomRemoteEcho(it.roomId.value) } } } @@ -311,16 +313,14 @@ class RustMatrixClient( avatar = createRoomParams.avatar, powerLevelContentOverride = defaultRoomCreationPowerLevels, ) - val roomId = client.createRoom(rustParams) + val roomId = RoomId(client.createRoom(rustParams)) // Wait to receive the room back from the sync but do not returns failure if it fails. try { - withTimeout(30.seconds) { - client.awaitRoomRemoteEcho(roomId) - } + awaitJoinedRoom(roomId.toRoomIdOrAlias(), 30.seconds) } catch (e: Exception) { Timber.e(e, "Timeout waiting for the room to be available in the room list") } - RoomId(roomId) + roomId } } From 750e0312c745c2d23f3901649b6e657168524856 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 17 Sep 2024 11:01:28 +0200 Subject: [PATCH 4/4] Fix test compilation issue. --- .../impl/call/DefaultElementCallBaseUrlProviderTest.kt | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/call/DefaultElementCallBaseUrlProviderTest.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/call/DefaultElementCallBaseUrlProviderTest.kt index 03174d5359..a5333d3c1f 100644 --- a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/call/DefaultElementCallBaseUrlProviderTest.kt +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/call/DefaultElementCallBaseUrlProviderTest.kt @@ -91,8 +91,9 @@ class DefaultElementCallBaseUrlProviderTest { private fun createElementWellKnown(widgetUrl: String): ElementWellKnown { return ElementWellKnown( call = ElementCallWellKnown( - widgetUrl = widgetUrl - ) + widgetUrl = widgetUrl, + ), + registrationHelperUrl = null, ) } }