From fbbcc21198fb73138d3ac1dcd782526fa803ba48 Mon Sep 17 00:00:00 2001 From: John Preston Date: Fri, 14 Jun 2024 09:38:35 +0400 Subject: [PATCH] Update API scheme to layer 182. --- Telegram/SourceFiles/api/api_credits.cpp | 5 ++- Telegram/SourceFiles/apiwrap.cpp | 3 +- .../SourceFiles/core/click_handler_types.cpp | 13 +++++-- .../SourceFiles/core/click_handler_types.h | 1 + Telegram/SourceFiles/data/data_story.cpp | 37 ++++++++++++++++++- Telegram/SourceFiles/data/data_story.h | 12 ++++++ .../stories/media_stories_controller.cpp | 21 ++++++++++- .../media/stories/media_stories_controller.h | 1 + .../media/stories/media_stories_view.cpp | 4 ++ .../media/stories/media_stories_view.h | 6 +++ .../media/view/media_view_overlay_widget.cpp | 2 + Telegram/SourceFiles/mtproto/scheme/api.tl | 32 ++++++++++++---- Telegram/cmake/td_scheme.cmake | 2 +- 13 files changed, 123 insertions(+), 16 deletions(-) diff --git a/Telegram/SourceFiles/api/api_credits.cpp b/Telegram/SourceFiles/api/api_credits.cpp index 44d274e58..dcbaac4a6 100644 --- a/Telegram/SourceFiles/api/api_credits.cpp +++ b/Telegram/SourceFiles/api/api_credits.cpp @@ -20,6 +20,8 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL namespace Api { namespace { +constexpr auto kTransactionsLimit = 100; + [[nodiscard]] Data::CreditsHistoryEntry HistoryFromTL( const MTPStarsTransaction &tl, not_null peer) { @@ -152,7 +154,8 @@ void CreditsHistory::request( _requestId = _api.request(MTPpayments_GetStarsTransactions( MTP_flags(_flags), _peer->isSelf() ? MTP_inputPeerSelf() : _peer->input, - MTP_string(token) + MTP_string(token), + MTP_int(kTransactionsLimit) )).done([=](const MTPpayments_StarsStatus &result) { _requestId = 0; done(StatusFromTL(result, _peer)); diff --git a/Telegram/SourceFiles/apiwrap.cpp b/Telegram/SourceFiles/apiwrap.cpp index ba4400684..62f2cfbd4 100644 --- a/Telegram/SourceFiles/apiwrap.cpp +++ b/Telegram/SourceFiles/apiwrap.cpp @@ -2165,7 +2165,8 @@ void ApiWrap::saveDraftsToCloud() { entities, Data::WebPageForMTP( cloudDraft->webpage, - textWithTags.text.isEmpty()) + textWithTags.text.isEmpty()), + MTP_long(0) // effect )).done([=](const MTPBool &result, const MTP::Response &response) { const auto requestId = response.requestId; history->finishSavingCloudDraft( diff --git a/Telegram/SourceFiles/core/click_handler_types.cpp b/Telegram/SourceFiles/core/click_handler_types.cpp index 1c24dc510..9b03e0b74 100644 --- a/Telegram/SourceFiles/core/click_handler_types.cpp +++ b/Telegram/SourceFiles/core/click_handler_types.cpp @@ -25,6 +25,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #include "window/window_controller.h" #include "window/window_session_controller.h" #include "window/window_session_controller_link_info.h" +#include "styles/style_calls.h" // groupCallBoxLabel #include "styles/style_layers.h" namespace { @@ -121,7 +122,10 @@ void HiddenUrlClickHandler::Open(QString url, QVariant context) { } else { const auto parsedUrl = QUrl::fromUserInput(url); if (UrlRequiresConfirmation(parsedUrl) && !base::IsCtrlPressed()) { - Core::App().hideMediaView(); + const auto my = context.value(); + if (!my.show) { + Core::App().hideMediaView(); + } const auto displayed = parsedUrl.isValid() ? parsedUrl.toDisplayString() : url; @@ -130,7 +134,6 @@ void HiddenUrlClickHandler::Open(QString url, QVariant context) { : parsedUrl.isValid() ? QString::fromUtf8(parsedUrl.toEncoded()) : ShowEncoded(displayed); - const auto my = context.value(); const auto controller = my.sessionWindow.get(); const auto use = controller ? &controller->window() @@ -140,8 +143,11 @@ void HiddenUrlClickHandler::Open(QString url, QVariant context) { .text = (tr::lng_open_this_link(tr::now)), .confirmed = [=](Fn hide) { hide(); open(); }, .confirmText = tr::lng_open_link(), + .labelStyle = my.dark ? &st::groupCallBoxLabel : nullptr, }); - const auto &st = st::boxLabel; + const auto &st = my.dark + ? st::groupCallBoxLabel + : st::boxLabel; box->addSkip(st.style.lineHeight - st::boxPadding.bottom()); const auto url = box->addRow( object_ptr(box, displayUrl, st)); @@ -190,6 +196,7 @@ void BotGameUrlClickHandler::onClick(ClickContext context) const { _bot->name()), .confirmed = callback, .confirmText = tr::lng_allow_bot(), + .labelStyle = my.dark ? &st::groupCallBoxLabel : nullptr, })); } } diff --git a/Telegram/SourceFiles/core/click_handler_types.h b/Telegram/SourceFiles/core/click_handler_types.h index 20879a0ab..a63594195 100644 --- a/Telegram/SourceFiles/core/click_handler_types.h +++ b/Telegram/SourceFiles/core/click_handler_types.h @@ -47,6 +47,7 @@ struct ClickHandlerContext { bool skipBotAutoLogin = false; bool botStartAutoSubmit = false; bool ignoreIv = false; + bool dark = false; // Is filled from peer info. PeerData *peer = nullptr; }; diff --git a/Telegram/SourceFiles/data/data_story.cpp b/Telegram/SourceFiles/data/data_story.cpp index 9db62b958..38ea28aae 100644 --- a/Telegram/SourceFiles/data/data_story.cpp +++ b/Telegram/SourceFiles/data/data_story.cpp @@ -82,6 +82,7 @@ using UpdateFlag = StoryUpdate::Flag; }); }, [&](const MTPDmediaAreaSuggestedReaction &data) { }, [&](const MTPDmediaAreaChannelPost &data) { + }, [&](const MTPDmediaAreaUrl &data) { }, [&](const MTPDinputMediaAreaChannelPost &data) { LOG(("API Error: Unexpected inputMediaAreaChannelPost from API.")); }, [&](const MTPDinputMediaAreaVenue &data) { @@ -103,6 +104,7 @@ using UpdateFlag = StoryUpdate::Flag; .dark = data.is_dark(), }); }, [&](const MTPDmediaAreaChannelPost &data) { + }, [&](const MTPDmediaAreaUrl &data) { }, [&](const MTPDinputMediaAreaChannelPost &data) { LOG(("API Error: Unexpected inputMediaAreaChannelPost from API.")); }, [&](const MTPDinputMediaAreaVenue &data) { @@ -124,6 +126,27 @@ using UpdateFlag = StoryUpdate::Flag; peerFromChannel(data.vchannel_id()), data.vmsg_id().v), }); + }, [&](const MTPDmediaAreaUrl &data) { + }, [&](const MTPDinputMediaAreaChannelPost &data) { + LOG(("API Error: Unexpected inputMediaAreaChannelPost from API.")); + }, [&](const MTPDinputMediaAreaVenue &data) { + LOG(("API Error: Unexpected inputMediaAreaVenue from API.")); + }); + return result; +} + +[[nodiscard]] auto ParseUrlArea(const MTPMediaArea &area) +-> std::optional { + auto result = std::optional(); + area.match([&](const MTPDmediaAreaVenue &data) { + }, [&](const MTPDmediaAreaGeoPoint &data) { + }, [&](const MTPDmediaAreaSuggestedReaction &data) { + }, [&](const MTPDmediaAreaChannelPost &data) { + }, [&](const MTPDmediaAreaUrl &data) { + result.emplace(UrlArea{ + .area = ParseArea(data.vcoordinates()), + .url = qs(data.vurl()), + }); }, [&](const MTPDinputMediaAreaChannelPost &data) { LOG(("API Error: Unexpected inputMediaAreaChannelPost from API.")); }, [&](const MTPDinputMediaAreaVenue &data) { @@ -662,6 +685,10 @@ const std::vector &Story::channelPosts() const { return _channelPosts; } +const std::vector &Story::urlAreas() const { + return _urlAreas; +} + void Story::applyChanges( StoryMedia media, const MTPDstoryItem &data, @@ -765,6 +792,7 @@ void Story::applyFields( auto locations = std::vector(); auto suggestedReactions = std::vector(); auto channelPosts = std::vector(); + auto urlAreas = std::vector(); if (const auto areas = data.vmedia_areas()) { for (const auto &area : areas->v) { if (const auto location = ParseLocation(area)) { @@ -778,6 +806,8 @@ void Story::applyFields( suggestedReactions.push_back(*reaction); } else if (auto post = ParseChannelPost(area)) { channelPosts.push_back(*post); + } else if (auto url = ParseUrlArea(area)) { + urlAreas.push_back(*url); } } } @@ -790,6 +820,7 @@ void Story::applyFields( const auto suggestedReactionsChanged = (_suggestedReactions != suggestedReactions); const auto channelPostsChanged = (_channelPosts != channelPosts); + const auto urlAreasChanged = (_urlAreas != urlAreas); const auto reactionChanged = (_sentReactionId != reaction); _out = out; @@ -815,6 +846,9 @@ void Story::applyFields( if (channelPostsChanged) { _channelPosts = std::move(channelPosts); } + if (urlAreasChanged) { + _urlAreas = std::move(urlAreas); + } if (reactionChanged) { _sentReactionId = reaction; } @@ -824,7 +858,8 @@ void Story::applyFields( || captionChanged || mediaChanged || locationsChanged - || channelPostsChanged; + || channelPostsChanged + || urlAreasChanged; const auto reactionsChanged = reactionChanged || suggestedReactionsChanged; if (!initial && (changed || reactionsChanged)) { diff --git a/Telegram/SourceFiles/data/data_story.h b/Telegram/SourceFiles/data/data_story.h index 512f0ed38..b318ce9fe 100644 --- a/Telegram/SourceFiles/data/data_story.h +++ b/Telegram/SourceFiles/data/data_story.h @@ -122,6 +122,15 @@ struct ChannelPost { const ChannelPost &) = default; }; +struct UrlArea { + StoryArea area; + QString url; + + friend inline bool operator==( + const UrlArea &, + const UrlArea &) = default; +}; + class Story final { public: Story( @@ -197,6 +206,8 @@ public: -> const std::vector &; [[nodiscard]] auto channelPosts() const -> const std::vector &; + [[nodiscard]] auto urlAreas() const + -> const std::vector &; void applyChanges( StoryMedia media, @@ -247,6 +258,7 @@ private: std::vector _locations; std::vector _suggestedReactions; std::vector _channelPosts; + std::vector _urlAreas; StoryViews _views; StoryViews _channelReactions; const TimeId _date = 0; diff --git a/Telegram/SourceFiles/media/stories/media_stories_controller.cpp b/Telegram/SourceFiles/media/stories/media_stories_controller.cpp index 45e17f33f..c5fd13992 100644 --- a/Telegram/SourceFiles/media/stories/media_stories_controller.cpp +++ b/Telegram/SourceFiles/media/stories/media_stories_controller.cpp @@ -13,6 +13,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #include "boxes/peers/prepare_short_info_box.h" #include "chat_helpers/compose/compose_show.h" #include "core/application.h" +#include "core/click_handler_types.h" #include "core/core_settings.h" #include "core/update_checker.h" #include "data/data_changes.h" @@ -1046,6 +1047,9 @@ void Controller::updateAreas(Data::Story *story) { const auto &channelPosts = story ? story->channelPosts() : std::vector(); + const auto &urlAreas = story + ? story->urlAreas() + : std::vector(); if (_locations != locations) { _locations = locations; _areas.clear(); @@ -1054,6 +1058,10 @@ void Controller::updateAreas(Data::Story *story) { _channelPosts = channelPosts; _areas.clear(); } + if (_urlAreas != urlAreas) { + _urlAreas = urlAreas; + _areas.clear(); + } const auto reactionsCount = int(suggestedReactions.size()); if (_suggestedReactions.size() == reactionsCount && !_areas.empty()) { for (auto i = 0; i != reactionsCount; ++i) { @@ -1197,13 +1205,15 @@ ClickHandlerPtr Controller::lookupAreaHandler(QPoint point) const { if (!layout || (_locations.empty() && _suggestedReactions.empty() - && _channelPosts.empty())) { + && _channelPosts.empty() + && _urlAreas.empty())) { return nullptr; } else if (_areas.empty()) { const auto now = story(); _areas.reserve(_locations.size() + _suggestedReactions.size() - + _channelPosts.size()); + + _channelPosts.size() + + _urlAreas.size()); for (const auto &location : _locations) { _areas.push_back({ .original = location.area.geometry, @@ -1244,6 +1254,13 @@ ClickHandlerPtr Controller::lookupAreaHandler(QPoint point) const { }); } } + for (const auto &url : _urlAreas) { + _areas.push_back({ + .original = url.area.geometry, + .rotation = url.area.rotation, + .handler = std::make_shared(url.url), + }); + } rebuildActiveAreas(*layout); } diff --git a/Telegram/SourceFiles/media/stories/media_stories_controller.h b/Telegram/SourceFiles/media/stories/media_stories_controller.h index 776667f73..3d486fa87 100644 --- a/Telegram/SourceFiles/media/stories/media_stories_controller.h +++ b/Telegram/SourceFiles/media/stories/media_stories_controller.h @@ -302,6 +302,7 @@ private: std::vector _locations; std::vector _suggestedReactions; std::vector _channelPosts; + std::vector _urlAreas; mutable std::vector _areas; std::vector _cachedSourcesList; diff --git a/Telegram/SourceFiles/media/stories/media_stories_view.cpp b/Telegram/SourceFiles/media/stories/media_stories_view.cpp index c8f5ffe94..73bd57e93 100644 --- a/Telegram/SourceFiles/media/stories/media_stories_view.cpp +++ b/Telegram/SourceFiles/media/stories/media_stories_view.cpp @@ -170,6 +170,10 @@ void View::showFullCaption() { _controller->showFullCaption(); } +std::shared_ptr View::uiShow() const { + return _controller->uiShow(); +} + rpl::lifetime &View::lifetime() { return _controller->lifetime(); } diff --git a/Telegram/SourceFiles/media/stories/media_stories_view.h b/Telegram/SourceFiles/media/stories/media_stories_view.h index da71d80d1..9436841d3 100644 --- a/Telegram/SourceFiles/media/stories/media_stories_view.h +++ b/Telegram/SourceFiles/media/stories/media_stories_view.h @@ -9,6 +9,10 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL class ClickHandlerHost; +namespace ChatHelpers { +class Show; +} // namespace ChatHelpers + namespace Data { class Story; struct StoriesContext; @@ -125,6 +129,8 @@ public: not_null menu, QPoint desiredPosition); + [[nodiscard]] std::shared_ptr uiShow() const; + [[nodiscard]] rpl::lifetime &lifetime(); private: diff --git a/Telegram/SourceFiles/media/view/media_view_overlay_widget.cpp b/Telegram/SourceFiles/media/view/media_view_overlay_widget.cpp index 297c464ff..2d2da578f 100644 --- a/Telegram/SourceFiles/media/view/media_view_overlay_widget.cpp +++ b/Telegram/SourceFiles/media/view/media_view_overlay_widget.cpp @@ -5840,6 +5840,8 @@ void OverlayWidget::handleMouseRelease( QVariant::fromValue(ClickHandlerContext{ .itemId = _message ? _message->fullId() : FullMsgId(), .sessionWindow = base::make_weak(findWindow()), + .show = _stories ? _stories->uiShow() : nullptr, + .dark = true, }) }); return; diff --git a/Telegram/SourceFiles/mtproto/scheme/api.tl b/Telegram/SourceFiles/mtproto/scheme/api.tl index f62e07bf6..5d35cc578 100644 --- a/Telegram/SourceFiles/mtproto/scheme/api.tl +++ b/Telegram/SourceFiles/mtproto/scheme/api.tl @@ -415,6 +415,8 @@ updateBotDeleteBusinessMessage#a02a982e connection_id:string peer:Peer messages: updateNewStoryReaction#1824e40b story_id:int peer:Peer reaction:Reaction = Update; updateBroadcastRevenueTransactions#dfd961f5 peer:Peer balances:BroadcastRevenueBalances = Update; updateStarsBalance#fb85198 balance:long = Update; +updateBusinessBotCallbackQuery#1ea2fda7 flags:# query_id:long user_id:long connection_id:string message:Message reply_to_message:flags.2?Message chat_instance:long data:flags.0?bytes = Update; +updateStarsRevenueStatus#a584b019 peer:Peer status:StarsRevenueStatus = Update; updates.state#a56c2a3e pts:int qts:int date:int seq:int unread_count:int = updates.State; @@ -792,7 +794,7 @@ contacts.topPeers#70b772a8 categories:Vector chats:Vector< contacts.topPeersDisabled#b52c939d = contacts.TopPeers; draftMessageEmpty#1b0c841a flags:# date:flags.0?int = DraftMessage; -draftMessage#3fccf7ef flags:# no_webpage:flags.1?true invert_media:flags.6?true reply_to:flags.4?InputReplyTo message:string entities:flags.3?Vector media:flags.5?InputMedia date:int = DraftMessage; +draftMessage#2d65321f flags:# no_webpage:flags.1?true invert_media:flags.6?true reply_to:flags.4?InputReplyTo message:string entities:flags.3?Vector media:flags.5?InputMedia date:int effect:flags.7?long = DraftMessage; messages.featuredStickersNotModified#c6dc0c66 count:int = messages.FeaturedStickers; messages.featuredStickers#be382906 flags:# premium:flags.0?true hash:long count:int sets:Vector unread:Vector = messages.FeaturedStickers; @@ -1603,14 +1605,15 @@ exportedStoryLink#3fc9053b link:string = ExportedStoryLink; storiesStealthMode#712e27fd flags:# active_until_date:flags.0?int cooldown_until_date:flags.1?int = StoriesStealthMode; -mediaAreaCoordinates#3d1ea4e x:double y:double w:double h:double rotation:double = MediaAreaCoordinates; +mediaAreaCoordinates#cfc9e002 flags:# x:double y:double w:double h:double rotation:double radius:flags.0?double = MediaAreaCoordinates; mediaAreaVenue#be82db9c coordinates:MediaAreaCoordinates geo:GeoPoint title:string address:string provider:string venue_id:string venue_type:string = MediaArea; inputMediaAreaVenue#b282217f coordinates:MediaAreaCoordinates query_id:long result_id:string = MediaArea; -mediaAreaGeoPoint#df8b3b22 coordinates:MediaAreaCoordinates geo:GeoPoint = MediaArea; +mediaAreaGeoPoint#cad5452d flags:# coordinates:MediaAreaCoordinates geo:GeoPoint address:flags.0?GeoPointAddress = MediaArea; mediaAreaSuggestedReaction#14455871 flags:# dark:flags.0?true flipped:flags.1?true coordinates:MediaAreaCoordinates reaction:Reaction = MediaArea; mediaAreaChannelPost#770416af coordinates:MediaAreaCoordinates channel_id:long msg_id:int = MediaArea; inputMediaAreaChannelPost#2271f2bf coordinates:MediaAreaCoordinates channel:InputChannel msg_id:int = MediaArea; +mediaAreaUrl#37381085 coordinates:MediaAreaCoordinates url:string = MediaArea; peerStories#9a35e999 flags:# peer:Peer max_read_id:flags.0?int stories:Vector = PeerStories; @@ -1803,10 +1806,22 @@ starsTransactionPeer#d80da15d peer:Peer = StarsTransactionPeer; starsTopupOption#bd915c0 flags:# extended:flags.1?true stars:long store_product:flags.0?string currency:string amount:long = StarsTopupOption; -starsTransaction#cc7079b2 flags:# refund:flags.3?true id:string stars:long date:int peer:StarsTransactionPeer title:flags.0?string description:flags.1?string photo:flags.2?WebDocument = StarsTransaction; +starsTransaction#aa00c898 flags:# refund:flags.3?true pending:flags.4?true failed:flags.6?true id:string stars:long date:int peer:StarsTransactionPeer title:flags.0?string description:flags.1?string photo:flags.2?WebDocument transaction_date:flags.5?int transaction_url:flags.5?string = StarsTransaction; payments.starsStatus#8cf4ee60 flags:# balance:long history:Vector next_offset:flags.0?string chats:Vector users:Vector = payments.StarsStatus; +foundStory#e87acbc0 peer:Peer story:StoryItem = FoundStory; + +stories.foundStories#e2de7737 flags:# count:int stories:Vector next_offset:flags.0?string chats:Vector users:Vector = stories.FoundStories; + +geoPointAddress#de4c5d93 flags:# country_iso2:string state:flags.0?string city:flags.1?string street:flags.2?string = GeoPointAddress; + +starsRevenueStatus#79342946 flags:# withdrawal_enabled:flags.0?true current_balance:long available_balance:long overall_revenue:long next_withdrawal_at:flags.1?int = StarsRevenueStatus; + +payments.starsRevenueStats#c92bb73b revenue_graph:StatsGraph status:StarsRevenueStatus usd_rate:double = payments.StarsRevenueStats; + +payments.starsRevenueWithdrawalUrl#1dab80b7 url:string = payments.StarsRevenueWithdrawalUrl; + ---functions--- invokeAfterMsg#cb9f372d {X:Type} msg_id:long query:!X = X; @@ -2050,7 +2065,7 @@ messages.editInlineBotMessage#83557dba flags:# no_webpage:flags.1?true invert_me messages.getBotCallbackAnswer#9342ca07 flags:# game:flags.1?true peer:InputPeer msg_id:int data:flags.0?bytes password:flags.2?InputCheckPasswordSRP = messages.BotCallbackAnswer; messages.setBotCallbackAnswer#d58f130a flags:# alert:flags.1?true query_id:long message:flags.0?string url:flags.2?string cache_time:int = Bool; messages.getPeerDialogs#e470bcfd peers:Vector = messages.PeerDialogs; -messages.saveDraft#7ff3b806 flags:# no_webpage:flags.1?true invert_media:flags.6?true reply_to:flags.4?InputReplyTo peer:InputPeer message:string entities:flags.3?Vector media:flags.5?InputMedia = Bool; +messages.saveDraft#d372c5ce flags:# no_webpage:flags.1?true invert_media:flags.6?true reply_to:flags.4?InputReplyTo peer:InputPeer message:string entities:flags.3?Vector media:flags.5?InputMedia effect:flags.7?long = Bool; messages.getAllDrafts#6a3f8d65 = Updates; messages.getFeaturedStickers#64780b14 hash:long = messages.FeaturedStickers; messages.readFeaturedStickers#5b118126 id:Vector = Bool; @@ -2349,9 +2364,11 @@ payments.getGiveawayInfo#f4239425 peer:InputPeer msg_id:int = payments.GiveawayI payments.launchPrepaidGiveaway#5ff58f20 peer:InputPeer giveaway_id:long purpose:InputStorePaymentPurpose = Updates; payments.getStarsTopupOptions#c00ec7d3 = Vector; payments.getStarsStatus#104fcfa7 peer:InputPeer = payments.StarsStatus; -payments.getStarsTransactions#673ac2f9 flags:# inbound:flags.0?true outbound:flags.1?true peer:InputPeer offset:string = payments.StarsStatus; +payments.getStarsTransactions#97938d5a flags:# inbound:flags.0?true outbound:flags.1?true ascending:flags.2?true peer:InputPeer offset:string limit:int = payments.StarsStatus; payments.sendStarsForm#2bb731d flags:# form_id:long invoice:InputInvoice = payments.PaymentResult; payments.refundStarsCharge#25ae8f4a user_id:InputUser charge_id:string = Updates; +payments.getStarsRevenueStats#d91ffad6 flags:# dark:flags.0?true peer:InputPeer = payments.StarsRevenueStats; +payments.getStarsRevenueWithdrawalUrl#13bbe8b3 peer:InputPeer stars:long password:InputCheckPasswordSRP = payments.StarsRevenueWithdrawalUrl; stickers.createStickerSet#9021ab67 flags:# masks:flags.0?true emojis:flags.5?true text_color:flags.6?true user_id:InputUser title:string short_name:string thumb:flags.2?InputDocument stickers:Vector software:flags.3?string = messages.StickerSet; stickers.removeStickerFromSet#f7760f51 sticker:InputDocument = messages.StickerSet; @@ -2453,6 +2470,7 @@ stories.getChatsToSend#a56a8b60 = messages.Chats; stories.togglePeerStoriesHidden#bd0415c4 peer:InputPeer hidden:Bool = Bool; stories.getStoryReactionsList#b9b2881f flags:# forwards_first:flags.2?true peer:InputPeer id:int reaction:flags.0?Reaction offset:flags.1?string limit:int = stories.StoryReactionsList; stories.togglePinnedToTop#b297e9b peer:InputPeer id:Vector = Bool; +stories.searchPosts#6cea116a flags:# hashtag:flags.0?string area:flags.1?MediaArea offset:string limit:int = stories.FoundStories; premium.getBoostsList#60f67660 flags:# gifts:flags.0?true peer:InputPeer offset:string limit:int = premium.BoostsList; premium.getMyBoosts#be77b4a = premium.MyBoosts; @@ -2470,4 +2488,4 @@ smsjobs.finishJob#4f1ebf24 flags:# job_id:string error:flags.0?string = Bool; fragment.getCollectibleInfo#be1e85ba collectible:InputCollectible = fragment.CollectibleInfo; -// LAYER 181 +// LAYER 182 diff --git a/Telegram/cmake/td_scheme.cmake b/Telegram/cmake/td_scheme.cmake index 3cf326489..10f2c57c4 100644 --- a/Telegram/cmake/td_scheme.cmake +++ b/Telegram/cmake/td_scheme.cmake @@ -34,7 +34,7 @@ PUBLIC desktop-app::lib_tl ) -if (WIN32 AND NOT build_win64 AND NOT build_winarm AND QT_VERSION GREATER 6) +if (WIN32 AND NOT build_win64 AND NOT build_winarm) target_compile_options(td_scheme PRIVATE /bigobj # scheme.cpp has too many sections.