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 e756bd1ad6
commit 6d4a7bb2b5

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
}
/**