@@ -21877,22 +21877,20 @@ void MessagesManager::on_cover_upload(DialogId dialog_id, MessageId message_id,
2187721877
2187821878 MessageFullId message_full_id{dialog_id, message_id};
2187921879 const Message *m = get_message(message_full_id);
21880- if (m == nullptr) {
21880+ bool is_edit = m->message_id.is_any_server();
21881+ if (m == nullptr || (is_edit && m->edit_generation != edit_generation)) {
2188121882 // message has already been deleted by the user or sent to inaccessible channel, do not need to send or edit it
2188221883 // file upload should be already canceled in cancel_send_message_query
2188321884 LOG(INFO) << "Message with a cover has already been deleted";
2188421885 return;
2188521886 }
2188621887
21887- bool is_edit = m->message_id.is_any_server();
2188821888 if (!is_edit && result.is_ok() && !is_ephemeral_message(m)) {
2188921889 result = can_send_message(dialog_id);
2189021890 }
2189121891 if (result.is_error()) {
2189221892 if (is_edit) {
21893- if (m->edit_generation == edit_generation) {
21894- fail_edit_message_media(message_full_id, result.move_as_error());
21895- }
21893+ fail_edit_message_media(message_full_id, result.move_as_error());
2189621894 } else {
2189721895 fail_send_message(message_full_id, result.move_as_error());
2189821896 }
@@ -22260,7 +22258,8 @@ void MessagesManager::on_upload_message_media_success(DialogId dialog_id, Messag
2226022258
2226122259 CHECK(message_id.is_valid() || message_id.is_valid_scheduled());
2226222260 Message *m = get_message(d, message_id);
22263- if (m == nullptr || (m->message_id.is_any_server() && m->edit_generation != edit_generation)) {
22261+ auto is_edit = m->message_id.is_any_server();
22262+ if (m == nullptr || (is_edit && m->edit_generation != edit_generation)) {
2226422263 // message has already been deleted by the user or sent to inaccessible channel
2226522264 // don't need to send error to the user, because the message has already been deleted
2226622265 // and there is nothing to be deleted from the server
@@ -22273,7 +22272,6 @@ void MessagesManager::on_upload_message_media_success(DialogId dialog_id, Messag
2227322272 return; // the message should be deleted soon
2227422273 }
2227522274
22276- auto is_edit = message_id.is_any_server();
2227722275 EditedMessage *edited_message = nullptr;
2227822276 if (is_edit) {
2227922277 edited_message = edited_messages_.get_pointer(dialog_id, message_id);
@@ -22318,7 +22316,8 @@ void MessagesManager::on_upload_message_media_file_parts_missing(DialogId dialog
2231822316 CHECK(d != nullptr);
2231922317
2232022318 Message *m = get_message(d, message_id);
22321- if (m == nullptr || (m->message_id.is_any_server() && m->edit_generation != edit_generation)) {
22319+ bool is_edit = m->message_id.is_any_server();
22320+ if (m == nullptr || (is_edit && m->edit_generation != edit_generation)) {
2232222321 // message has already been deleted by the user, sent to inaccessible channel
2232322322 // don't need to send error to the user, because the message has already been deleted
2232422323 // and there is nothing to be deleted from the server
@@ -22342,7 +22341,8 @@ void MessagesManager::on_upload_message_media_fail(DialogId dialog_id, MessageId
2234222341 CHECK(d != nullptr);
2234322342
2234422343 Message *m = get_message(d, message_id);
22345- if (m == nullptr || (m->message_id.is_any_server() && m->edit_generation != edit_generation)) {
22344+ auto is_edit = m->message_id.is_any_server();
22345+ if (m == nullptr || (is_edit && m->edit_generation != edit_generation)) {
2234622346 // message has already been deleted by the user or sent to inaccessible channel
2234722347 // don't need to send error to the user, because the message has already been deleted
2234822348 // and there is nothing to be deleted from the server
@@ -22372,7 +22372,8 @@ void MessagesManager::on_upload_message_media_finished(int64 media_album_id, Dia
2237222372 return;
2237322373 }
2237422374 const auto *m = get_message({dialog_id, message_id});
22375- if (m == nullptr || (m->message_id.is_any_server() && m->edit_generation != edit_generation)) {
22375+ auto is_edit = m->message_id.is_any_server();
22376+ if (m == nullptr || (is_edit && m->edit_generation != edit_generation)) {
2237622377 LOG(INFO) << "The message edit generation doesn't match";
2237722378 return;
2237822379 }
@@ -23526,8 +23527,8 @@ void MessagesManager::on_message_media_edited(
2352623527
2352723528 auto edited_message = edited_messages_.get_pointer(dialog_id, message_id);
2352823529 CHECK(edited_message->content_ != nullptr);
23529- // CHECK(edited_message->file_upload_ids_ == file_upload_ids);
23530- // CHECK(edited_message->thumbnail_file_upload_ids_ == thumbnail_file_upload_ids);
23530+ CHECK(edited_message->file_upload_ids_ == file_upload_ids);
23531+ CHECK(edited_message->thumbnail_file_upload_ids_ == thumbnail_file_upload_ids);
2353123532 if (result.is_ok()) {
2353223533 // message content has already been replaced from updateEdit{Channel,}Message
2353323534 // need only merge files from edited_content with their uploaded counterparts
0 commit comments