Various fixes

This commit is contained in:
Ilya Laktyushin 2022-07-25 07:48:13 +03:00
parent 0b41dff8f8
commit 5591fd9eb0

View File

@ -408,6 +408,10 @@ class ChatMessageGiftBubbleContentNode: ChatMessageBubbleContentNode {
} }
} }
override func unreadMessageRangeUpdated() {
self.updateVisibility()
}
private func updateVisibility() { private func updateVisibility() {
guard let item = self.item else { guard let item = self.item else {
return return
@ -422,19 +426,17 @@ class ChatMessageGiftBubbleContentNode: ChatMessageBubbleContentNode {
if isPlaying { if isPlaying {
var alreadySeen = true var alreadySeen = true
if item.message.flags.contains(.Incoming) {
if let unreadRange = item.controllerInteraction.unreadMessageRange[UnreadMessageRangeKey(peerId: item.message.id.peerId, namespace: item.message.id.namespace)] { if let unreadRange = item.controllerInteraction.unreadMessageRange[UnreadMessageRangeKey(peerId: item.message.id.peerId, namespace: item.message.id.namespace)] {
if unreadRange.contains(item.message.id.id) { if unreadRange.contains(item.message.id.id) {
if !item.controllerInteraction.seenOneTimeAnimatedMedia.contains(item.message.id) {
alreadySeen = false alreadySeen = false
} }
} }
} } else {
if item.controllerInteraction.playNextOutgoingGift && !item.controllerInteraction.seenOneTimeAnimatedMedia.contains(item.message.id) {
if !item.message.effectivelyIncoming(item.context.account.peerId)
&& item.controllerInteraction.playNextOutgoingGift
&& !item.controllerInteraction.seenOneTimeAnimatedMedia.contains(item.message.id) {
alreadySeen = false alreadySeen = false
} }
}
if !item.controllerInteraction.seenOneTimeAnimatedMedia.contains(item.message.id) { if !item.controllerInteraction.seenOneTimeAnimatedMedia.contains(item.message.id) {
item.controllerInteraction.seenOneTimeAnimatedMedia.insert(item.message.id) item.controllerInteraction.seenOneTimeAnimatedMedia.insert(item.message.id)