mirror of
https://github.com/simplex-chat/simplex-chat.git
synced 2025-06-28 20:29:53 +00:00
ios: only show notification on received messages, do not remove non-current group members from contacts that can be added to the group (#846)
This commit is contained in:
parent
bf4072b365
commit
4a931bc145
3 changed files with 31 additions and 17 deletions
|
@ -765,7 +765,7 @@ func processReceivedMsg(_ res: ChatResponse) async {
|
|||
await receiveFile(fileId: file.fileId)
|
||||
}
|
||||
}
|
||||
if !cItem.isCall() {
|
||||
if !cItem.chatDir.sent && !cItem.isCall() {
|
||||
NtfManager.shared.notifyMessageReceived(cInfo, cItem)
|
||||
}
|
||||
case let .chatItemStatusUpdated(aChatItem):
|
||||
|
|
|
@ -67,8 +67,8 @@ struct AddGroupMembersView: View {
|
|||
}
|
||||
|
||||
func getContactsToAdd() async -> [Contact] {
|
||||
let memberContactIds = await apiListMembers(chat.chatInfo.apiId)
|
||||
.compactMap{ $0.memberContactId }
|
||||
let ms = await apiListMembers(chat.chatInfo.apiId)
|
||||
let memberContactIds = ms.compactMap{ m in m.memberCurrent ? m.memberContactId : nil }
|
||||
return chatModel.chats
|
||||
.compactMap{ $0.chatInfo.contact }
|
||||
.filter{ !memberContactIds.contains($0.apiId) }
|
||||
|
|
|
@ -511,20 +511,34 @@ public struct GroupMember: Identifiable, Decodable {
|
|||
}
|
||||
|
||||
public var memberActive: Bool {
|
||||
get {
|
||||
switch self.memberStatus {
|
||||
case .memRemoved: return false
|
||||
case .memLeft: return false
|
||||
case .memGroupDeleted: return false
|
||||
case .memInvited: return false
|
||||
case .memIntroduced: return false
|
||||
case .memIntroInvited: return false
|
||||
case .memAccepted: return false
|
||||
case .memAnnounced: return false
|
||||
case .memConnected: return true
|
||||
case .memComplete: return true
|
||||
case .memCreator: return true
|
||||
}
|
||||
switch memberStatus {
|
||||
case .memRemoved: return false
|
||||
case .memLeft: return false
|
||||
case .memGroupDeleted: return false
|
||||
case .memInvited: return false
|
||||
case .memIntroduced: return false
|
||||
case .memIntroInvited: return false
|
||||
case .memAccepted: return false
|
||||
case .memAnnounced: return false
|
||||
case .memConnected: return true
|
||||
case .memComplete: return true
|
||||
case .memCreator: return true
|
||||
}
|
||||
}
|
||||
|
||||
public var memberCurrent: Bool {
|
||||
switch memberStatus {
|
||||
case .memRemoved: return false
|
||||
case .memLeft: return false
|
||||
case .memGroupDeleted: return false
|
||||
case .memInvited: return false
|
||||
case .memIntroduced: return true
|
||||
case .memIntroInvited: return true
|
||||
case .memAccepted: return true
|
||||
case .memAnnounced: return true
|
||||
case .memConnected: return true
|
||||
case .memComplete: return true
|
||||
case .memCreator: return true
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue