diff --git a/submodules/Components/ReactionButtonListComponent/Sources/ReactionButtonListComponent.swift b/submodules/Components/ReactionButtonListComponent/Sources/ReactionButtonListComponent.swift index 6ba0db1c0d..9427af0a0d 100644 --- a/submodules/Components/ReactionButtonListComponent/Sources/ReactionButtonListComponent.swift +++ b/submodules/Components/ReactionButtonListComponent/Sources/ReactionButtonListComponent.swift @@ -767,6 +767,10 @@ public final class ReactionButtonAsyncNode: ContextControllerSourceView { override init(frame: CGRect) { self.containerView = ContextExtractedContentContainingView() + + self.containerView.isMultipleTouchEnabled = false + self.containerView.isExclusiveTouch = true + self.buttonNode = ContainerButtonNode() self.iconView = ReactionIconView() diff --git a/submodules/Display/Source/ContextControllerSourceNode.swift b/submodules/Display/Source/ContextControllerSourceNode.swift index 4dc6d55fdc..2de0835f38 100644 --- a/submodules/Display/Source/ContextControllerSourceNode.swift +++ b/submodules/Display/Source/ContextControllerSourceNode.swift @@ -181,6 +181,9 @@ open class ContextControllerSourceView: UIView { override public init(frame: CGRect) { super.init(frame: frame) + self.isMultipleTouchEnabled = false + self.isExclusiveTouch = true + let contextGesture = ContextGesture(target: self, action: nil) self.contextGesture = contextGesture self.addGestureRecognizer(contextGesture) diff --git a/submodules/TelegramCore/Sources/TelegramEngine/Messages/AdMessages.swift b/submodules/TelegramCore/Sources/TelegramEngine/Messages/AdMessages.swift index 2b47f3948a..e16c15a59a 100644 --- a/submodules/TelegramCore/Sources/TelegramEngine/Messages/AdMessages.swift +++ b/submodules/TelegramCore/Sources/TelegramEngine/Messages/AdMessages.swift @@ -644,9 +644,11 @@ private class AdMessagesHistoryContextImpl { joinHash: chatInviteHash, nameColor: peer.nameColor, image: nil, - peer: peer + peer: displayAvatar ? peer : nil )) } + + displayAvatar = false case let .chatInviteAlready(chat): if let peer = parseTelegramGroupOrChannel(chat: chat) { target = .invite(CachedMessage.Target.Invite( diff --git a/submodules/TelegramUI/Sources/ChatController.swift b/submodules/TelegramUI/Sources/ChatController.swift index 7db728f2c5..1a3f79504e 100644 --- a/submodules/TelegramUI/Sources/ChatController.swift +++ b/submodules/TelegramUI/Sources/ChatController.swift @@ -1347,16 +1347,6 @@ public final class ChatControllerImpl: TelegramBaseController, ChatController, G return } - if !canAddMessageReactions(message: message) { - itemNode.openMessageContextMenu() - return - } - - if strongSelf.context.sharedContext.immediateExperimentalUISettings.disableQuickReaction { - itemNode.openMessageContextMenu() - return - } - let chosenReaction: MessageReaction.Reaction? switch reaction { @@ -1397,6 +1387,16 @@ public final class ChatControllerImpl: TelegramBaseController, ChatController, G } if removedReaction == nil { + if !canAddMessageReactions(message: message) { + itemNode.openMessageContextMenu() + return + } + + if strongSelf.context.sharedContext.immediateExperimentalUISettings.disableQuickReaction { + itemNode.openMessageContextMenu() + return + } + guard let allowedReactions = allowedReactions else { itemNode.openMessageContextMenu() return