Fix performance issues with Spaces on very large accounts #4898

- Support optional `MXSpace.room` property
This commit is contained in:
Gil Eluard
2021-10-07 08:46:19 +02:00
parent 71d324da54
commit a04c0f5d8d
2 changed files with 6 additions and 3 deletions
@@ -76,12 +76,12 @@ class SpaceMenuViewModel: SpaceMenuViewModelType {
}
private func leaveSpace() {
guard let space = self.session.spaceService.getSpace(withId: self.spaceId), let displayName = space.summary?.displayname else {
guard let room = self.session.room(withRoomId: self.spaceId), let displayName = room.summary?.displayname else {
return
}
var isAdmin = false
if let roomState = space.room.dangerousSyncState, let powerLevels = roomState.powerLevels {
if let roomState = room.dangerousSyncState, let powerLevels = roomState.powerLevels {
let powerLevel = powerLevels.powerLevelOfUser(withUserID: self.session.myUserId)
let roomPowerLevel = RoomPowerLevelHelper.roomPowerLevel(from: powerLevel)
isAdmin = roomPowerLevel == .admin
@@ -156,7 +156,7 @@ class SpaceMenuViewModel: SpaceMenuViewModelType {
}
private func leaveSpace(_ space: MXSpace) {
space.room.leave(completion: { [weak self] response in
space.room?.leave(completion: { [weak self] response in
guard let self = self else {
return
}