diff --git a/Telegram/SourceFiles/boxes/background_preview_box.cpp b/Telegram/SourceFiles/boxes/background_preview_box.cpp index afe4184d2d..6051b64748 100644 --- a/Telegram/SourceFiles/boxes/background_preview_box.cpp +++ b/Telegram/SourceFiles/boxes/background_preview_box.cpp @@ -284,7 +284,7 @@ AdminLog::OwnedItem GenerateTextItem( const auto flags = Flag::f_entities | Flag::f_from_id | (out ? Flag::f_out : Flag(0)); - const auto clientFlags = MTPDmessage_ClientFlags(); + const auto clientFlags = MTPDmessage_ClientFlag::f_fake_history_item; const auto replyTo = 0; const auto viaBotId = 0; const auto item = history->owner().makeMessage( diff --git a/Telegram/SourceFiles/history/admin_log/history_admin_log_item.cpp b/Telegram/SourceFiles/history/admin_log/history_admin_log_item.cpp index d115daa2e9..e7707841c5 100644 --- a/Telegram/SourceFiles/history/admin_log/history_admin_log_item.cpp +++ b/Telegram/SourceFiles/history/admin_log/history_admin_log_item.cpp @@ -392,7 +392,7 @@ void GenerateItems( message.links.push_back(fromLink); addPart(history->owner().makeServiceMessage( history, - MTPDmessage_ClientFlags(), + MTPDmessage_ClientFlag::f_admin_log_entry, history->nextNonHistoryEntryId(), date, message, @@ -427,7 +427,7 @@ void GenerateItems( addSimpleServiceMessage(text); auto bodyFlags = Flag::f_entities | Flag::f_from_id; - auto bodyClientFlags = MTPDmessage_ClientFlags(); + auto bodyClientFlags = MTPDmessage_ClientFlag::f_admin_log_entry; auto bodyReplyTo = 0; auto bodyViaBotId = 0; auto newDescription = PrepareText(newValue, QString()); @@ -463,7 +463,7 @@ void GenerateItems( addSimpleServiceMessage(text); auto bodyFlags = Flag::f_entities | Flag::f_from_id; - auto bodyClientFlags = MTPDmessage_ClientFlags(); + auto bodyClientFlags = MTPDmessage_ClientFlag::f_admin_log_entry; auto bodyReplyTo = 0; auto bodyViaBotId = 0; auto newLink = newValue.isEmpty() ? TextWithEntities() : PrepareText(Core::App().createInternalLinkFull(newValue), QString()); @@ -536,7 +536,7 @@ void GenerateItems( action.vmessage(), history->nextNonHistoryEntryId(), date), - MTPDmessage_ClientFlags(), + MTPDmessage_ClientFlag::f_admin_log_entry, detachExistingItem)); } }; @@ -561,7 +561,7 @@ void GenerateItems( action.vnew_message(), history->nextNonHistoryEntryId(), date), - MTPDmessage_ClientFlags(), + MTPDmessage_ClientFlag::f_admin_log_entry, detachExistingItem); if (oldValue.text.isEmpty()) { oldValue = PrepareText(QString(), tr::lng_admin_log_empty_text(tr::now)); @@ -583,7 +583,7 @@ void GenerateItems( auto detachExistingItem = false; addPart(history->createItem( PrepareLogMessage(action.vmessage(), history->nextNonHistoryEntryId(), date), - MTPDmessage_ClientFlags(), + MTPDmessage_ClientFlag::f_admin_log_entry, detachExistingItem)); }; @@ -603,7 +603,7 @@ void GenerateItems( auto createParticipantInvite = [&](const MTPDchannelAdminLogEventActionParticipantInvite &action) { auto bodyFlags = Flag::f_entities | Flag::f_from_id; - auto bodyClientFlags = MTPDmessage_ClientFlags(); + auto bodyClientFlags = MTPDmessage_ClientFlag::f_admin_log_entry; auto bodyReplyTo = 0; auto bodyViaBotId = 0; auto bodyText = GenerateParticipantChangeText(channel, action.vparticipant()); @@ -622,7 +622,7 @@ void GenerateItems( auto createParticipantToggleBan = [&](const MTPDchannelAdminLogEventActionParticipantToggleBan &action) { auto bodyFlags = Flag::f_entities | Flag::f_from_id; - auto bodyClientFlags = MTPDmessage_ClientFlags(); + auto bodyClientFlags = MTPDmessage_ClientFlag::f_admin_log_entry; auto bodyReplyTo = 0; auto bodyViaBotId = 0; auto bodyText = GenerateParticipantChangeText(channel, action.vnew_participant(), &action.vprev_participant()); @@ -647,7 +647,7 @@ void GenerateItems( return; } auto bodyFlags = Flag::f_entities | Flag::f_from_id; - auto bodyClientFlags = MTPDmessage_ClientFlags(); + auto bodyClientFlags = MTPDmessage_ClientFlag::f_admin_log_entry; auto bodyReplyTo = 0; auto bodyViaBotId = 0; auto bodyText = GenerateParticipantChangeText(channel, action.vnew_participant(), &action.vprev_participant()); @@ -687,7 +687,7 @@ void GenerateItems( message.links.push_back(setLink); addPart(history->owner().makeServiceMessage( history, - MTPDmessage_ClientFlags(), + MTPDmessage_ClientFlag::f_admin_log_entry, history->nextNonHistoryEntryId(), date, message, @@ -706,7 +706,7 @@ void GenerateItems( auto createDefaultBannedRights = [&](const MTPDchannelAdminLogEventActionDefaultBannedRights &action) { auto bodyFlags = Flag::f_entities | Flag::f_from_id; - auto bodyClientFlags = MTPDmessage_ClientFlags(); + auto bodyClientFlags = MTPDmessage_ClientFlag::f_admin_log_entry; auto bodyReplyTo = 0; auto bodyViaBotId = 0; auto bodyText = GenerateDefaultBannedRightsChangeText(channel, action.vnew_banned_rights(), action.vprev_banned_rights()); @@ -730,7 +730,7 @@ void GenerateItems( auto detachExistingItem = false; addPart(history->createItem( PrepareLogMessage(action.vmessage(), history->nextNonHistoryEntryId(), date), - MTPDmessage_ClientFlags(), + MTPDmessage_ClientFlag::f_admin_log_entry, detachExistingItem)); }; @@ -763,7 +763,7 @@ void GenerateItems( message.links.push_back(chatLink); addPart(history->owner().makeServiceMessage( history, - MTPDmessage_ClientFlags(), + MTPDmessage_ClientFlag::f_admin_log_entry, history->nextNonHistoryEntryId(), date, message, diff --git a/Telegram/SourceFiles/history/history.cpp b/Telegram/SourceFiles/history/history.cpp index 11504e9964..326338e348 100644 --- a/Telegram/SourceFiles/history/history.cpp +++ b/Telegram/SourceFiles/history/history.cpp @@ -685,13 +685,6 @@ void History::checkForLoadedAtTop(not_null added) { } } -HistoryItem *History::addToHistory( - const MTPMessage &msg, - MTPDmessage_ClientFlags clientFlags) { - const auto detachExistingItem = false; - return createItem(msg, clientFlags, detachExistingItem); -} - not_null History::addNewLocalMessage( MsgId id, MTPDmessage::Flags flags, @@ -880,8 +873,9 @@ void History::addUnreadMentionsSlice(const MTPmessages_Messages &result) { auto added = false; if (messages) { const auto clientFlags = MTPDmessage_ClientFlags(); - for (auto &message : *messages) { - if (auto item = addToHistory(message, clientFlags)) { + const auto type = NewMessageType::Existing; + for (const auto &message : *messages) { + if (const auto item = addNewMessage(message, clientFlags, type)) { if (item->isUnreadMention()) { _unreadMentions.insert(item->id); added = true; diff --git a/Telegram/SourceFiles/mtproto/type_utils.h b/Telegram/SourceFiles/mtproto/type_utils.h index ccaab5d3c0..77e2478e8e 100644 --- a/Telegram/SourceFiles/mtproto/type_utils.h +++ b/Telegram/SourceFiles/mtproto/type_utils.h @@ -68,6 +68,12 @@ enum class MTPDmessage_ClientFlag : uint32 { // message is local message existing in the message history f_local_history_entry = (1U << 20), + + // message is an admin log entry + f_admin_log_entry = (1U << 19), + + // message is a fake message for some ui + f_fake_history_item = (1U << 18), }; inline constexpr bool is_flag_type(MTPDmessage_ClientFlag) { return true; } using MTPDmessage_ClientFlags = base::flags; diff --git a/Telegram/SourceFiles/settings/settings_privacy_controllers.cpp b/Telegram/SourceFiles/settings/settings_privacy_controllers.cpp index 57974aa985..e8a32c9fd3 100644 --- a/Telegram/SourceFiles/settings/settings_privacy_controllers.cpp +++ b/Telegram/SourceFiles/settings/settings_privacy_controllers.cpp @@ -166,7 +166,7 @@ AdminLog::OwnedItem GenerateForwardedItem( return history->owner().makeMessage( history, data, - MTPDmessage_ClientFlags()); + MTPDmessage_ClientFlag::f_fake_history_item); }, [](auto &&) -> not_null { Unexpected("Type in GenerateForwardedItem."); }); diff --git a/Telegram/SourceFiles/support/support_autocomplete.cpp b/Telegram/SourceFiles/support/support_autocomplete.cpp index aad439927d..fc5afd8b3c 100644 --- a/Telegram/SourceFiles/support/support_autocomplete.cpp +++ b/Telegram/SourceFiles/support/support_autocomplete.cpp @@ -271,7 +271,7 @@ AdminLog::OwnedItem GenerateCommentItem( using Flag = MTPDmessage::Flag; const auto id = ServerMaxMsgId + (ServerMaxMsgId / 2); const auto flags = Flag::f_entities | Flag::f_from_id | Flag::f_out; - const auto clientFlags = MTPDmessage_ClientFlags(); + const auto clientFlags = MTPDmessage_ClientFlag::f_fake_history_item; const auto replyTo = 0; const auto viaBotId = 0; const auto item = history->owner().makeMessage( @@ -324,7 +324,7 @@ AdminLog::OwnedItem GenerateContactItem( const auto item = history->owner().makeMessage( history, message.c_message(), - MTPDmessage_ClientFlags()); + MTPDmessage_ClientFlag::f_fake_history_item); return AdminLog::OwnedItem(delegate, item); }