Skip to content

Commit

Permalink
Ensure that online member count is reasonable.
Browse files Browse the repository at this point in the history
  • Loading branch information
levlam committed Dec 10, 2021
1 parent 0a01b97 commit 6bd7e04
Showing 1 changed file with 24 additions and 0 deletions.
24 changes: 24 additions & 0 deletions td/telegram/MessagesManager.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -12093,6 +12093,30 @@ void MessagesManager::set_dialog_online_member_count(DialogId dialog_id, int32 o
return;
}

if (online_member_count < 0) {
LOG(ERROR) << "Receive online_member_count = " << online_member_count << " in " << dialog_id;
online_member_count = 0;
}

switch (dialog_id.get_type()) {
case DialogType::Chat: {
auto participant_count = td_->contacts_manager_->get_chat_participant_count(dialog_id.get_chat_id());
if (online_member_count > participant_count) {
online_member_count = participant_count;
}
break;
}
case DialogType::Channel: {
auto participant_count = td_->contacts_manager_->get_channel_participant_count(dialog_id.get_channel_id());
if (participant_count != 0 && online_member_count > participant_count) {
online_member_count = participant_count;
}
break;
}
default:
break;
}

auto &info = dialog_online_member_counts_[dialog_id];
LOG(INFO) << "Change number of online members from " << info.online_member_count << " to " << online_member_count
<< " in " << dialog_id << " from " << source;
Expand Down

0 comments on commit 6bd7e04

Please sign in to comment.