From 09428e1e0ada649a8100c78aa6cc343cf64b19cf Mon Sep 17 00:00:00 2001 From: Ali <> Date: Sat, 15 Apr 2023 20:12:55 +0400 Subject: [PATCH 1/2] Filter valid file size --- .../TelegramUI/Sources/ChatMessageInteractiveFileNode.swift | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/submodules/TelegramUI/Sources/ChatMessageInteractiveFileNode.swift b/submodules/TelegramUI/Sources/ChatMessageInteractiveFileNode.swift index 106008bcc4..0f190f7e83 100644 --- a/submodules/TelegramUI/Sources/ChatMessageInteractiveFileNode.swift +++ b/submodules/TelegramUI/Sources/ChatMessageInteractiveFileNode.swift @@ -628,7 +628,7 @@ final class ChatMessageInteractiveFileNode: ASDisplayNode { let descriptionText: String if let performer = performer { descriptionText = performer - } else if let size = arguments.file.size { + } else if let size = arguments.file.size, size > 0 && size != .max { descriptionText = dataSizeString(size, formatting: DataSizeStringFormatting(chatPresentationData: arguments.presentationData)) } else { descriptionText = "" @@ -656,7 +656,7 @@ final class ChatMessageInteractiveFileNode: ASDisplayNode { descriptionString = candidateDescriptionString } else if !isVoice { let descriptionText: String - if let size = arguments.file.size { + if let size = arguments.file.size, size > 0 && size != .max { descriptionText = dataSizeString(size, formatting: DataSizeStringFormatting(chatPresentationData: arguments.presentationData)) } else { descriptionText = "" @@ -1468,7 +1468,7 @@ final class ChatMessageInteractiveFileNode: ASDisplayNode { if let fetchStatus = fetchStatus { switch fetchStatus { case let .Fetching(_, progress): - if let size = file.size { + if let size = file.size, size > 0 && size != .max { let compactString = dataSizeString(Int(Float(size) * progress), forceDecimal: true, formatting: DataSizeStringFormatting(chatPresentationData: presentationData)) let descriptionFont = Font.with(size: floor(presentationData.fontSize.baseDisplaySize * 13.0 / 17.0), design: .regular, weight: .regular, traits: [.monospacedNumbers]) downloadingStrings = ("\(compactString) / \(dataSizeString(size, forceDecimal: true, formatting: DataSizeStringFormatting(chatPresentationData: presentationData)))", compactString, descriptionFont) From 79d819a76a8f03a92cc306b748c93c7b9a39dc41 Mon Sep 17 00:00:00 2001 From: Mike Renoir <> Date: Mon, 17 Apr 2023 13:48:05 +0300 Subject: [PATCH 2/2] emoji package --- submodules/Emoji/Package.swift | 30 +++++++++++++++++++++++++++ submodules/TelegramCore/Package.swift | 2 ++ 2 files changed, 32 insertions(+) create mode 100644 submodules/Emoji/Package.swift diff --git a/submodules/Emoji/Package.swift b/submodules/Emoji/Package.swift new file mode 100644 index 0000000000..98ba6f1eb0 --- /dev/null +++ b/submodules/Emoji/Package.swift @@ -0,0 +1,30 @@ +// swift-tools-version:5.5 +// The swift-tools-version declares the minimum version of Swift required to build this package. + +import PackageDescription + +let package = Package( + name: "Emoji", + platforms: [.macOS(.v10_12)], + products: [ + // Products define the executables and libraries a package produces, and make them visible to other packages. + .library( + name: "Emoji", + targets: ["Emoji"]), + ], + dependencies: [ + // Dependencies declare other packages that this package depends on. + // .package(url: /* package url */, from: "1.0.0"), + ], + targets: [ + // Targets are the basic building blocks of a package. A target can define a module or a test suite. + // Targets can depend on other targets in this package, and on products in packages this package depends on. + .target( + name: "Emoji", + dependencies: [ + + ], + path: ".", + exclude: ["BUILD"]), + ] +) diff --git a/submodules/TelegramCore/Package.swift b/submodules/TelegramCore/Package.swift index 0f5dd02e8b..c98e938f00 100644 --- a/submodules/TelegramCore/Package.swift +++ b/submodules/TelegramCore/Package.swift @@ -24,6 +24,7 @@ let package = Package( .package(name: "Reachability", path: "../Reachability"), .package(name: "DarwinDirStat", path: "../Utils/DarwinDirStat"), .package(name: "EncryptionProvider", path: "../EncryptionProvider"), + .package(name: "Emoji", path: "../Emoji"), ], targets: [ // Targets are the basic building blocks of a package. A target can define a module or a test suite. @@ -38,6 +39,7 @@ let package = Package( .product(name: "NetworkLogging", package: "NetworkLogging", condition: nil), .product(name: "DarwinDirStat", package: "DarwinDirStat", condition: nil), .product(name: "Reachability", package: "Reachability", condition: nil), + .product(name: "Emoji", package: "Emoji", condition: nil), .product(name: "EncryptionProvider", package: "EncryptionProvider", condition: nil)], path: "Sources"), ]