Use new API awaitRoomRemoteEcho to ensure that the room is ready SDK side.
This commit is contained in:
+5
-5
@@ -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
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user