From dd06ff38d02df636b44b90101ed7c0381508760c Mon Sep 17 00:00:00 2001 From: Ali <> Date: Mon, 3 Jul 2023 14:22:29 +0200 Subject: [PATCH] Possibly fix unwanted users in stories feed --- .../TelegramCore/Sources/UpdatePeers.swift | 26 ++++++++++--------- 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/submodules/TelegramCore/Sources/UpdatePeers.swift b/submodules/TelegramCore/Sources/UpdatePeers.swift index d18cb74f57..88e4771928 100644 --- a/submodules/TelegramCore/Sources/UpdatePeers.swift +++ b/submodules/TelegramCore/Sources/UpdatePeers.swift @@ -59,12 +59,13 @@ public func updatePeers(transaction: Transaction, peers: [Peer], update: (Peer?, var (state, peerIds) = transaction.getAllStorySubscriptions(key: .filtered) peerIds.removeAll(where: { $0 == updated.id }) transaction.replaceAllStorySubscriptions(key: .filtered, state: state, peerIds: peerIds) - } - if !transaction.storySubscriptionsContains(key: .hidden, peerId: updated.id) { - var (state, peerIds) = transaction.getAllStorySubscriptions(key: .hidden) - if !peerIds.contains(updated.id) { - peerIds.append(updated.id) - transaction.replaceAllStorySubscriptions(key: .hidden, state: state, peerIds: peerIds) + + if !transaction.storySubscriptionsContains(key: .hidden, peerId: updated.id) { + var (state, peerIds) = transaction.getAllStorySubscriptions(key: .hidden) + if !peerIds.contains(updated.id) { + peerIds.append(updated.id) + transaction.replaceAllStorySubscriptions(key: .hidden, state: state, peerIds: peerIds) + } } } } else { @@ -72,12 +73,13 @@ public func updatePeers(transaction: Transaction, peers: [Peer], update: (Peer?, var (state, peerIds) = transaction.getAllStorySubscriptions(key: .hidden) peerIds.removeAll(where: { $0 == updated.id }) transaction.replaceAllStorySubscriptions(key: .hidden, state: state, peerIds: peerIds) - } - if !transaction.storySubscriptionsContains(key: .filtered, peerId: updated.id) { - var (state, peerIds) = transaction.getAllStorySubscriptions(key: .filtered) - if !peerIds.contains(updated.id) { - peerIds.append(updated.id) - transaction.replaceAllStorySubscriptions(key: .filtered, state: state, peerIds: peerIds) + + if !transaction.storySubscriptionsContains(key: .filtered, peerId: updated.id) { + var (state, peerIds) = transaction.getAllStorySubscriptions(key: .filtered) + if !peerIds.contains(updated.id) { + peerIds.append(updated.id) + transaction.replaceAllStorySubscriptions(key: .filtered, state: state, peerIds: peerIds) + } } } }