diff --git a/submodules/ListMessageItem/Sources/ListMessageFileItemNode.swift b/submodules/ListMessageItem/Sources/ListMessageFileItemNode.swift index 4710550e54..4ecff9d8be 100644 --- a/submodules/ListMessageItem/Sources/ListMessageFileItemNode.swift +++ b/submodules/ListMessageItem/Sources/ListMessageFileItemNode.swift @@ -616,7 +616,7 @@ public final class ListMessageFileItemNode: ListMessageNode { let (titleNodeLayout, titleNodeApply) = titleNodeMakeLayout(TextNodeLayoutArguments(attributedString: titleText, backgroundColor: nil, maximumNumberOfLines: 2, truncationType: .middle, constrainedSize: CGSize(width: params.width - leftInset - leftOffset - rightInset - dateNodeLayout.size.width - 4.0, height: CGFloat.infinity), alignment: .natural, cutout: nil, insets: UIEdgeInsets())) - let (textNodeLayout, textNodeApply) = textNodeMakeLayout(TextNodeLayoutArguments(attributedString: captionText, backgroundColor: nil, maximumNumberOfLines: 1, truncationType: .end, constrainedSize: CGSize(width: params.width - leftInset - rightInset - 30.0, height: CGFloat.infinity), alignment: .natural, cutout: nil, insets: UIEdgeInsets())) + let (textNodeLayout, textNodeApply) = textNodeMakeLayout(TextNodeLayoutArguments(attributedString: captionText, backgroundColor: nil, maximumNumberOfLines: 3, truncationType: .end, constrainedSize: CGSize(width: params.width - leftInset - rightInset - 30.0, height: CGFloat.infinity), alignment: .natural, cutout: nil, insets: UIEdgeInsets())) let (descriptionNodeLayout, descriptionNodeApply) = descriptionNodeMakeLayout(TextNodeLayoutArguments(attributedString: descriptionText, backgroundColor: nil, maximumNumberOfLines: 1, truncationType: .end, constrainedSize: CGSize(width: params.width - leftInset - rightInset - 30.0, height: CGFloat.infinity), alignment: .natural, cutout: nil, insets: UIEdgeInsets())) diff --git a/submodules/MediaPlayer/Sources/MediaPlayer.swift b/submodules/MediaPlayer/Sources/MediaPlayer.swift index cadb46bfa5..07e3ebf9a7 100644 --- a/submodules/MediaPlayer/Sources/MediaPlayer.swift +++ b/submodules/MediaPlayer/Sources/MediaPlayer.swift @@ -490,6 +490,8 @@ private final class MediaPlayerContext { case .playing: break } + + self.stoppedAtEnd = false } fileprivate func playOnceWithSound(playAndRecord: Bool, seek: MediaPlayerSeek = .start) { @@ -537,6 +539,8 @@ private final class MediaPlayerContext { self.play() } } + + self.stoppedAtEnd = false } fileprivate func continuePlayingWithoutSound() { @@ -892,7 +896,7 @@ private final class MediaPlayerContext { let _ = self.playerStatusValue.swap(status) } - if performActionAtEndNow { + if performActionAtEndNow && !self.stoppedAtEnd { switch self.actionAtEnd { case let .loop(f): self.stoppedAtEnd = false diff --git a/submodules/TelegramUI/Sources/PeerMessagesMediaPlaylist.swift b/submodules/TelegramUI/Sources/PeerMessagesMediaPlaylist.swift index 6d072820b2..a55ea5c48a 100644 --- a/submodules/TelegramUI/Sources/PeerMessagesMediaPlaylist.swift +++ b/submodules/TelegramUI/Sources/PeerMessagesMediaPlaylist.swift @@ -676,6 +676,7 @@ final class PeerMessagesMediaPlaylist: SharedMediaPlaylist { case .random: var playbackStack = self.playbackStack inputIndex = messages + |> take(1) |> map { messages, _, _ -> MessageIndex in if case let .random(previous) = navigation, previous { let _ = playbackStack.pop() @@ -695,6 +696,7 @@ final class PeerMessagesMediaPlaylist: SharedMediaPlaylist { let historySignal = inputIndex |> mapToSignal { inputIndex -> Signal<(Message, [Message])?, NoError> in return messages + |> take(1) |> mapToSignal { messages, _, loadMore -> Signal<(Message, [Message])?, NoError> in let position: NavigatedMessageFromViewPosition switch navigation {