Fix Client.getJoinedRoom crash when a room doesn't exist locally (#4656)

This commit is contained in:
Jorge Martin Espinosa 2025-04-29 15:52:23 +02:00 committed by GitHub
parent 3235238999
commit d97473f42b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -267,17 +267,12 @@ class RustMatrixClient(
}
}
override suspend fun getRoom(roomId: RoomId): BaseRoom? {
return roomFactory.getBaseRoom(roomId)
override suspend fun getRoom(roomId: RoomId): BaseRoom? = withContext(sessionDispatcher) {
roomFactory.getBaseRoom(roomId)
}
override suspend fun getJoinedRoom(roomId: RoomId): JoinedRoom? {
return try {
(roomFactory.getJoinedRoomOrPreview(roomId) as GetRoomResult.Joined).joinedRoom
} catch (e: ClassCastException) {
Timber.e(e, "Room $roomId is not a joined room")
null
}
override suspend fun getJoinedRoom(roomId: RoomId): JoinedRoom? = withContext(sessionDispatcher) {
(roomFactory.getJoinedRoomOrPreview(roomId) as? GetRoomResult.Joined)?.joinedRoom
}
/**