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

Интерфейс создаёт впечатление, что при приостановке аккаунта пользователю не будет отправлено письмо, если не заполнить нижнюю часть формы — там указано лишь, что при попытке входа ему будет отображён текст:

Но когда я тестировал функцию с помощью тестового аккаунта, я заметил, что система всё же отправила письмо с уведомлением о приостановке. Также было отправлено письмо, когда я заблокировал (silenced) тестового пользователя. Письма отправляются немедленно, так что даже нет времени зайти в Sidekiq, чтобы остановить процесс.

Я считаю, что это баг:

Причина, по которой я не хочу отправлять этим людям письма, заключается в том, что я не хочу напоминать им о существовании сайта. (Все блокировки являются постоянными, если пользователь не подаст апелляцию по электронной почте.)

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

4 лайка

Это звучит довольно плохо. Что такое «Тип письма», как он отображается в разделе журналов писем в административном интерфейсе?

Похоже, здесь было намеренное изменение: UX: Always email suspended users and clarify expiry timezones - Pull Request #44812 - discourse/discourse - GitHub @tgxworld точно это знает, но я считаю, что это связано с требованиями Директивы о цифровых услугах (DSA).

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

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

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

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

Агент по написанию кода сказал, что может написать плагин для подавления этих писем, но официального хука для блокировки таких писем не существует. Будущее обновление ядра может сломать этот плагин.

Если причины, по которым нежелательно отправлять эти письма, непонятны, я могу привести примеры сценариев.

1 лайк

Да, это возможно. Мы работаем над тем, чтобы сделать использование Discourse соответствующим требованиям DSA в части подачи жалоб, поэтому обновлений будет больше, и ваша обратная связь очень помогает.

Однако имейте в виду, что если ваш форум работает из ЕС или у вас есть пользователи из ЕС, то по Закону о цифровых услугах (статья 17) вы обязаны предоставлять заблокированным или приглушённым пользователям обоснование причины.

Поскольку сложно определить местонахождение каждого конкретного пользователя, я бы оставил отправку email по умолчанию и пропускал её только для аккаунтов спама/ботов, которые DSA освобождает от этого требования.

1 лайк

Я не вижу требования в статье 17 о том, чтобы причины модерации отправлялись по электронной почте. Если пользователь может увидеть эти причины на сайте, когда пытается войти во время приостановки доступа, или всё ещё может войти при блокировке (silenced), разве это не соответствует требованию?

Статья 17, Директива об услугах цифрового пространства (DSA)

1 лайк

Спасибо за объяснение. Я не знал о Законе о цифровых услугах.

Я запутался в этом законе. Gmail — это веб-сайт; мой форум — тоже веб-сайт. Почему посещение gmail.com для просмотра сообщений считается «уведомлением», а посещение системы сообщений на моём сайте для просмотра уведомлений — нет? Кажется, это даёт несправедливое преимущество крупным технологическим компаниям. Если я буду отправлять им уведомления через Google в дополнение к уведомлениям на моём сайте через собственную систему сообщений, то они получат двойное уведомление.

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

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

Если вы не можете изменить Discourse так, чтобы эти письма были отключены по умолчанию, могли бы вы создать стабильный API, который плагин мог бы использовать для предотвращения определённых уведомлений? (если такого ещё нет — Claude не смог найти)

Какой-то хук для этого также был бы полезен, чтобы я мог написать плагин, предотвращающий отправку писем, когда пост, находящийся на модерации, одобрен. Я никогда не хочу отправлять такие письма, поэтому мне всегда приходится заходить в Sidekiq, чтобы вручную отменять эти задачи. Иначе письмо напоминает пользователю, что на одобрение его постов ушли часы, и в это время он может расстраиваться из-за этого. Я собирался попросить Claude написать плагин, но он сказал, что это будет патчинг основного функционала, и плагин может сломаться после обновления, что означает, что мне, вероятно, всё равно придётся проверять Sidekiq каждый раз, когда я одобряю пост, чтобы убедиться, что задачи с письмами не добавляются в очередь.

1 лайк

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

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

(Это аргумент в пользу того, чтобы условия использования прямо запрещали антисоциальное поведение)

1 лайк

Пока мы обсуждаем это изменение внутри и решаем, имеет ли смысл делать его значением по умолчанию, я отменил отправку уведомлений о приостановке/тишины по умолчанию в FIX: Restore optional suspension emails outside DSA reporting - Pull Request #45141 - discourse/discourse - GitHub.

2 лайка