diff --git a/Telegram/Resources/tl/api.tl b/Telegram/Resources/tl/api.tl index 75208c727..d188e3293 100644 --- a/Telegram/Resources/tl/api.tl +++ b/Telegram/Resources/tl/api.tl @@ -217,7 +217,7 @@ inputPeerNotifySettings#9c3d198e flags:# show_previews:flags.0?Bool silent:flags peerNotifySettings#af509d20 flags:# show_previews:flags.0?Bool silent:flags.1?Bool mute_until:flags.2?int sound:flags.3?string = PeerNotifySettings; -peerSettings#733f2961 flags:# report_spam:flags.0?true add_contact:flags.1?true block_contact:flags.2?true share_contact:flags.3?true need_contacts_exception:flags.4?true report_geo:flags.5?true autoarchived:flags.7?true geo_distance:flags.6?int = PeerSettings; +peerSettings#733f2961 flags:# report_spam:flags.0?true add_contact:flags.1?true block_contact:flags.2?true share_contact:flags.3?true need_contacts_exception:flags.4?true report_geo:flags.5?true autoarchived:flags.7?true invite_members:flags.8?true geo_distance:flags.6?int = PeerSettings; wallPaper#a437c3ed id:long flags:# creator:flags.0?true default:flags.1?true pattern:flags.3?true dark:flags.4?true access_hash:long slug:string document:Document settings:flags.2?WallPaperSettings = WallPaper; wallPaperNoFile#8af40b25 flags:# default:flags.1?true dark:flags.4?true settings:flags.2?WallPaperSettings = WallPaper; @@ -229,6 +229,7 @@ inputReportReasonChildAbuse#adf44ee3 = ReportReason; inputReportReasonOther#e1746d0a text:string = ReportReason; inputReportReasonCopyright#9b89f93a = ReportReason; inputReportReasonGeoIrrelevant#dbd4feed = ReportReason; +inputReportReasonFake#f5ddd6e7 = ReportReason; userFull#edf17c12 flags:# blocked:flags.0?true phone_calls_available:flags.4?true phone_calls_private:flags.5?true can_pin_message:flags.7?true has_scheduled:flags.12?true video_calls_available:flags.13?true user:User about:flags.1?string settings:PeerSettings profile_photo:flags.2?Photo notify_settings:PeerNotifySettings bot_info:flags.3?BotInfo pinned_msg_id:flags.6?int common_chats_count:int folder_id:flags.11?int = UserFull; @@ -1195,7 +1196,7 @@ groupCall#55903081 flags:# join_muted:flags.1?true can_change_join_muted:flags.2 inputGroupCall#d8aa840f id:long access_hash:long = InputGroupCall; -groupCallParticipant#b881f32b flags:# muted:flags.0?true left:flags.1?true can_self_unmute:flags.2?true just_joined:flags.4?true versioned:flags.5?true muted_by_you:flags.9?true user_id:int date:int active_date:flags.3?int source:int volume:flags.7?int muted_cnt:flags.8?int = GroupCallParticipant; +groupCallParticipant#64c62a15 flags:# muted:flags.0?true left:flags.1?true can_self_unmute:flags.2?true just_joined:flags.4?true versioned:flags.5?true muted_by_you:flags.9?true user_id:int date:int active_date:flags.3?int source:int volume:flags.7?int = GroupCallParticipant; phone.groupCall#66ab0bfc call:GroupCall participants:Vector participants_next_offset:string users:Vector = phone.GroupCall; @@ -1207,17 +1208,9 @@ inlineQueryPeerTypeChat#d766c50a = InlineQueryPeerType; inlineQueryPeerTypeMegagroup#5ec4be43 = InlineQueryPeerType; inlineQueryPeerTypeBroadcast#6334ee9a = InlineQueryPeerType; -chatInviteImporter#1e3e6680 user_id:int date:int = ChatInviteImporter; - -messages.exportedChatInvites#bdc62dcc count:int invites:Vector users:Vector = messages.ExportedChatInvites; - -messages.exportedChatInvite#1871be50 invite:ExportedChatInvite users:Vector = messages.ExportedChatInvite; - -messages.chatInviteImporters#81b6b00a count:int importers:Vector users:Vector = messages.ChatInviteImporters; - messages.historyImport#1662af0b id:long = messages.HistoryImport; -messages.historyImportParsed#8d94ab42 flags:# pm:flags.0?true group:flags.1?true title:flags.1?string = messages.HistoryImportParsed; +messages.historyImportParsed#5e0fb7b9 flags:# pm:flags.0?true group:flags.1?true title:flags.2?string = messages.HistoryImportParsed; ---functions--- @@ -1378,7 +1371,7 @@ messages.readMessageContents#36a73f77 id:Vector = messages.AffectedMessages messages.getStickers#43d4f2c emoticon:string hash:int = messages.Stickers; messages.getAllStickers#1c9618b1 hash:int = messages.AllStickers; messages.getWebPagePreview#8b68b0cc flags:# message:string entities:flags.3?Vector = MessageMedia; -messages.exportChatInvite#14b9bcd7 flags:# legacy_revoke_permanent:flags.2?true peer:InputPeer expire_date:flags.0?int usage_limit:flags.1?int = ExportedChatInvite; +messages.exportChatInvite#df7534c peer:InputPeer = ExportedChatInvite; messages.checkChatInvite#3eadb1bb hash:string = ChatInvite; messages.importChatInvite#6c50051c hash:string = Updates; messages.getStickerSet#2619a90e stickerset:InputStickerSet = messages.StickerSet; @@ -1468,11 +1461,6 @@ messages.getReplies#24b581ba peer:InputPeer msg_id:int offset_id:int offset_date messages.getDiscussionMessage#446972fd peer:InputPeer msg_id:int = messages.DiscussionMessage; messages.readDiscussion#f731a9f4 peer:InputPeer msg_id:int read_max_id:int = Bool; messages.unpinAllMessages#f025bc8b peer:InputPeer = messages.AffectedHistory; -messages.getExportedChatInvites#6a72ac6c flags:# revoked:flags.3?true peer:InputPeer admin_id:flags.0?InputUser offset_date:flags.2?int offset_link:flags.2?string limit:int = messages.ExportedChatInvites; -messages.editExportedChatInvite#2e4ffbe flags:# revoked:flags.2?true peer:InputPeer link:string expire_date:flags.0?int usage_limit:flags.1?int = messages.ExportedChatInvite; -messages.deleteRevokedExportedChatInvites#52041463 peer:InputPeer = Bool; -messages.deleteExportedChatInvite#d464a42b peer:InputPeer link:string = Bool; -messages.getChatInviteImporters#26fb7289 peer:InputPeer link:string offset_date:int offset_user:InputUser limit:int = messages.ChatInviteImporters; messages.deleteChat#83247d11 chat_id:int = Bool; messages.deletePhoneCallHistory#6cff1b45 flags:# revoke:flags.0?true = messages.AffectedHistory; messages.checkHistoryImport#43fe19f3 import_head:string = messages.HistoryImportParsed; diff --git a/Telegram/SourceFiles/api/api_invite_links.cpp b/Telegram/SourceFiles/api/api_invite_links.cpp index bdc2c8edb..038581b02 100644 --- a/Telegram/SourceFiles/api/api_invite_links.cpp +++ b/Telegram/SourceFiles/api/api_invite_links.cpp @@ -41,26 +41,27 @@ void RemovePermanent(PeerInviteLinks &links) { } // namespace -JoinedByLinkSlice ParseJoinedByLinkSlice( - not_null peer, - const MTPmessages_ChatInviteImporters &slice) { - auto result = JoinedByLinkSlice(); - slice.match([&](const MTPDmessages_chatInviteImporters &data) { - auto &owner = peer->session().data(); - owner.processUsers(data.vusers()); - result.count = data.vcount().v; - result.users.reserve(data.vimporters().v.size()); - for (const auto importer : data.vimporters().v) { - importer.match([&](const MTPDchatInviteImporter &data) { - result.users.push_back({ - .user = owner.user(data.vuser_id().v), - .date = data.vdate().v, - }); - }); - } - }); - return result; -} +// #TODO links +//JoinedByLinkSlice ParseJoinedByLinkSlice( +// not_null peer, +// const MTPmessages_ChatInviteImporters &slice) { +// auto result = JoinedByLinkSlice(); +// slice.match([&](const MTPDmessages_chatInviteImporters &data) { +// auto &owner = peer->session().data(); +// owner.processUsers(data.vusers()); +// result.count = data.vcount().v; +// result.users.reserve(data.vimporters().v.size()); +// for (const auto importer : data.vimporters().v) { +// importer.match([&](const MTPDchatInviteImporter &data) { +// result.users.push_back({ +// .user = owner.user(data.vuser_id().v), +// .date = data.vdate().v, +// }); +// }); +// } +// }); +// return result; +//} InviteLinks::InviteLinks(not_null api) : _api(api) { } @@ -91,16 +92,19 @@ void InviteLinks::performCreate( callbacks.push_back(std::move(done)); } - using Flag = MTPmessages_ExportChatInvite::Flag; + // #TODO links + //using Flag = MTPmessages_ExportChatInvite::Flag; + //_api->request(MTPmessages_ExportChatInvite( + // MTP_flags((revokeLegacyPermanent + // ? Flag::f_legacy_revoke_permanent + // : Flag(0)) + // | (expireDate ? Flag::f_expire_date : Flag(0)) + // | (usageLimit ? Flag::f_usage_limit : Flag(0))), + // peer->input, + // MTP_int(expireDate), + // MTP_int(usageLimit) _api->request(MTPmessages_ExportChatInvite( - MTP_flags((revokeLegacyPermanent - ? Flag::f_legacy_revoke_permanent - : Flag(0)) - | (expireDate ? Flag::f_expire_date : Flag(0)) - | (usageLimit ? Flag::f_usage_limit : Flag(0))), - peer->input, - MTP_int(expireDate), - MTP_int(usageLimit) + peer->input )).done([=](const MTPExportedChatInvite &result) { const auto callbacks = _createCallbacks.take(peer); const auto link = prepend(peer, result); @@ -215,51 +219,51 @@ void InviteLinks::performEdit( if (done) { callbacks.push_back(std::move(done)); } - - using Flag = MTPmessages_EditExportedChatInvite::Flag; - _api->request(MTPmessages_EditExportedChatInvite( - MTP_flags((revoke ? Flag::f_revoked : Flag(0)) - | ((!revoke && expireDate) ? Flag::f_expire_date : Flag(0)) - | ((!revoke && usageLimit) ? Flag::f_usage_limit : Flag(0))), - peer->input, - MTP_string(link), - MTP_int(expireDate), - MTP_int(usageLimit) - )).done([=](const MTPmessages_ExportedChatInvite &result) { - const auto callbacks = _editCallbacks.take(key); - const auto peer = key.peer; - result.match([&](const MTPDmessages_exportedChatInvite &data) { - _api->session().data().processUsers(data.vusers()); - const auto link = parse(peer, data.vinvite()); - auto i = _firstSlices.find(peer); - if (i != end(_firstSlices)) { - const auto j = ranges::find( - i->second.links, - key.link, - &Link::link); - if (j != end(i->second.links)) { - if (link.revoked && !j->revoked) { - i->second.links.erase(j); - if (i->second.count > 0) { - --i->second.count; - } - } else { - *j = link; - } - } - } - for (const auto &callback : *callbacks) { - callback(link); - } - _updates.fire(Update{ - .peer = peer, - .was = key.link, - .now = link, - }); - }); - }).fail([=](const RPCError &error) { - _editCallbacks.erase(key); - }).send(); + // #TODO links + //using Flag = MTPmessages_EditExportedChatInvite::Flag; + //_api->request(MTPmessages_EditExportedChatInvite( + // MTP_flags((revoke ? Flag::f_revoked : Flag(0)) + // | ((!revoke && expireDate) ? Flag::f_expire_date : Flag(0)) + // | ((!revoke && usageLimit) ? Flag::f_usage_limit : Flag(0))), + // peer->input, + // MTP_string(link), + // MTP_int(expireDate), + // MTP_int(usageLimit) + //)).done([=](const MTPmessages_ExportedChatInvite &result) { + // const auto callbacks = _editCallbacks.take(key); + // const auto peer = key.peer; + // result.match([&](const MTPDmessages_exportedChatInvite &data) { + // _api->session().data().processUsers(data.vusers()); + // const auto link = parse(peer, data.vinvite()); + // auto i = _firstSlices.find(peer); + // if (i != end(_firstSlices)) { + // const auto j = ranges::find( + // i->second.links, + // key.link, + // &Link::link); + // if (j != end(i->second.links)) { + // if (link.revoked && !j->revoked) { + // i->second.links.erase(j); + // if (i->second.count > 0) { + // --i->second.count; + // } + // } else { + // *j = link; + // } + // } + // } + // for (const auto &callback : *callbacks) { + // callback(link); + // } + // _updates.fire(Update{ + // .peer = peer, + // .was = key.link, + // .now = link, + // }); + // }); + //}).fail([=](const RPCError &error) { + // _editCallbacks.erase(key); + //}).send(); } void InviteLinks::revoke( @@ -293,24 +297,24 @@ void InviteLinks::destroy( if (done) { callbacks.push_back(std::move(done)); } - - _api->request(MTPmessages_DeleteExportedChatInvite( - peer->input, - MTP_string(link) - )).done([=](const MTPBool &result) { - const auto callbacks = _deleteCallbacks.take(key); - if (callbacks) { - for (const auto &callback : *callbacks) { - callback(); - } - } - _updates.fire(Update{ - .peer = peer, - .was = key.link, - }); - }).fail([=](const RPCError &error) { - _deleteCallbacks.erase(key); - }).send(); + // #TODO links + //_api->request(MTPmessages_DeleteExportedChatInvite( + // peer->input, + // MTP_string(link) + //)).done([=](const MTPBool &result) { + // const auto callbacks = _deleteCallbacks.take(key); + // if (callbacks) { + // for (const auto &callback : *callbacks) { + // callback(); + // } + // } + // _updates.fire(Update{ + // .peer = peer, + // .was = key.link, + // }); + //}).fail([=](const RPCError &error) { + // _deleteCallbacks.erase(key); + //}).send(); } void InviteLinks::destroyAllRevoked( @@ -327,61 +331,62 @@ void InviteLinks::destroyAllRevoked( if (done) { callbacks.push_back(std::move(done)); } - - _api->request(MTPmessages_DeleteRevokedExportedChatInvites( - peer->input - )).done([=](const MTPBool &result) { - if (const auto callbacks = _deleteRevokedCallbacks.take(peer)) { - for (const auto &callback : *callbacks) { - callback(); - } - } - _allRevokedDestroyed.fire_copy(peer); - }).fail([=](const RPCError &error) { - }).send(); + // #TODO links + //_api->request(MTPmessages_DeleteRevokedExportedChatInvites( + // peer->input + //)).done([=](const MTPBool &result) { + // if (const auto callbacks = _deleteRevokedCallbacks.take(peer)) { + // for (const auto &callback : *callbacks) { + // callback(); + // } + // } + // _allRevokedDestroyed.fire_copy(peer); + //}).fail([=](const RPCError &error) { + //}).send(); } void InviteLinks::requestLinks(not_null peer) { if (_firstSliceRequests.contains(peer)) { return; } - const auto requestId = _api->request(MTPmessages_GetExportedChatInvites( - MTP_flags(0), - peer->input, - MTPInputUser(), // admin_id - MTPint(), // offset_date - MTPstring(), // offset_link - MTP_int(kFirstPage) - )).done([=](const MTPmessages_ExportedChatInvites &result) { - _firstSliceRequests.remove(peer); - auto slice = parseSlice(peer, result); - auto i = _firstSlices.find(peer); - const auto permanent = (i != end(_firstSlices)) - ? lookupPermanent(i->second) - : nullptr; - if (!permanent) { - BringPermanentToFront(slice); - const auto j = _firstSlices.emplace_or_assign( - peer, - std::move(slice)).first; - if (const auto permanent = lookupPermanent(j->second)) { - editPermanentLink(peer, permanent->link); - } - } else { - RemovePermanent(slice); - auto &existing = i->second.links; - existing.erase(begin(existing) + 1, end(existing)); - existing.insert( - end(existing), - begin(slice.links), - end(slice.links)); - i->second.count = std::max(slice.count, int(existing.size())); - } - notify(peer); - }).fail([=](const RPCError &error) { - _firstSliceRequests.remove(peer); - }).send(); - _firstSliceRequests.emplace(peer, requestId); + // #TODO links + //const auto requestId = _api->request(MTPmessages_GetExportedChatInvites( + // MTP_flags(0), + // peer->input, + // MTPInputUser(), // admin_id + // MTPint(), // offset_date + // MTPstring(), // offset_link + // MTP_int(kFirstPage) + //)).done([=](const MTPmessages_ExportedChatInvites &result) { + // _firstSliceRequests.remove(peer); + // auto slice = parseSlice(peer, result); + // auto i = _firstSlices.find(peer); + // const auto permanent = (i != end(_firstSlices)) + // ? lookupPermanent(i->second) + // : nullptr; + // if (!permanent) { + // BringPermanentToFront(slice); + // const auto j = _firstSlices.emplace_or_assign( + // peer, + // std::move(slice)).first; + // if (const auto permanent = lookupPermanent(j->second)) { + // editPermanentLink(peer, permanent->link); + // } + // } else { + // RemovePermanent(slice); + // auto &existing = i->second.links; + // existing.erase(begin(existing) + 1, end(existing)); + // existing.insert( + // end(existing), + // begin(slice.links), + // end(slice.links)); + // i->second.count = std::max(slice.count, int(existing.size())); + // } + // notify(peer); + //}).fail([=](const RPCError &error) { + // _firstSliceRequests.remove(peer); + //}).send(); + //_firstSliceRequests.emplace(peer, requestId); } std::optional InviteLinks::lookupJoinedFirstSlice( @@ -442,23 +447,23 @@ rpl::producer<> InviteLinks::allRevokedDestroyed( } void InviteLinks::requestJoinedFirstSlice(LinkKey key) { - if (_firstJoinedRequests.contains(key)) { - return; - } - const auto requestId = _api->request(MTPmessages_GetChatInviteImporters( - key.peer->input, - MTP_string(key.link), - MTP_int(0), // offset_date - MTP_inputUserEmpty(), // offset_user - MTP_int(kJoinedFirstPage) - )).done([=](const MTPmessages_ChatInviteImporters &result) { - _firstJoinedRequests.remove(key); - _firstJoined[key] = ParseJoinedByLinkSlice(key.peer, result); - _joinedFirstSliceLoaded.fire_copy(key); - }).fail([=](const RPCError &error) { - _firstJoinedRequests.remove(key); - }).send(); - _firstJoinedRequests.emplace(key, requestId); + //if (_firstJoinedRequests.contains(key)) { // #TODO links + // return; + //} + //const auto requestId = _api->request(MTPmessages_GetChatInviteImporters( + // key.peer->input, + // MTP_string(key.link), + // MTP_int(0), // offset_date + // MTP_inputUserEmpty(), // offset_user + // MTP_int(kJoinedFirstPage) + //)).done([=](const MTPmessages_ChatInviteImporters &result) { + // _firstJoinedRequests.remove(key); + // _firstJoined[key] = ParseJoinedByLinkSlice(key.peer, result); + // _joinedFirstSliceLoaded.fire_copy(key); + //}).fail([=](const RPCError &error) { + // _firstJoinedRequests.remove(key); + //}).send(); + //_firstJoinedRequests.emplace(key, requestId); } void InviteLinks::setPermanent( @@ -546,27 +551,27 @@ auto InviteLinks::links(not_null peer) const -> const Links & { const auto i = _firstSlices.find(peer); return (i != end(_firstSlices)) ? i->second : kEmpty; } - -auto InviteLinks::parseSlice( - not_null peer, - const MTPmessages_ExportedChatInvites &slice) const -> Links { - auto i = _firstSlices.find(peer); - const auto permanent = (i != end(_firstSlices)) - ? lookupPermanent(i->second) - : nullptr; - auto result = Links(); - slice.match([&](const MTPDmessages_exportedChatInvites &data) { - peer->session().data().processUsers(data.vusers()); - result.count = data.vcount().v; - for (const auto &invite : data.vinvites().v) { - const auto link = parse(peer, invite); - if (!permanent || link.link != permanent->link) { - result.links.push_back(link); - } - } - }); - return result; -} +// #TODO links +//auto InviteLinks::parseSlice( +// not_null peer, +// const MTPmessages_ExportedChatInvites &slice) const -> Links { +// auto i = _firstSlices.find(peer); +// const auto permanent = (i != end(_firstSlices)) +// ? lookupPermanent(i->second) +// : nullptr; +// auto result = Links(); +// slice.match([&](const MTPDmessages_exportedChatInvites &data) { +// peer->session().data().processUsers(data.vusers()); +// result.count = data.vcount().v; +// for (const auto &invite : data.vinvites().v) { +// const auto link = parse(peer, invite); +// if (!permanent || link.link != permanent->link) { +// result.links.push_back(link); +// } +// } +// }); +// return result; +//} auto InviteLinks::parse( not_null peer, @@ -592,22 +597,23 @@ void InviteLinks::requestMoreLinks( const QString &lastLink, bool revoked, Fn done) { - using Flag = MTPmessages_GetExportedChatInvites::Flag; - _api->request(MTPmessages_GetExportedChatInvites( - MTP_flags(Flag::f_offset_link - | (revoked ? Flag::f_revoked : Flag(0))), - peer->input, - MTPInputUser(), // admin_id, - MTP_int(lastDate), - MTP_string(lastLink), - MTP_int(kPerPage) - )).done([=](const MTPmessages_ExportedChatInvites &result) { - auto slice = parseSlice(peer, result); - RemovePermanent(slice); - done(std::move(slice)); - }).fail([=](const RPCError &error) { - done(Links()); - }).send(); + // #TODO links + //using Flag = MTPmessages_GetExportedChatInvites::Flag; + //_api->request(MTPmessages_GetExportedChatInvites( + // MTP_flags(Flag::f_offset_link + // | (revoked ? Flag::f_revoked : Flag(0))), + // peer->input, + // MTPInputUser(), // admin_id, + // MTP_int(lastDate), + // MTP_string(lastLink), + // MTP_int(kPerPage) + //)).done([=](const MTPmessages_ExportedChatInvites &result) { + // auto slice = parseSlice(peer, result); + // RemovePermanent(slice); + // done(std::move(slice)); + //}).fail([=](const RPCError &error) { + // done(Links()); + //}).send(); } void InviteLinks::editPermanentLink( diff --git a/Telegram/SourceFiles/api/api_invite_links.h b/Telegram/SourceFiles/api/api_invite_links.h index 83ad34106..e7089dbcf 100644 --- a/Telegram/SourceFiles/api/api_invite_links.h +++ b/Telegram/SourceFiles/api/api_invite_links.h @@ -43,10 +43,10 @@ struct InviteLinkUpdate { QString was; std::optional now; }; - -[[nodiscard]] JoinedByLinkSlice ParseJoinedByLinkSlice( - not_null peer, - const MTPmessages_ChatInviteImporters &slice); +// #TODO links +//[[nodiscard]] JoinedByLinkSlice ParseJoinedByLinkSlice( +// not_null peer, +// const MTPmessages_ChatInviteImporters &slice); class InviteLinks final { public: @@ -124,9 +124,10 @@ private: } }; - [[nodiscard]] Links parseSlice( - not_null peer, - const MTPmessages_ExportedChatInvites &slice) const; + // #TODO links + //[[nodiscard]] Links parseSlice( + // not_null peer, + // const MTPmessages_ExportedChatInvites &slice) const; [[nodiscard]] Link parse( not_null peer, const MTPExportedChatInvite &invite) const; diff --git a/Telegram/SourceFiles/boxes/add_contact_box.cpp b/Telegram/SourceFiles/boxes/add_contact_box.cpp index ee74e1c52..09324ddba 100644 --- a/Telegram/SourceFiles/boxes/add_contact_box.cpp +++ b/Telegram/SourceFiles/boxes/add_contact_box.cpp @@ -696,7 +696,6 @@ void GroupInfoBox::createChannel(const QString &title, const QString &descriptio channel, std::move(image)); } - using Flag = MTPmessages_ExportChatInvite::Flag; _createdChannel = channel; checkInviteLink(); }; diff --git a/Telegram/SourceFiles/boxes/peers/edit_peer_info_box.cpp b/Telegram/SourceFiles/boxes/peers/edit_peer_info_box.cpp index 5671917e0..5869bb67c 100644 --- a/Telegram/SourceFiles/boxes/peers/edit_peer_info_box.cpp +++ b/Telegram/SourceFiles/boxes/peers/edit_peer_info_box.cpp @@ -987,29 +987,29 @@ void Controller::fillManageSection() { [=] { ShowEditPermissions(_navigation, _peer); }, st::infoIconPermissions); } - if (canEditInviteLinks) { - AddButtonWithCount( - _controls.buttonsLayout, - tr::lng_manage_peer_invite_links(), - Info::Profile::MigratedOrMeValue( - _peer - ) | rpl::map([=](not_null peer) { - peer->session().api().inviteLinks().requestLinks(peer); - return peer->session().changes().peerUpdates( - peer, - Data::PeerUpdate::Flag::InviteLinks - ) | rpl::map([=] { - return peer->session().api().inviteLinks().links( - peer).count; - }); - }) | rpl::flatten_latest( - ) | ToPositiveNumberString(), - [=] { Ui::show( - Box(ManageInviteLinksBox, _peer), - Ui::LayerOption::KeepOther); - }, - st::infoIconInviteLinks); - } + //if (canEditInviteLinks) { // #TODO links + // AddButtonWithCount( + // _controls.buttonsLayout, + // tr::lng_manage_peer_invite_links(), + // Info::Profile::MigratedOrMeValue( + // _peer + // ) | rpl::map([=](not_null peer) { + // peer->session().api().inviteLinks().requestLinks(peer); + // return peer->session().changes().peerUpdates( + // peer, + // Data::PeerUpdate::Flag::InviteLinks + // ) | rpl::map([=] { + // return peer->session().api().inviteLinks().links( + // peer).count; + // }); + // }) | rpl::flatten_latest( + // ) | ToPositiveNumberString(), + // [=] { Ui::show( + // Box(ManageInviteLinksBox, _peer), + // Ui::LayerOption::KeepOther); + // }, + // st::infoIconInviteLinks); + //} if (canViewAdmins) { AddButtonWithCount( _controls.buttonsLayout, diff --git a/Telegram/SourceFiles/boxes/peers/edit_peer_invite_link.cpp b/Telegram/SourceFiles/boxes/peers/edit_peer_invite_link.cpp index 72b89e643..df593d0d7 100644 --- a/Telegram/SourceFiles/boxes/peers/edit_peer_invite_link.cpp +++ b/Telegram/SourceFiles/boxes/peers/edit_peer_invite_link.cpp @@ -222,21 +222,22 @@ void Controller::loadMoreRows() { if (_requestId || _allLoaded) { return; } - _requestId = _api.request(MTPmessages_GetChatInviteImporters( - _peer->input, - MTP_string(_data.link), - MTP_int(_lastUser ? _lastUser->date : 0), - _lastUser ? _lastUser->user->inputUser : MTP_inputUserEmpty(), - MTP_int(_lastUser ? kPerPage : kFirstPage) - )).done([=](const MTPmessages_ChatInviteImporters &result) { - _requestId = 0; - auto slice = Api::ParseJoinedByLinkSlice(_peer, result); - _allLoaded = slice.users.empty(); - appendSlice(slice); - }).fail([=](const RPCError &error) { - _requestId = 0; - _allLoaded = true; - }).send(); + _allLoaded = true; // #TODO links + //_requestId = _api.request(MTPmessages_GetChatInviteImporters( + // _peer->input, + // MTP_string(_data.link), + // MTP_int(_lastUser ? _lastUser->date : 0), + // _lastUser ? _lastUser->user->inputUser : MTP_inputUserEmpty(), + // MTP_int(_lastUser ? kPerPage : kFirstPage) + //)).done([=](const MTPmessages_ChatInviteImporters &result) { + // _requestId = 0; + // auto slice = Api::ParseJoinedByLinkSlice(_peer, result); + // _allLoaded = slice.users.empty(); + // appendSlice(slice); + //}).fail([=](const RPCError &error) { + // _requestId = 0; + // _allLoaded = true; + //}).send(); } void Controller::appendSlice(const Api::JoinedByLinkSlice &slice) { diff --git a/Telegram/SourceFiles/boxes/peers/edit_peer_type_box.cpp b/Telegram/SourceFiles/boxes/peers/edit_peer_type_box.cpp index 027953ac3..8a9967c9a 100644 --- a/Telegram/SourceFiles/boxes/peers/edit_peer_type_box.cpp +++ b/Telegram/SourceFiles/boxes/peers/edit_peer_type_box.cpp @@ -177,20 +177,20 @@ void Controller::createContent() { _wrap->add(createInviteLinkBlock()); _wrap->add(createUsernameEdit()); - using namespace Settings; - AddSkip(_wrap.get()); - _wrap->add(EditPeerInfoBox::CreateButton( - _wrap.get(), - tr::lng_group_invite_manage(), - rpl::single(QString()), - [=] { Ui::show( - Box(ManageInviteLinksBox, _peer), - Ui::LayerOption::KeepOther); - }, - st::manageGroupButton, - &st::infoIconInviteLinks)); - AddSkip(_wrap.get()); - AddDividerText(_wrap.get(), tr::lng_group_invite_manage_about()); + //using namespace Settings; // #TODO links + //AddSkip(_wrap.get()); + //_wrap->add(EditPeerInfoBox::CreateButton( + // _wrap.get(), + // tr::lng_group_invite_manage(), + // rpl::single(QString()), + // [=] { Ui::show( + // Box(ManageInviteLinksBox, _peer), + // Ui::LayerOption::KeepOther); + // }, + // st::manageGroupButton, + // &st::infoIconInviteLinks)); + //AddSkip(_wrap.get()); + //AddDividerText(_wrap.get(), tr::lng_group_invite_manage_about()); if (_controls.privacy->value() == Privacy::NoUsername) { checkUsernameAvailability(); diff --git a/Telegram/SourceFiles/calls/calls_group_call.cpp b/Telegram/SourceFiles/calls/calls_group_call.cpp index 45dc658b9..c81a37162 100644 --- a/Telegram/SourceFiles/calls/calls_group_call.cpp +++ b/Telegram/SourceFiles/calls/calls_group_call.cpp @@ -377,12 +377,10 @@ void GroupCall::applySelfInCallLocally() { ? i->lastActive : TimeId(0); const auto canSelfUnmute = (muted() != MuteState::ForceMuted); - const auto mutedCount = (i != end(participants)) ? /*i->mutedCount*/0 : 0; const auto flags = (canSelfUnmute ? Flag::f_can_self_unmute : Flag(0)) | (lastActive ? Flag::f_active_date : Flag(0)) | (_mySsrc ? Flag(0) : Flag::f_left) - | ((muted() != MuteState::Active) ? Flag::f_muted : Flag(0)) - | (mutedCount ? Flag::f_muted_cnt : Flag(0)); + | ((muted() != MuteState::Active) ? Flag::f_muted : Flag(0)); call->applyUpdateChecked( MTP_updateGroupCallParticipants( inputCall(), @@ -394,8 +392,7 @@ void GroupCall::applySelfInCallLocally() { MTP_int(date), MTP_int(lastActive), MTP_int(_mySsrc), - MTP_int(10000), // volume - MTP_int(mutedCount))), + MTP_int(10000))), // volume MTP_int(0)).c_updateGroupCallParticipants()); } @@ -413,8 +410,7 @@ void GroupCall::applyParticipantLocally( const auto flags = (canSelfUnmute ? Flag::f_can_self_unmute : Flag(0)) | (participant->lastActive ? Flag::f_active_date : Flag(0)) | (participant->muted ? Flag::f_muted : Flag(0)) - | (participant->mutedByMe ? Flag::f_muted_by_you : Flag(0)) - | (mutedCount ? Flag::f_muted_cnt : Flag(0)); + | (participant->mutedByMe ? Flag::f_muted_by_you : Flag(0)); _peer->groupCall()->applyUpdateChecked( MTP_updateGroupCallParticipants( inputCall(), @@ -426,8 +422,7 @@ void GroupCall::applyParticipantLocally( MTP_int(participant->date), MTP_int(participant->lastActive), MTP_int(participant->ssrc), - MTP_int(volume.value_or(participant->volume)), // volume - MTP_int(mutedCount))), + MTP_int(volume.value_or(participant->volume)))), MTP_int(0)).c_updateGroupCallParticipants()); }