Уведомление по электронной почте о сообщениях

Я и некоторые наши пользователи испытываем трудности с пониманием разницы между этими двумя вариантами получения уведомлений по электронной почте о новых сообщениях:

и

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

Вот пример пропущенного уведомления по электронной почте для пользователя, который выбрал получать уведомления «всегда»:

Пользователь просматривал форум, но в течение 10 минут не проверял свои сообщения (мы проводили тесты, чтобы понять логику работы системы).

Таким образом, если вариант «всегда» отменяет отправку уведомлений по электронной почте, когда пользователь работает в Discourse, то в чём тогда разница с вариантом «только когда отсутствует»?

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

2 лайка

Когда опция пользователя «Отправлять мне электронное письмо, когда кто-то пишет мне» установлена в значение «Всегда», электронное письмо не должно отправляться пользователю только в том случае, если он уже прочитал сообщение. В этом случае в логах причина пропуска (Skip Reason) должна быть указана как «Уведомление, касающееся этого электронного письма, уже было прочитано». Это должно происходить только в том случае, если пользователь действительно посетил сообщение на сайте; простое просмотр уведомления в выпадающем меню не должно приводить к пропуску сообщения.

Причина пропуска «Пользователь был замечен недавно» не должна отображаться для получателей личных сообщений, у которых уровень уведомлений установлен в значение «Всегда». Вы уверены, что пропущенное сообщение на вашем скриншоте относится к личному сообщению?

4 лайка

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

Чтобы перепроверить, я только что воспроизвёл это ещё раз.

Отправил сообщение. Получатель открыл его (до истечения 10 минут), и уведомление по электронной почте было отменено мгновенно:

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

Не уверен, правильно ли я понял вопрос. Разве user_private_message на скриншоте не относится только к личным сообщениям?

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

Могу ли я предоставить какую-либо другую информацию?

3 лайка

Это понятно, я тестирую это на ветке tests-passed.

Да, именно так. На вашем скриншоте это явно личное сообщение. Для пользователя, который выбрал получать уведомления по электронной почте всегда, когда ему кто-то пишет, письмо должно отправляться, если он ещё не прочитал это личное сообщение через интерфейс пользователя Discourse.

3 лайка

У меня нет удобного способа воспроизвести это в среде с tests-passed, поэтому я попросил кого-то написать мне здесь на Meta, и надеюсь, что этого достаточно. Я был на Meta, когда человек отправил сообщение, и продолжал просматривать Meta более 10 минут (не проверяя сообщения): за это время не пришло ни одного уведомления по электронной почте, хотя у меня для личных сообщений установлено значение «всегда». Похоже на то же поведение, которое я описывал для стабильной версии.

Не могли бы вы проверить логи пропущенных писем и посмотреть, что случилось с уведомлением о последнем сообщении здесь?

Может ли мобильное push-уведомление о сообщении отменить уведомление по электронной почте? Я получил его сразу (не через 10 минут), но за этот 10-минутный интервал не открывал его (и не открывал приложение DiscourseHub).

2 лайка

Я не вижу записи об этом сообщении ни в логах пропущенных, ни в логах отправленных писем на Meta. Не знаю, в чём причина, но ответ на ваше сообщение, который мог бы сгенерировать письмо, был таким:

привет привет привет привет привет привет привет привет

Не уверен, что многократная публикация одного и того же слова может вызвать что-то, что предотвращает отправку письма.

Я ещё раз проверю это на своём собственном сайте, чтобы убедиться, что письма отправляются как положено.

2 лайка

Кстати, я попросил прислать мне ещё одно сообщение. На этот раз более обычного вида.

То же самое поведение. Пока я просто продолжаю просматривать Meta, я не получаю уведомление по электронной почте о сообщении. На данный момент (прошло 15 минут) письмо так и не пришло, и у меня всё ещё есть уведомление о новом сообщении, так как я его ещё не открыл.

2 лайка

Можем ли мы воспроизвести это здесь на Meta, @tshenry?

2 лайка

Итак, я начну с того, что мы передаём параметр default email messages level со значением «всегда». Это меня немного удивляет, но, возможно, идея в том, что прямые сообщения должны иметь максимальную видимость.

В любом случае, я только что создал тестовый аккаунт здесь, на Meta, и отправил ему личное сообщение. Затем я продолжил просматривать форум под этим тестовым аккаунтом, игнорируя уведомление о новом сообщении.

Через пару минут я проверил логи, и кажется, что отправка пропускается:

Несмотря на то, что:

Так что, отвечая на ваш вопрос: да, я действительно могу воспроизвести эту проблему на Meta!

7 лайков

Наверное, стоит назначить это @sam?

6 лайков

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

Спасибо, что сообщили об этой проблеме, @mentalstring. :+1:

8 лайков

После быстрого теста здесь, в Meta, всё кажется работающим как ожидалось. Спасибо за исправление :+1:

6 лайков