フォーラムは、ユーザーを停止やミュートするたびに必ずメールを送信します

UIの表示を見ると、ユーザーを停止(サスペンド)する場合、この下部セクションを入力しない限りメールを送信しないように見えるようです。ログイン時にテキストを表示するとだけ記載されているためです:

しかし、テストアカウントで動作確認をしていたところ、停止通知のメールが送信されていることに気づきました。また、テストユーザーをサイレント(ミュート)にした際にもメールが送信されました。メールは即座に送信されるため、sidekiqに入って処理を止める時間すらありません。

これはバグだと思います:

これらの人にメールを送りたくない理由は、サイトが存在していることを思い出させたくないからです。(すべての停止は恒久的ですが、メールによる異議申し立てを行う場合は別です。)

追記: この投稿後、テストアカウントを解除した際に別のメールが届いたことに気づきました。ユーザーがシステムによって停止やサイレントされたことに気づいていない可能性があるため、管理者がチェックボックスをチェックした場合を除き、その場合もメールを送信すべきではないと思います。

「いいね!」 4

かなり深刻な問題のようです。管理画面の「メールログ」部分に表示される「Email Type」とはどのようなものですか?

ここでの意図的な変更のようです: UX: Always email suspended users and clarify expiry timezones - Pull Request #44812 - discourse/discourse - GitHub @tgxworld が確実に知っているはずですが、デジタルサービス法(DSA)の要件に関連していると思います。

デフォルトでメールを送信しないように変更し、代わりに「ユーザーにメールを送信する」というチェックボックスを設置することは可能でしょうか?現在、UIとフォーラムのドキュメントでは、下部のテキストエリアに入力がない限り、停止(サスペンド)やサイレンシング(発言制限)ではメールが送信されないと記載されています。

もし自動的にメールが送信されてしまう場合、UIを使用してユーザーを停止したりサイレンシングしたりできなくなり、SSH経由でログインしてRailsコンソールから実行するか、メールを送信せずにそれを行う別の方法を探すことになります。

私はこれらのようなモデレーション判断においてメールを送信したことがありません。それは、望ましくないユーザーに対してフォーラムが存在することを思い出させることになり、単に彼らが消えてほしいからです。もし彼らがフォーラムに戻ってきたらモデレーション理由を確認できますが、ほとんどの場合は戻ってきません。

私たちは一時的な停止やサイレンシングを行いません — 常に恒久的です。ユーザーには自己改善するために何度か警告を出しますが、それができない場合は停止となり、メールによる異議申し立てが可能です。

コーディングエージェントは、これらのメールを抑制するプラグインを作成できるものの、これらのメールをブロックするための公式フックはないと言っていました。将来のコア更新により、プラグインが壊れる可能性があります。

これらのメールを送信したくない理由が理解しにくいものであれば、例示シナリオを投稿することができます。

「いいね!」 1

はい、可能です。Discourse を DSA(デジタルサービス法)の苦情処理手順に沿って使用できるようにするための作業を進めており、今後のアップデートやフィードバックが役立ちます。

ただし、フォーラムが EU 内で運営されていたり、EU にユーザーがいる場合、DSA(第17条)により、停止または沈黙化されたユーザーに対して理由の説明を行うことが義務付けられています。

個々のユーザーの所在地を把握することは難しいため、デフォルトではメール通知を残し、DSA で除外対象となるスパムやボットアカウントの場合のみスキップすることをお勧めします。

「いいね!」 1

第17条に、モデレーションの理由を電子メールで送信するよう求める規定は見当たりません。ユーザーが停止中にログインを試みるとサイト上に投稿された内容を確認できる場合、またはサイレンス中でもまだログインできる場合は、その要件を満たすのではないでしょうか。

Article 17, the Digital Services Act (DSA)

「いいね!」 1

説明ありがとうございます。Digital Services Act(デジタルサービス法)のことは知りませんでした。

この法律について混乱しています。Gmailはウェブサイトですし、私のフォーラムもウェブサイトです。なぜgmail.comにアクセスしてメッセージを確認することが「通知」とみなされるのに、私のサイトのメッセージシステムにアクセスして通知を確認することが「通知」とみなされないのでしょうか? それは大手テック企業に不当な優遇を与えるように思えます。もし私が自前のメッセージシステムを通じてサイトで彼らに通知するだけでなく、Google経由でも通知させるなら、二重の通知を送ることになります。

私は常に理由を表示しているので、フォーラムで受信したメッセージを確認に来た際にそれを見ることができます。モデレーションの決定に対しては、メールでいつでも異議申し立てが可能です。実際の人間がメールに対応しており、コンタクトリンクはドロップダウンメニューから利用できます。

法律が明確になるまで、これらのメールをデフォルトでは送信しない設定にしておきたいと考えています。手動で停止、サイレント化、停止解除、サイレント解除が行われた場合、メールテキストエリアに入力しない限り、誰にもメールが届かないようにしたいのです。

Discourseを修正してこれらのメールをデフォルトで無効にする機能がなければ、プラグインがフックして特定の通知を防ぐための安定したAPIを作成することは可能でしょうか?(まだ存在しない場合ですが — Claudeは見つからなかったようです)

そのようなフックがあれば、モデレーション中の投稿が承認された際にメールが送信されるのを防ぐプラグインを書くこともできるため、私にとって非常に有用です。私もこれらのメールを送信したくないので、いつもSidekiqに入って手動でジョブをキャンセルしなければなりません。そうしないと、メールによってユーザーに数時間かかって投稿が承認されたと気づかせてしまい、その間不快な気持ちを抱えている可能性があります。Claudeにプラグインを書いてもらおうとしていたのですが、コア機能のパッチを当てることになり、アップデート時にプラグインが壊れる可能性があると言われました。つまり、おそらく投稿を承認するたびにSidekiqを確認して、メールジョブがキューに入れられていないことを確認し続ける必要があるということです。

「いいね!」 1

ただし、これは違法なコンテンツや利用規約違反が理由の場合に限ります。スパムが理由の場合は該当しません。また、政府からの正式な要請が理由の場合も該当しません。

したがって、この種の法律にすでに持っているもの以上の権限を与えましょうとするべきではありません。反社会的行為やスパムを理由としたサイレンスや停止は対象外とすべきです。

(これは、利用規約で反社会的行為を禁止しないようにするべきだという論拠でもあります)

「いいね!」 1