Optimize leaving a room from home screen (#868)

* Use joinedMembersCount in HomeScreenViewModel

* Update matrix-rust-sdk to 1.0.62-alpha
This commit is contained in:
Alfonso Grillo
2023-05-09 17:06:19 +02:00
committed by GitHub
parent 1bd6e461ed
commit faefb00626
6 changed files with 39 additions and 15 deletions
@@ -325,20 +325,11 @@ class HomeScreenViewModel: HomeScreenViewModelType, HomeScreenViewModelProtocol
return
}
guard !room.isPublic else {
if room.isPublic {
state.bindings.leaveRoomAlertItem = LeaveRoomAlertItem(roomId: roomId, state: .public)
return
} else {
state.bindings.leaveRoomAlertItem = room.joinedMembersCount > 1 ? LeaveRoomAlertItem(roomId: roomId, state: .private) : LeaveRoomAlertItem(roomId: roomId, state: .empty)
}
await room.updateMembers()
let joinedMembers = await room.membersPublisher.values.first()?.filter { $0.membership == .join }
guard let joinedMembers else {
state.bindings.alertInfo = AlertInfo(id: UUID(), title: L10n.errorUnknown)
return
}
state.bindings.leaveRoomAlertItem = joinedMembers.count > 1 ? LeaveRoomAlertItem(roomId: roomId, state: .private) : LeaveRoomAlertItem(roomId: roomId, state: .empty)
}
}