Уведомления об упоминании группы приходят пользователям, не входящим в группу

Привет :wave:

Некоторые пользователи моего сообщества сообщают, что получают уведомления по электронной почте о темах, к которым они не имеют никакого отношения. После небольшого расследования я обнаружил, что определенные пользователи продолжают получать письма, когда упоминается определенная группа. При проверке журналов почты в интерфейсе администратора я увидел, что причиной отправки письма указано user_linked, хотя они явно не связаны с постами.

Может ли кто-нибудь подтвердить такое поведение? Это ошибка Discourse или связано с какой-то неправильной конфигурацией? Это началось несколько версий назад, но точно неизвестно, когда именно (но где-то в последние 5 недель).

Моя текущая версия Discourse — 2.5.0 (6a42acbfb7), но такое поведение наблюдалось и до обновления до версии 2.5.0.

Если эти пользователи входят в эту группу и группа настроена так, что её можно @упомянуть, то вы описываете ожидаемое поведение. Возможно, вам стоит изменить эти настройки на вкладке «Взаимодействие с группой»:

Дело в том, что эти пользователи не входят в эту группу. Если бы они входили, это было бы действительно глупым сообщением об ошибке :sweat_smile:

Но я действительно забыл упомянуть об этом в своём первоначальном посте, мне очень жаль! :disappointed_relieved:

2 лайка

Это странно, можем ли мы попробовать воспроизвести это на следующей неделе @tshenry?

1 лайк

Содержит ли тело сообщения ссылки на какие-либо посты от указанных пользователей?

Нет. Я попытался воспроизвести проблему, и указанный пользователь получает письма даже в том случае, когда сам пост содержит всего два слова и упоминание (@mention) конкретной группы.

Можете подтвердить, что зашли на профиль пользователя как администратор и посмотрели уведомления?

Извините, я не совсем понял, что вы имеете в виду.

Создайте пост с воспроизведением проблемы,

Перейдите на профиль указанного пользователя и просмотрите уведомления.

Хорошо, я нашёл это. Что я должен здесь видеть? Я вижу уведомления о постах, которые я только что создал.

Они видны только в категории «Все». Ничего нет в разделах «Упоминания», «Лайки» или где-либо ещё.

Можете прикрепить скриншот вашего поста и уведомления?

Меня сбивает с толку следующее: согласно

единственный способ хранить какое-либо состояние для группы (notification_level) — это состоять в этой группе.

3 лайка

Конечно!

Вот пост:

Извините за формулировку, это был просто тест :wink:

А вот список уведомлений по электронной почте из панели администратора:

Из любопытства: совпадают ли уведомленные пользователи с теми, кто добавил :laughing: ответ к посту? Также не могли бы вы перечислить плагины, установленные на вашем экземпляре?

2 лайка

Отличный вопрос! Но нет. Ни один из пользователей, которые отреагировали с помощью плагина retort, не получил уведомление. Пользователи, которые получили уведомление, действительно НЕ ИМЕЮТ НИКАКОГО ОТНОШЕНИЯ к теме. Фактически они вообще редко бывают онлайн на сайте.

1 лайк

Это, безусловно, выглядит странно! Похоже, что категория Für Mitarbeiter ограничена. Можете ли вы подтвердить, что уведомленные пользователи имеют доступ к этой категории в соответствии с её настройками безопасности? Если они получают уведомления о публикации, к которой у них нет доступа, это ещё более тревожный сигнал.

1 лайк

У них есть доступ к этой категории. Но проблема возникает и во всех остальных категориях. Я просто протестировал это в ограниченной категории, чтобы не создавать бессмысленный пост публично.

1 лайк

Отлично, это все важные части головоломки!

Исходя из всего, что было сказано до сих пор, я предположу, что следующее утверждение верно:

  • При упоминании группы @Support несколько пользователей, не входящих в эту группу, получают уведомления user_linked, хотя в теле сообщения или заголовке нет никакой ссылки.

Вот несколько дополнительных вопросов, которые помогут исключить потенциальные проблемные области:

  • Если вы создадите новую тестовую группу “Test”, добавив в нее только себя, настроите её с теми же параметрами, что и @Support, и упомянете эту новую тестовую группу, получат ли те же пользователи уведомления?

  • Если вы упомянете конкретного пользователя, который не входит в число тех, кто получает ошибочные уведомления, продолжат ли затронутые пользователи получать уведомление user_linked?

Если вы сможете получить ответы на эти вопросы, я подготовлю несколько команд, которые мы сможем использовать для проверки вашей базы данных в наиболее очевидных местах.

Мне по-прежнему хотелось бы узнать, какие плагины вы используете. Маловероятно, что проблема вызвана плагином, но никогда не знаешь. Если вы хотите попробовать отключить плагины, чтобы проверить, сохраняется ли проблема, это было бы ещё лучше.

3 лайка

Постойте, вы используете retort здесь. Можете ли вы провести повторное тестирование, используя только официальные плагины?

5 лайков