From 22265ab338d7a7eae372ba41df8704e3d70f150c Mon Sep 17 00:00:00 2001 From: levlam Date: Sat, 12 Sep 2020 17:55:52 +0300 Subject: [PATCH] Repair sender_dialog_id in channel messages. GitOrigin-RevId: 71cbcb1252798f54da9c40b2c7838ea5f9327683 --- td/telegram/MessagesManager.cpp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/td/telegram/MessagesManager.cpp b/td/telegram/MessagesManager.cpp index 73afdf675..b877c1450 100644 --- a/td/telegram/MessagesManager.cpp +++ b/td/telegram/MessagesManager.cpp @@ -28978,11 +28978,15 @@ MessagesManager::Message *MessagesManager::add_message_to_dialog(Dialog *d, uniq MessageId message_id = message->message_id; if (!has_message_sender_user_id(dialog_id, message.get()) && !message->sender_dialog_id.is_valid()) { - const auto *forward_info = message->forward_info.get(); - if (forward_info != nullptr && forward_info->sender_dialog_id.is_valid() && forward_info->message_id.is_valid()) { - message->sender_dialog_id = forward_info->sender_dialog_id; + if (is_broadcast_channel(dialog_id)) { + message->sender_dialog_id = dialog_id; } else { - LOG(ERROR) << "Failed to repair sender chat in " << message_id << " in " << dialog_id; + const auto *forward_info = message->forward_info.get(); + if (forward_info != nullptr && forward_info->sender_dialog_id.is_valid() && forward_info->message_id.is_valid()) { + message->sender_dialog_id = forward_info->sender_dialog_id; + } else { + LOG(ERROR) << "Failed to repair sender chat in " << message_id << " in " << dialog_id; + } } }