ios: clear members on chat change, reload list for another group, re-render only for open group

This commit is contained in:
Narasimha-sc
2026-09-26 17:53:02 +00:00
parent 0d19bb5ae6
commit 27b9d503f7
4 changed files with 10 additions and 4 deletions
+1 -1
View File
@@ -1329,7 +1329,7 @@ final class ChatModel: ObservableObject {
}
func upsertSupportChatMember(_ cInfo: ChatInfo) {
if case let .group(groupInfo, .memberSupport(member?)?) = cInfo {
if case let .group(groupInfo, .memberSupport(member?)?) = cInfo, chatId == groupInfo.id {
var m = member
if let current = getGroupMember(member.groupMemberId)?.wrapped {
m = current
@@ -359,6 +359,8 @@ struct ChatView: View {
revealedItems = Set()
stopAudioPlayer()
if let cId {
chatModel.groupMembers = []
chatModel.groupMembersIndexes.removeAll()
chatModel.membersLoaded = false
if let c = chatModel.getChat(cId) {
chat = c
@@ -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)
}