From 6af750e58673e84765f0e2c9d142d7b208fd1f29 Mon Sep 17 00:00:00 2001 From: Ilya Laktyushin Date: Fri, 10 Oct 2025 23:21:46 +0400 Subject: [PATCH 1/4] Various fixes --- Telegram/Telegram-iOS/en.lproj/Localizable.strings | 1 - .../Gifts/GiftViewScreen/Sources/GiftViewScreen.swift | 5 +++-- .../Sources/UserApperanceScreen.swift | 11 ++++++++++- versions.json | 2 +- 4 files changed, 14 insertions(+), 5 deletions(-) diff --git a/Telegram/Telegram-iOS/en.lproj/Localizable.strings b/Telegram/Telegram-iOS/en.lproj/Localizable.strings index 109dff50d0..221538f5c1 100644 --- a/Telegram/Telegram-iOS/en.lproj/Localizable.strings +++ b/Telegram/Telegram-iOS/en.lproj/Localizable.strings @@ -14973,7 +14973,6 @@ Sorry for the inconvenience."; "Gift.Value.MinimumPriceInfo" = "**%1$@** is the floor price for %2$@ gifts listed on Telegram and Fragment."; "Gift.Value.AveragePriceInfo" = "**%1$@** is the average sale price for %2$@ gifts listed on Telegram and Fragment over the past month."; -"Gift.Value.AveragePrice" = "Last Sale"; "Gift.Value.InitialSale" = "Initial Sale"; "Gift.Value.InitialPrice" = "Initial Price"; "Gift.Value.LastSale" = "Last Sale"; diff --git a/submodules/TelegramUI/Components/Gifts/GiftViewScreen/Sources/GiftViewScreen.swift b/submodules/TelegramUI/Components/Gifts/GiftViewScreen/Sources/GiftViewScreen.swift index db72c7cb89..f3e697413b 100644 --- a/submodules/TelegramUI/Components/Gifts/GiftViewScreen/Sources/GiftViewScreen.swift +++ b/submodules/TelegramUI/Components/Gifts/GiftViewScreen/Sources/GiftViewScreen.swift @@ -4561,11 +4561,12 @@ private final class GiftViewSheetContent: CombinedComponent { while j < suffix.endIndex, suffix[j].isNumber { j = suffix.index(after: j) } - if let value = Int(suffix[i.. Date: Fri, 10 Oct 2025 23:42:17 +0400 Subject: [PATCH 2/4] Bump --- build_number_offset | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build_number_offset b/build_number_offset index 4ec0d08e8a..d9e63ef1b8 100644 --- a/build_number_offset +++ b/build_number_offset @@ -1 +1 @@ -2600 +2620 From c2f274440199ae1b8275ac0d263698ae6b1e91c8 Mon Sep 17 00:00:00 2001 From: Isaac <> Date: Fri, 14 Nov 2025 16:05:27 +0800 Subject: [PATCH 3/4] Don't display send as when there is only one peer --- .../Sources/StoryItemSetContainerComponent.swift | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/submodules/TelegramUI/Components/Stories/StoryContainerScreen/Sources/StoryItemSetContainerComponent.swift b/submodules/TelegramUI/Components/Stories/StoryContainerScreen/Sources/StoryItemSetContainerComponent.swift index a900f68c1d..8aef438878 100644 --- a/submodules/TelegramUI/Components/Stories/StoryContainerScreen/Sources/StoryItemSetContainerComponent.swift +++ b/submodules/TelegramUI/Components/Stories/StoryContainerScreen/Sources/StoryItemSetContainerComponent.swift @@ -3028,11 +3028,13 @@ public final class StoryItemSetContainerComponent: Component { } var sendAsPeer: SendAsPeer? - if let currentSendAsPeer = self.sendMessageContext.currentSendAsPeer { - sendAsPeer = currentSendAsPeer - } else { - sendAsPeer = liveChatStateValue.defaultSendAs.flatMap { defaultSendAs in - return self.sendMessageContext.sendAsData?.availablePeers.first(where: { $0.peer.id == defaultSendAs }) + if let sendAsData = self.sendMessageContext.sendAsData, sendAsData.availablePeers.count > 1 { + if let currentSendAsPeer = self.sendMessageContext.currentSendAsPeer { + sendAsPeer = currentSendAsPeer + } else { + sendAsPeer = liveChatStateValue.defaultSendAs.flatMap { defaultSendAs in + return self.sendMessageContext.sendAsData?.availablePeers.first(where: { $0.peer.id == defaultSendAs }) + } } } From 441b4ccc9fcac0e06d983c71c78b6c5bbd469114 Mon Sep 17 00:00:00 2001 From: Isaac <> Date: Fri, 14 Nov 2025 16:37:40 +0800 Subject: [PATCH 4/4] Fix reaction stream layout --- .../Sources/LiveChatReactionStreamView.swift | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/submodules/TelegramUI/Components/Stories/StoryContainerScreen/Sources/LiveChatReactionStreamView.swift b/submodules/TelegramUI/Components/Stories/StoryContainerScreen/Sources/LiveChatReactionStreamView.swift index 46c9f33fba..2b8caaa9bc 100644 --- a/submodules/TelegramUI/Components/Stories/StoryContainerScreen/Sources/LiveChatReactionStreamView.swift +++ b/submodules/TelegramUI/Components/Stories/StoryContainerScreen/Sources/LiveChatReactionStreamView.swift @@ -9,6 +9,7 @@ import AccountContext import HierarchyTrackingLayer import LokiRng import SwiftSignalKit +import TelegramPresentationData private let gradientColors: [NSArray] = [ [UIColor(rgb: 0xff516a).cgColor, UIColor(rgb: 0xff885e).cgColor], @@ -93,15 +94,17 @@ private func avatarViewLettersImage(size: CGSize, peerId: EnginePeer.Id, letters } private func makePeerBadgeImage(engine: TelegramEngine, peer: EnginePeer, count: Int) async -> UIImage { + let count = 123 + let avatarSize: CGFloat = 16.0 let avatarInset: CGFloat = 2.0 let avatarIconSpacing: CGFloat = 2.0 let iconTextSpacing: CGFloat = 1.0 let iconSize: CGFloat = 10.0 - let rightInset: CGFloat = 2.0 + let rightInset: CGFloat = 5.0 - let text = NSAttributedString(string: "\(count)", font: Font.semibold(10.0), textColor: .white) - var textSize = text.boundingRect(with: CGSize(width: 100.0, height: 100.0), options: .usesLineFragmentOrigin, context: nil).size + let text = NSAttributedString(string: countString(Int64(count)), font: Font.semibold(10.0), textColor: .white) + var textSize = text.boundingRect(with: CGSize(width: 200.0, height: 100.0), options: .usesLineFragmentOrigin, context: nil).size textSize.width = ceil(textSize.width) textSize.height = ceil(textSize.height) @@ -127,7 +130,7 @@ private func makePeerBadgeImage(engine: TelegramEngine, peer: EnginePeer, count: disposable.dispose() } - let size = CGSize(width: avatarInset + avatarSize + avatarIconSpacing + iconSize + iconTextSpacing + textSize.height + rightInset, height: avatarSize + avatarInset * 2.0) + let size = CGSize(width: avatarInset + avatarSize + avatarIconSpacing + iconSize + iconTextSpacing + textSize.width + rightInset, height: avatarSize + avatarInset * 2.0) return generateImage(size, rotatedContext: { size, context in UIGraphicsPushContext(context) defer {