diff --git a/submodules/TelegramCore/Sources/State/AccountStateManager.swift b/submodules/TelegramCore/Sources/State/AccountStateManager.swift index aeb5bf16f0..5b1a321b0d 100644 --- a/submodules/TelegramCore/Sources/State/AccountStateManager.swift +++ b/submodules/TelegramCore/Sources/State/AccountStateManager.swift @@ -1026,7 +1026,7 @@ public final class AccountStateManager { } let _ = (signal - |> deliverOn(self.queue)).start(next: { [weak self] messages in + |> deliverOn(self.queue)).start(next: { [weak self] messages in if let strongSelf = self { strongSelf.notificationMessagesPipe.putNext(messages) } @@ -1953,6 +1953,9 @@ public func messagesForNotification(transaction: Transaction, id: MessageId, alw } if let channel = message.peers[message.id.peerId] as? TelegramChannel { + if !channel.flags.contains(.isForum) { + threadData = nil + } switch channel.participationStatus { case .kicked, .left: return ([], false, sound, false, threadData) diff --git a/submodules/TelegramCore/Sources/TelegramEngine/Messages/ChatList.swift b/submodules/TelegramCore/Sources/TelegramEngine/Messages/ChatList.swift index 96d56034ed..8fbfbca7e5 100644 --- a/submodules/TelegramCore/Sources/TelegramEngine/Messages/ChatList.swift +++ b/submodules/TelegramCore/Sources/TelegramEngine/Messages/ChatList.swift @@ -457,8 +457,13 @@ extension EngineChatList.Item { let readCounters = readState.flatMap(EnginePeerReadCounters.init) - if let channel = renderedPeer.peer as? TelegramChannel, channel.flags.contains(.isForum) { - draft = nil + if let channel = renderedPeer.peer as? TelegramChannel { + if channel.flags.contains(.isForum) { + draft = nil + } else { + forumTopicDataValue = nil + topForumTopicItems = [] + } } self.init(