diff --git a/submodules/LegacyComponents/PublicHeaders/LegacyComponents/TGClipboardMenu.h b/submodules/LegacyComponents/PublicHeaders/LegacyComponents/TGClipboardMenu.h index e2da85e7b9..d80b7bf955 100644 --- a/submodules/LegacyComponents/PublicHeaders/LegacyComponents/TGClipboardMenu.h +++ b/submodules/LegacyComponents/PublicHeaders/LegacyComponents/TGClipboardMenu.h @@ -15,7 +15,6 @@ + (TGMenuSheetController *)presentInParentController:(TGViewController *)parentController context:(id)context images:(NSArray *)images allowGrouping:(bool)allowGrouping hasCaption:(bool)hasCaption hasTimer:(bool)hasTimer hasSilentPosting:(bool)hasSilentPosting hasSchedule:(bool)hasSchedule reminder:(bool)reminder recipientName:(NSString *)recipientName stickersContext:(id)stickersContext presentScheduleController:(void (^)(void(^)(int32_t)))presentScheduleController presentTimerController:(void (^)(void(^)(int32_t)))presentTimerController completed:(void (^)(TGMediaSelectionContext *selectionContext, TGMediaEditingContext *editingContext, id currentItem, bool silentPosting, int32_t scheduleTime))completed dismissed:(void (^)(void))dismissed sourceView:(UIView *)sourceView sourceRect:(CGRect (^)(void))sourceRect; -+ (NSArray *)resultSignalsForSelectionContext:(TGMediaSelectionContext *)selectionContext editingContext:(TGMediaEditingContext *)editingContext currentItem:(id)currentItem descriptionGenerator:(id (^)(id, NSAttributedString *, - NSString *))descriptionGenerator; ++ (NSArray *)resultSignalsForSelectionContext:(TGMediaSelectionContext *)selectionContext editingContext:(TGMediaEditingContext *)editingContext currentItem:(id)currentItem descriptionGenerator:(id (^)(id, NSAttributedString *, NSString *))descriptionGenerator; @end diff --git a/submodules/PeerInfoUI/Sources/ChannelVisibilityController.swift b/submodules/PeerInfoUI/Sources/ChannelVisibilityController.swift index eed85465a2..91b0cbab22 100644 --- a/submodules/PeerInfoUI/Sources/ChannelVisibilityController.swift +++ b/submodules/PeerInfoUI/Sources/ChannelVisibilityController.swift @@ -1419,7 +1419,8 @@ public func channelVisibilityController(context: AccountContext, updatedPresenta var rightNavigationButton: ItemListNavigationButton? if case .revokeNames = mode { - if !premiumConfiguration.isPremiumDisabled { + let count = Int32(publicChannelsToRevoke?.count ?? 0) + if !premiumConfiguration.isPremiumDisabled && count < premiumLimits.maxPublicLinksCount { footerItem = IncreaseLimitFooterItem(theme: presentationData.theme, title: presentationData.strings.Premium_IncreaseLimit, colorful: true, action: { let controller = PremiumIntroScreen(context: context, source: .publicLinks) pushControllerImpl?(controller) diff --git a/submodules/TelegramUI/Sources/ChatController.swift b/submodules/TelegramUI/Sources/ChatController.swift index d6290331ff..097f786dcf 100644 --- a/submodules/TelegramUI/Sources/ChatController.swift +++ b/submodules/TelegramUI/Sources/ChatController.swift @@ -77,6 +77,7 @@ import ChatSendMessageActionUI import ChatTextLinkEditUI import WebUI import PremiumUI +import ImageTransparency #if DEBUG import os.signpost @@ -15253,6 +15254,18 @@ public final class ChatControllerImpl: TelegramBaseController, ChatController, G } let images = imageItems as! [UIImage] + strongSelf.chatDisplayNode.updateDropInteraction(isActive: false) + if images.count == 1, let image = images.first, let cgImage = image.cgImage { + let maxSide = max(image.size.width, image.size.height) + if maxSide.isZero { + return + } + let aspectRatio = min(image.size.width, image.size.height) / maxSide + if (imageHasTransparency(cgImage) && aspectRatio > 0.5) { + strongSelf.enqueueStickerImage(image, isMemoji: false) + return + } + } strongSelf.chatDisplayNode.updateDropInteraction(isActive: false) strongSelf.displayPasteMenu(images) }