diff --git a/submodules/AnimatedStickerNode/Sources/AnimatedStickerNode.swift b/submodules/AnimatedStickerNode/Sources/AnimatedStickerNode.swift index dbbf7b7cc9..0b3f5e1f67 100644 --- a/submodules/AnimatedStickerNode/Sources/AnimatedStickerNode.swift +++ b/submodules/AnimatedStickerNode/Sources/AnimatedStickerNode.swift @@ -290,7 +290,7 @@ public final class AnimatedStickerNode: ASDisplayNode { if let directData = try? Data(contentsOf: URL(fileURLWithPath: path), options: [.mappedRead]) { strongSelf.directData = (directData, path, width, height, cachePathPrefix, source.fitzModifier, source.isVideo) } - if case let .still(position) = playbackMode { + if case let .still(position) = strongSelf.playbackMode { strongSelf.seekTo(position) } else if strongSelf.isPlaying || strongSelf.autoplay { if strongSelf.autoplay { diff --git a/submodules/TelegramUI/Sources/ChatMessageAnimatedStickerItemNode.swift b/submodules/TelegramUI/Sources/ChatMessageAnimatedStickerItemNode.swift index a23ac23edc..5324a5f8b9 100644 --- a/submodules/TelegramUI/Sources/ChatMessageAnimatedStickerItemNode.swift +++ b/submodules/TelegramUI/Sources/ChatMessageAnimatedStickerItemNode.swift @@ -648,7 +648,11 @@ class ChatMessageAnimatedStickerItemNode: ChatMessageItemView { if isPlaying, let animationNode = self.animationNode as? AnimatedStickerNode { var alreadySeen = true - if item.message.flags.contains(.Incoming) { + if isEmoji { + if !item.controllerInteraction.seenOneTimeAnimatedMedia.contains(item.message.id) { + alreadySeen = false + } + } else if item.message.flags.contains(.Incoming) { 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 !item.controllerInteraction.seenOneTimeAnimatedMedia.contains(item.message.id) {