core, ui: total match in moderation path, merge member profile, reload list for another group on iOS

This commit is contained in:
Narasimha-sc
2026-09-26 17:36:58 +00:00
parent de0b293da7
commit 9de8a82cfd
5 changed files with 10 additions and 6 deletions
+1
View File
@@ -1334,6 +1334,7 @@ final class ChatModel: ObservableObject {
if let current = getGroupMember(member.groupMemberId)?.wrapped {
m = current
m.supportChat = member.supportChat
m.memberProfile = member.memberProfile
}
_ = upsertGroupMember(groupInfo, m)
objectWillChange.send()
@@ -20,7 +20,7 @@ struct MemberSupportView: View {
var body: some View {
viewBody()
.onAppear {
if !chatModel.membersLoaded {
if !chatModel.membersLoaded || chatModel.groupMembers.first?.wrapped.groupId != groupInfo.groupId {
Task {
await chatModel.loadGroupMembers(groupInfo)
}
@@ -385,7 +385,7 @@ object ChatModel {
if (cInfo !is ChatInfo.Group) return
val member = (cInfo.groupChatScope as? GroupChatScopeInfo.MemberSupport)?.groupMember_ ?: return
val current = groupMembersIndexes.value[member.groupMemberId]?.let { groupMembers.value.getOrNull(it) }
chatsContext.upsertGroupMember(rhId, cInfo.groupInfo, current?.copy(supportChat = member.supportChat) ?: member)
chatsContext.upsertGroupMember(rhId, cInfo.groupInfo, current?.copy(supportChat = member.supportChat, memberProfile = member.memberProfile) ?: member)
}
fun withLoadedSupportChat(member: GroupMember): GroupMember {