From 940bfd3a81de1cb9a9e45af5df5b4cdad9257edd Mon Sep 17 00:00:00 2001 From: Christophe Deschamps Date: Fri, 22 Sep 2023 11:13:26 +0200 Subject: [PATCH] Do not create local push notifications inside muted chatrooms --- LocalPushProvider/LocalPushProvider.swift | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/LocalPushProvider/LocalPushProvider.swift b/LocalPushProvider/LocalPushProvider.swift index 7fdbf2203..2e70d48d7 100644 --- a/LocalPushProvider/LocalPushProvider.swift +++ b/LocalPushProvider/LocalPushProvider.swift @@ -39,12 +39,21 @@ class LocalPushProvider: NEAppPushProvider { var aggretatorTimer:Timer? = nil var aggregagor:[ChatMessage] = [] + func chatRoomMuted(chatRoom:ChatRoom) -> Bool { + if let chatroomsPushStatus = defaults?.dictionary(forKey: "chatroomsPushStatus"), let from = chatRoom.peerAddress?.asStringUriOnly() { + if ((chatroomsPushStatus[from] as? String) == "disabled") { + return true + } + } + return false + } + func createCore() throws { coreDelegateStub = CoreDelegateStub( onMessageReceived: { (core:Core, chatRoom:ChatRoom, message:ChatMessage) -> Void in if (self.ignoredContentTypes.contains(message.contentType)) { self.log.error(message: "Received unexpected content type.\(message.contentType)") - } else { + } else if (!self.chatRoomMuted(chatRoom: chatRoom)) { self.aggregagor.append(message) } }