diff --git a/TelegramCore/AccountStateManager.swift b/TelegramCore/AccountStateManager.swift index fcdf19f150..de50cf6b3c 100644 --- a/TelegramCore/AccountStateManager.swift +++ b/TelegramCore/AccountStateManager.swift @@ -693,33 +693,30 @@ public func messageForNotification(modifier: Modifier, id: MessageId, alwaysRetu Logger.shared.log("AccountStateManager", "notification settings for \(id.peerId) are undefined") } - - if notify { - let message = modifier.getMessage(id) - if let message = message { - var foundReadState = false - var isUnread = true - if let readState = modifier.getCombinedPeerReadState(id.peerId) { - if readState.isIncomingMessageIndexRead(MessageIndex(message)) { - isUnread = false - } - foundReadState = true + let message = modifier.getMessage(id) + if let message = message { + var foundReadState = false + var isUnread = true + if let readState = modifier.getCombinedPeerReadState(id.peerId) { + if readState.isIncomingMessageIndexRead(MessageIndex(message)) { + isUnread = false } - - if !foundReadState { - Logger.shared.log("AccountStateManager", "read state for \(id.peerId) is undefined") - } - + foundReadState = true + } + + if !foundReadState { + Logger.shared.log("AccountStateManager", "read state for \(id.peerId) is undefined") + } + + if notify || message.flags.contains(.Personal) { return (message, isUnread) } else { - Logger.shared.log("AccountStateManager", "notification message doesn't exist") - return (nil, false) + return (alwaysReturnMessage ? message : nil, false) } + + } else { - var message: Message? - if alwaysReturnMessage { - message = modifier.getMessage(id) - } - return (message, false) + Logger.shared.log("AccountStateManager", "notification message doesn't exist") + return (nil, false) } } diff --git a/TelegramCore/StandaloneSendMessage.swift b/TelegramCore/StandaloneSendMessage.swift index b045cd97cb..6b3f3d26bb 100644 --- a/TelegramCore/StandaloneSendMessage.swift +++ b/TelegramCore/StandaloneSendMessage.swift @@ -49,7 +49,7 @@ private func sendMessageContent(account: Account, peerId: PeerId, attributes: [M if peerId.namespace == Namespaces.Peer.SecretChat { return .complete() } else if let peer = modifier.getPeer(peerId), let inputPeer = apiInputPeer(peer) { - var uniqueId: Int64 = 0 + var uniqueId: Int64 = arc4random64() //var forwardSourceInfoAttribute: ForwardSourceInfoAttribute? var messageEntities: [Api.MessageEntity]? var replyMessageId: Int32?