diff --git a/apps/ios/Shared/Model/SimpleXAPI.swift b/apps/ios/Shared/Model/SimpleXAPI.swift index d1da837488..74395302a8 100644 --- a/apps/ios/Shared/Model/SimpleXAPI.swift +++ b/apps/ios/Shared/Model/SimpleXAPI.swift @@ -1326,8 +1326,11 @@ func processReceivedMsg(_ res: ChatResponse) async { case let .chatItemStatusUpdated(user, aChatItem): let cInfo = aChatItem.chatInfo let cItem = aChatItem.chatItem - if !cItem.isDeletedContent && (!active(user) || m.upsertChatItem(cInfo, cItem)) { - NtfManager.shared.notifyMessageReceived(user, cInfo, cItem) + if !cItem.isDeletedContent { + let added = active(user) ? m.upsertChatItem(cInfo, cItem) : true + if added && cItem.showNotification { + NtfManager.shared.notifyMessageReceived(user, cInfo, cItem) + } } if let endTask = m.messageDelivery[cItem.id] { switch cItem.meta.itemStatus { diff --git a/apps/ios/SimpleX.xcodeproj/xcshareddata/xcschemes/SimpleX (iOS).xcscheme b/apps/ios/SimpleX.xcodeproj/xcshareddata/xcschemes/SimpleX (iOS).xcscheme index 6a1d4192e6..973c30c71e 100644 --- a/apps/ios/SimpleX.xcodeproj/xcshareddata/xcschemes/SimpleX (iOS).xcscheme +++ b/apps/ios/SimpleX.xcodeproj/xcshareddata/xcschemes/SimpleX (iOS).xcscheme @@ -41,7 +41,7 @@ { val cInfo = r.chatItem.chatInfo val cItem = r.chatItem.chatItem - if (active(r.user) && !cItem.isDeletedContent && chatModel.upsertChatItem(cInfo, cItem)) { - ntfManager.notifyMessageReceived(r.user, cInfo, cItem) - } - if (!active(r.user) && !cItem.isDeletedContent) { - ntfManager.notifyMessageReceived(r.user, cInfo, cItem) + if (!cItem.isDeletedContent) { + val added = if (active(r.user)) chatModel.upsertChatItem(cInfo, cItem) else true + if (added && cItem.showNotification) { + ntfManager.notifyMessageReceived(r.user, cInfo, cItem) + } } } is CR.ChatItemUpdated ->