diff --git a/td/telegram/MessageViewer.cpp b/td/telegram/MessageViewer.cpp index 3628a813d..b7aee7c1b 100644 --- a/td/telegram/MessageViewer.cpp +++ b/td/telegram/MessageViewer.cpp @@ -45,11 +45,15 @@ MessageViewers::MessageViewers(vector> &&read_dates) - : message_viewers_( - transform(std::move(read_dates), [](telegram_api::object_ptr &&read_date) { - return MessageViewer(std::move(read_date)); - })) { +MessageViewers::MessageViewers(vector> &&read_dates) { + for (auto &read_date : read_dates) { + message_viewers_.emplace_back(std::move(read_date)); + auto user_id = message_viewers_.back().get_user_id(); + if (!user_id.is_valid()) { + LOG(ERROR) << "Receive invalid " << user_id << " as a viewer of a message"; + message_viewers_.pop_back(); + } + } } MessageViewers MessageViewers::get_sublist(const MessageViewer &offset, int32 limit) const { diff --git a/td/telegram/MessagesManager.cpp b/td/telegram/MessagesManager.cpp index 85f355150..86bcf1296 100644 --- a/td/telegram/MessagesManager.cpp +++ b/td/telegram/MessagesManager.cpp @@ -18201,10 +18201,6 @@ void MessagesManager::on_get_message_viewers(DialogId dialog_id, MessageViewers if (!is_recursive) { bool need_participant_list = false; for (auto user_id : message_viewers.get_user_ids()) { - if (!user_id.is_valid()) { - LOG(ERROR) << "Receive invalid " << user_id << " as viewer of a message in " << dialog_id; - continue; - } if (!td_->contacts_manager_->have_user_force(user_id)) { need_participant_list = true; }