mirror of
https://github.com/Novaloop-AG/element-x-ios.git
synced 2026-11-05 11:58:32 +00:00
Prevent mapping members on the main queue inside the room screen view model
This commit is contained in:
committed by
Stefan Ceriu
parent
c2a1560b1d
commit
82981f33e9
@@ -119,9 +119,10 @@ class InviteUsersScreenViewModel: InviteUsersScreenViewModelType, InviteUsersScr
|
||||
hideLoader()
|
||||
}
|
||||
|
||||
roomProxy.membersPublisher
|
||||
roomProxy.members
|
||||
.filter { !$0.isEmpty }
|
||||
.first()
|
||||
.receive(on: DispatchQueue.main)
|
||||
.sink { [weak self] members in
|
||||
self?.buildMembershipStateIfNeeded(members: members)
|
||||
}
|
||||
|
||||
@@ -145,7 +145,8 @@ class RoomDetailsScreenViewModel: RoomDetailsScreenViewModelType, RoomDetailsScr
|
||||
return
|
||||
}
|
||||
|
||||
roomProxy.membersPublisher
|
||||
roomProxy.members
|
||||
.receive(on: DispatchQueue.main)
|
||||
.sink { [weak self] members in
|
||||
guard let self else { return }
|
||||
let dmRecipient = members.first(where: { !$0.isAccountOwner })
|
||||
|
||||
@@ -67,8 +67,9 @@ class RoomMembersListScreenViewModel: RoomMembersListScreenViewModelType, RoomMe
|
||||
hideLoader()
|
||||
}
|
||||
|
||||
roomProxy.membersPublisher
|
||||
roomProxy.members
|
||||
.filter { !$0.isEmpty }
|
||||
.receive(on: DispatchQueue.main)
|
||||
.sink { [weak self] members in
|
||||
self?.updateState(members: members)
|
||||
}
|
||||
|
||||
@@ -210,12 +210,13 @@ class RoomScreenViewModel: RoomScreenViewModelType, RoomScreenViewModelProtocol
|
||||
.weakAssign(to: \.state.readReceiptsEnabled, on: self)
|
||||
.store(in: &cancellables)
|
||||
|
||||
roomProxy.membersPublisher
|
||||
roomProxy.members
|
||||
.map { members in
|
||||
members.reduce(into: [String: RoomMemberState]()) { dictionary, member in
|
||||
dictionary[member.userID] = RoomMemberState(displayName: member.displayName, avatarURL: member.avatarURL)
|
||||
}
|
||||
}
|
||||
.receive(on: DispatchQueue.main)
|
||||
.weakAssign(to: \.state.members, on: self)
|
||||
.store(in: &cancellables)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user