Use new API awaitRoomRemoteEcho to ensure that the room is ready SDK side.

This commit is contained in:
Benoit Marty 2024-09-17 10:59:26 +02:00
parent beb0bff3cc
commit 3a0e182ba9

View file

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