diff --git a/submodules/TelegramUI/Sources/ChatMessageAttachedContentNode.swift b/submodules/TelegramUI/Sources/ChatMessageAttachedContentNode.swift index 8941e6cb13..8f7d0bc68c 100644 --- a/submodules/TelegramUI/Sources/ChatMessageAttachedContentNode.swift +++ b/submodules/TelegramUI/Sources/ChatMessageAttachedContentNode.swift @@ -235,6 +235,7 @@ final class ChatMessageAttachedContentNode: ASDisplayNode { var openMedia: ((InteractiveMediaNodeActivateContent) -> Void)? var activateAction: (() -> Void)? + var requestUpdateLayout: (() -> Void)? var visibility: ListViewItemNodeVisibility = .none { didSet { @@ -837,7 +838,7 @@ final class ChatMessageAttachedContentNode: ASDisplayNode { strongSelf.theme = presentationData.theme strongSelf.lineNode.image = lineImage - strongSelf.lineNode.frame = CGRect(origin: CGPoint(x: 13.0, y: insets.top), size: CGSize(width: 2.0, height: adjustedLineHeight - insets.top - insets.bottom - 2.0)) + animation.animator.updateFrame(layer: strongSelf.lineNode.layer, frame: CGRect(origin: CGPoint(x: 13.0, y: insets.top), size: CGSize(width: 2.0, height: adjustedLineHeight - insets.top - insets.bottom - 2.0)), completion: nil) strongSelf.lineNode.isHidden = !displayLine strongSelf.textNode.displaysAsynchronously = !isPreview @@ -931,6 +932,11 @@ final class ChatMessageAttachedContentNode: ASDisplayNode { strongSelf.openMedia?(.default) } } + contentFileNode.requestUpdateLayout = { [weak strongSelf] _ in + if let strongSelf = strongSelf { + strongSelf.requestUpdateLayout?() + } + } } if let (_, flags) = mediaAndFlags, flags.contains(.preferMediaBeforeText) { contentFileNode.frame = CGRect(origin: CGPoint(x: insets.left, y: insets.top), size: contentFileSize) diff --git a/submodules/TelegramUI/Sources/ChatMessageInteractiveFileNode.swift b/submodules/TelegramUI/Sources/ChatMessageInteractiveFileNode.swift index f2375eb673..eb360e5b94 100644 --- a/submodules/TelegramUI/Sources/ChatMessageInteractiveFileNode.swift +++ b/submodules/TelegramUI/Sources/ChatMessageInteractiveFileNode.swift @@ -349,16 +349,21 @@ final class ChatMessageInteractiveFileNode: ASDisplayNode { var shouldBeginTranscription = false var shouldExpandNow = false - if let result = transcribedText(message: message) { + + if case .expanded = self.audioTranscriptionState { shouldExpandNow = true - - if case let .success(_, isPending) = result { - shouldBeginTranscription = isPending + } else { + if let result = transcribedText(message: message) { + shouldExpandNow = true + + if case let .success(_, isPending) = result { + shouldBeginTranscription = isPending + } else { + shouldBeginTranscription = true + } } else { shouldBeginTranscription = true } - } else { - shouldBeginTranscription = true } if shouldBeginTranscription { diff --git a/submodules/TelegramUI/Sources/ChatMessageWebpageBubbleContentNode.swift b/submodules/TelegramUI/Sources/ChatMessageWebpageBubbleContentNode.swift index 2c4c0321f9..f7e60862b9 100644 --- a/submodules/TelegramUI/Sources/ChatMessageWebpageBubbleContentNode.swift +++ b/submodules/TelegramUI/Sources/ChatMessageWebpageBubbleContentNode.swift @@ -96,6 +96,11 @@ final class ChatMessageWebpageBubbleContentNode: ChatMessageBubbleContentNode { } } } + self.contentNode.requestUpdateLayout = { [weak self] in + if let strongSelf = self, let item = strongSelf.item { + let _ = item.controllerInteraction.requestMessageUpdate(item.message.id) + } + } } required init?(coder aDecoder: NSCoder) {