Skip to content

Commit 09c6bad

Browse files
committed
Remove pinned message notification only if new pinned message is added to Mentions.
1 parent 2a9393f commit 09c6bad

File tree

1 file changed

+6
-8
lines changed

1 file changed

+6
-8
lines changed

td/telegram/MessagesManager.cpp

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -26937,9 +26937,8 @@ Result<MessagesManager::MessagePushNotificationInfo> MessagesManager::get_messag
2693726937
if (message_id.is_valid()) {
2693826938
auto notification_info = add_dialog_notification_info(d);
2693926939
if (message_id > notification_info->max_push_notification_message_id_) {
26940-
if (is_new_pinned) {
26941-
set_dialog_pinned_message_notification(d, contains_mention ? message_id : MessageId(),
26942-
"get_message_push_notification_info");
26940+
if (is_new_pinned && contains_mention) {
26941+
set_dialog_pinned_message_notification(d, message_id, "get_message_push_notification_info");
2694326942
}
2694426943
notification_info->max_push_notification_message_id_ = message_id;
2694526944
on_dialog_updated(dialog_id, "set_max_push_notification_message_id");
@@ -27814,7 +27813,7 @@ bool MessagesManager::add_new_message_notification(Dialog *d, Message *m, bool f
2781427813
}
2781527814
if (!is_active) {
2781627815
VLOG(notifications) << "Disable inactive notification for " << m->message_id << " in " << d->dialog_id;
27817-
if (is_pinned) {
27816+
if (is_pinned && from_mentions) {
2781827817
remove_dialog_pinned_message_notification(d, "add_new_message_notification");
2781927818
}
2782027819
return false;
@@ -27840,7 +27839,7 @@ bool MessagesManager::add_new_message_notification(Dialog *d, Message *m, bool f
2784027839
std::tie(have_settings, mute_until) = get_dialog_mute_until(settings_dialog_id, settings_dialog);
2784127840
if (mute_until > m->date && (have_settings || force)) {
2784227841
VLOG(notifications) << "Disable notification, because " << settings_dialog_id << " is muted";
27843-
if (is_pinned) {
27842+
if (is_pinned && from_mentions) {
2784427843
remove_dialog_pinned_message_notification(d, "add_new_message_notification");
2784527844
}
2784627845
return false;
@@ -27914,9 +27913,8 @@ bool MessagesManager::add_new_message_notification(Dialog *d, Message *m, bool f
2791427913
}
2791527914
set_dialog_last_notification_checked(d->dialog_id, group_info, m->date, m->notification_id,
2791627915
"add_new_message_notification 3");
27917-
if (is_pinned) {
27918-
set_dialog_pinned_message_notification(d, from_mentions ? m->message_id : MessageId(),
27919-
"add_new_message_notification");
27916+
if (is_pinned && from_mentions) {
27917+
set_dialog_pinned_message_notification(d, m->message_id, "add_new_message_notification");
2792027918
}
2792127919
if (!m->notification_id.is_valid()) {
2792227920
// protection from accidental notification_id removal in set_dialog_pinned_message_notification

0 commit comments

Comments
 (0)