Merge branch 'beta'

This commit is contained in:
Ali
2023-11-06 23:56:38 +04:00
4 changed files with 40 additions and 7 deletions

View File

@@ -433,7 +433,7 @@ public class ChatMessageInteractiveInstantVideoNode: ASDisplayNode {
forwardAuthorSignature = forwardInfo.authorSignature
}
}
let availableWidth: CGFloat = max(60.0, availableContentWidth - 210.0 + 6.0)
let availableWidth: CGFloat = max(60.0, availableContentWidth - 220.0 + 6.0)
forwardInfoSizeApply = makeForwardInfoLayout(item.context, item.presentationData, item.presentationData.strings, .standalone, forwardSource, forwardAuthorSignature, forwardPsaType, nil, CGSize(width: availableWidth, height: CGFloat.greatestFiniteMagnitude))
}

View File

@@ -22,6 +22,31 @@ import ChatControllerInteraction
private let titleFont: UIFont = Font.semibold(15.0)
public func defaultWebpageImageSizeIsSmall(webpage: TelegramMediaWebpageLoadedContent) -> Bool {
let type = websiteType(of: webpage.websiteName)
let mainMedia: Media?
switch type {
case .instagram, .twitter:
mainMedia = webpage.story ?? webpage.image ?? webpage.file
default:
mainMedia = webpage.story ?? webpage.file ?? webpage.image
}
if let image = mainMedia as? TelegramMediaImage {
if let type = webpage.type, (["photo", "video", "embed", "gif", "document", "telegram_album"] as [String]).contains(type) {
} else if let type = webpage.type, (["article"] as [String]).contains(type) {
return true
} else if let _ = largestImageRepresentation(image.representations)?.dimensions {
if webpage.instantPage == nil {
return true
}
}
}
return false
}
public final class ChatMessageWebpageBubbleContentNode: ChatMessageBubbleContentNode {
private var webPage: TelegramMediaWebpage?
@@ -309,10 +334,7 @@ public final class ChatMessageWebpageBubbleContentNode: ChatMessageBubbleContent
}
mediaAndFlags = (image, flags)
} else if let _ = largestImageRepresentation(image.representations)?.dimensions {
var flags = ChatMessageAttachedContentNodeMediaFlags()
if webpage.instantPage == nil {
flags.insert(.preferMediaInline)
}
let flags = ChatMessageAttachedContentNodeMediaFlags()
mediaAndFlags = (image, flags)
}
} else if let story = mainMedia as? TelegramMediaStory {
@@ -441,6 +463,10 @@ public final class ChatMessageWebpageBubbleContentNode: ChatMessageBubbleContent
}
}
if defaultWebpageImageSizeIsSmall(webpage: webpage) {
mediaAndFlags?.1.insert(.preferMediaInline)
}
if let webPageContent, let isMediaLargeByDefault = webPageContent.isMediaLargeByDefault, !isMediaLargeByDefault {
mediaAndFlags?.1.insert(.preferMediaInline)
} else if let attribute = item.message.attributes.first(where: { $0 is WebpagePreviewMessageAttribute }) as? WebpagePreviewMessageAttribute {

View File

@@ -16,6 +16,7 @@ import TextFormat
import ChatMessageItemView
import ChatMessageBubbleItemNode
import TelegramNotices
import ChatMessageWebpageBubbleContentNode
private enum OptionsId: Hashable {
case reply
@@ -710,7 +711,13 @@ private func chatLinkOptions(selfController: ChatControllerImpl, sourceNode: ASD
var largeMedia = false
if webpageHasLargeMedia {
largeMedia = urlPreview.largeMedia ?? true
if let value = urlPreview.largeMedia {
largeMedia = value
} else if case let .Loaded(content) = urlPreview.webPage.content {
largeMedia = !defaultWebpageImageSizeIsSmall(webpage: content)
} else {
largeMedia = true
}
} else {
largeMedia = false
}

View File

@@ -1,5 +1,5 @@
{
"app": "10.2.3",
"app": "10.2.4",
"bazel": "6.4.0",
"xcode": "15.0"
}