From ff51bf81f30938f118e404adaafed9f94096d09d Mon Sep 17 00:00:00 2001 From: John Preston Date: Mon, 20 Jun 2022 11:18:38 +0400 Subject: [PATCH] Allow clearing history in megagroups. --- Telegram/SourceFiles/boxes/delete_messages_box.cpp | 2 -- Telegram/SourceFiles/data/data_histories.cpp | 3 ++- Telegram/SourceFiles/data/data_peer.cpp | 4 +--- 3 files changed, 3 insertions(+), 6 deletions(-) diff --git a/Telegram/SourceFiles/boxes/delete_messages_box.cpp b/Telegram/SourceFiles/boxes/delete_messages_box.cpp index 4b5da52b9..79db2c7ef 100644 --- a/Telegram/SourceFiles/boxes/delete_messages_box.cpp +++ b/Telegram/SourceFiles/boxes/delete_messages_box.cpp @@ -337,8 +337,6 @@ auto DeleteMessagesBox::revokeText(not_null peer) const lt_user, { user->firstName }, Ui::Text::RichLangValue); - } else if (_wipeHistoryJustClear) { - return std::nullopt; } else { result.checkbox.text = tr::lng_delete_for_everyone_check(tr::now); } diff --git a/Telegram/SourceFiles/data/data_histories.cpp b/Telegram/SourceFiles/data/data_histories.cpp index bb700b233..60e7127ea 100644 --- a/Telegram/SourceFiles/data/data_histories.cpp +++ b/Telegram/SourceFiles/data/data_histories.cpp @@ -641,8 +641,9 @@ void Histories::deleteAllMessages( // } }).send(); } else if (channel) { + using Flag = MTPchannels_DeleteHistory::Flag; return session().api().request(MTPchannels_DeleteHistory( - MTP_flags(0), + MTP_flags(revoke ? Flag::f_for_everyone : Flag(0)), channel->inputChannel, MTP_int(deleteTillId) )).done(finish).fail(finish).send(); diff --git a/Telegram/SourceFiles/data/data_peer.cpp b/Telegram/SourceFiles/data/data_peer.cpp index 01fe66a84..9422f711d 100644 --- a/Telegram/SourceFiles/data/data_peer.cpp +++ b/Telegram/SourceFiles/data/data_peer.cpp @@ -903,9 +903,7 @@ bool PeerData::canRevokeFullHistory() const { } else if (const auto chat = asChat()) { return chat->amCreator(); } else if (const auto megagroup = asMegagroup()) { - return megagroup->amCreator() - && megagroup->membersCountKnown() - && megagroup->canDelete(); + return megagroup->amCreator(); } return false; }