aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorlevlam <levlam@telegram.org>2023-03-06 12:35:52 +0300
committerlevlam <levlam@telegram.org>2023-03-06 12:35:52 +0300
commit6692f9c918e2ed4378ce1e44040546ca95c59fea (patch)
tree89b83c6b536ad631193b48fae127fffd3542b4a9
parentd44351bcd7fcde5bdf5301f90ab8a84948a8103d (diff)
Allow to view additional root thread messages.
-rw-r--r--td/telegram/MessagesManager.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/td/telegram/MessagesManager.cpp b/td/telegram/MessagesManager.cpp
index 76f270bf0..c763d2068 100644
--- a/td/telegram/MessagesManager.cpp
+++ b/td/telegram/MessagesManager.cpp
@@ -21567,14 +21567,18 @@ Status MessagesManager::view_messages(DialogId dialog_id, vector<MessageId> mess
for (auto message_id : message_ids) {
auto *m = get_message_force(d, message_id, "view_messages 1");
if (m != nullptr) {
+ if (!m->top_thread_message_id.is_valid()) {
+ if (m->media_album_id != 0) {
+ // only the first album message has message thread identifier
+ continue;
+ }
+ return Status::Error(400, "Messages must be from a message thread");
+ }
if (top_thread_message_id.is_valid()) {
if (m->top_thread_message_id != top_thread_message_id) {
return Status::Error(400, "All messages must be from the same message thread");
}
} else {
- if (!m->top_thread_message_id.is_valid()) {
- return Status::Error(400, "Messages must be from a message thread");
- }
top_thread_message_id = m->top_thread_message_id;
const auto *top_m = get_message_force(d, top_thread_message_id, "view_messages 2");
if (top_m != nullptr && !top_m->reply_info.is_comment_) {