Пользователи в тестовом режиме получают письма user_linked

Я заметил, что пользователям со статусом «staged» отправляются уведомления по электронной почте user_linked. В моём случае я использую режим рассылки для архивирования писем, адресованных внешним сторонам. Когда кто-то ссылается на сообщение/письмо от внешнего пользователя со статусом «staged» из другой темы, этот пользователь получает уведомление по электронной почте, включающее текст сообщения! Очевидно, что это не то, что мне нужно, и это может даже навредить!

Следующее сообщение предполагает, что это ошибка:

Если это не ошибка, есть ли способ отключить такое поведение?

2 лайка

Хм. Мы можем воспроизвести это, @tshenry?

1 лайк

Похоже, что можно предотвратить отправку этих писем, установив параметр Отправлять мне письмо, когда кто-то цитирует меня, отвечает на мой пост, упоминает мой @username или приглашает меня в тему в значение никогда на странице настроек тестовых пользователей.

Возможно, Discourse мог бы автоматически устанавливать это значение на никогда для всех новых тестовых аккаунтов? Или, по крайней мере, сделать эту настройку конфигурируемой.

Обратите внимание, что это приватный форум, требующий входа, а категории не являются приватными, поскольку в этом нет необходимости. Из Private category comments exposed via email - #13 by gerhard

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

Тем не менее, для случая использования приватного форума было бы очень полезно иметь возможность отключать такое поведение.

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

Да, вы можете скрыть значок замка с помощью CSS:

.d-icon-lock {
    display: none;
}
4 лайка

Поскольку в моём форуме зафиксирован состав пользователей, я рассматриваю возможность отключения уведомлений по электронной почте для всех вновь создаваемых учётных записей (включая временные учётные записи). Я заметил, что при установке параметра «Уровень уведомлений по умолчанию» в значение «Никогда» можно выбрать, чтобы это влияло только на новых пользователей, так что настройки уведомлений по электронной почте для существующих пользователей не затрагиваются.

См. также: Discourse disable emails when someone replies etc - #2 by pfaffman

Вот базовый пример воспроизведения:

  1. На сайте требуется вход, категории не приватные
  2. Отправьте личное сообщение на email, который ещё не привязан к аккаунту, чтобы создать временного пользователя
  3. Попросите этого временного пользователя ответить на личное сообщение по email
  4. Приведите цитату ответа временного пользователя на личное сообщение в отдельной теме на форуме
  5. Добавьте ссылку на ответ временного пользователя на личное сообщение в отдельной теме на форуме
  6. Уведомления по email с user_linked не были отправлены временному пользователю Наблюдалась задержка, но в итоге временный пользователь получил уведомления по email для обоих случаев.

Что думаете, @codinghorror?

3 лайка

Определённо баг. Можем ли мы запланировать исправление на завтра и сделать бэкпорт, если это не слишком сложно, @eviltrout? Я не думаю, что пользователи в режиме staging вообще должны это получать.

3 лайка

Описанная вами ситуация отличается от той, с которой столкнулся я, но проблема может иметь одну и ту же корневую причину:

  1. Для доступа к сайту требуется вход в систему, категории не являются приватными.
  2. Установите собственный адрес входящей почты для категории A и разрешите получение писем от анонимных пользователей без аккаунтов (я также установил опцию Категория зеркалит рассылку).
  3. Пользователь X, у которого нет аккаунта, отправляет письмо на этот адрес.
    • Создается временный пользователь.
    • В категории A создается новая тема.
  4. Зарегистрированный пользователь Y создает новую тему в категории B со ссылкой на тему в категории A.
  5. Пользователь X получает уведомление по электронной почте user_linked.

Я понимаю, что для публичного Discourse (не требующего входа) это желаемое поведение. Однако для приватного Discourse это, скорее всего, может нанести вред. Возможно, стоит сделать это поведение зависимым от настройки «Требуется вход»?

Спасибо, что уделили внимание этому вопросу!

1 лайк

Исправлено в:

и перенесено в ветку stable: FIX: Staged users getting user_linked and user_quoted emails · discourse/discourse@6b20d52 · GitHub

6 лайков

Спасибо за этот отчет, @brechtm — проблема уже исправлена. Извините за это.

4 лайка

Я проверил на своей стороне, и проблема действительно кажется решённой. Спасибо! Извиняться не нужно :slight_smile:

5 лайков