Staged ユーザーが user_linked メールを受信している

ステージされたユーザーがuser_linkedメール通知を受信していることに気づきました。私のユースケースでは、メールリストモードを使用して外部の当事者にメールをアーカイブしています。あるトピックから別の外部(ステージされた)ユーザーによるメールや投稿へのリンクが貼られると、そのステージされたユーザーに投稿のテキストを含むメール通知が届いてしまいます。これは明らかに意図したものではなく、さらには有害さえあり得ます!

以下のメッセージは、これがバグであることを示唆しています:

もしこれがバグでない場合、この動作を無効にする方法はありますか?

「いいね!」 2

ふむ、@tshenry さん、これを再現できますか?

「いいね!」 1

ステージングユーザーの環境設定ページで「誰かが私の投稿を引用したり、返信したり、@ユーザー名で言及したり、トピックに招待したりしたときにメールを送信する」を「しない」に設定することで、これらのメールの送信を防止できるようです。

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. 未登録のメールアドレスに PM を送信し、ステージングユーザーを作成する
  3. そのステージングユーザーがメールでその PM に返信する
  4. フォーラムの別のトピックで、そのステージングユーザーからのメール返信を引用する
  5. フォーラムの別のトピックで、そのステージングユーザーからのメール返信へのリンクを貼る
  6. ステージングユーザーには user_linked メール通知は送信されなかった 遅延はあったが、ステージングユーザーは最終的に両方の通知メールを受け取った。

ご意見をお願いします @codinghorror?

「いいね!」 3

明らかなバグです。明日に修正をスケジュールし、もし難しくない場合はバックポートできませんか?@eviltrout ステージングユーザーにはこのバグが適用されるべきではないと思います。

「いいね!」 3

ご説明いただいたシナリオは私の環境とは異なりますが、根本的な原因は同じかもしれません。

  1. サイトはログイン必須だが、カテゴリは非公開ではない
  2. カテゴリ A に対してカスタム受信メールアドレスを設定し、アカウントを持たない匿名ユーザーからのメールを受信するように設定する(さらに、カテゴリがメーリングリストをミラーリングすることも設定)
  3. アカウントを持たない人物 X がそのメールアドレスにメールを送信する
    • ステージングユーザーが作成される
    • カテゴリ A に新しいトピックが作成される
  4. 登録ユーザー Y がカテゴリ B に新しいトピックを作成し、カテゴリ A のトピックへのリンクを貼る
  5. 人物 X が user_linked のメール通知を受け取る

これはログイン不要な公開 Discourse においては意図された動作であると理解しています。しかし、ログイン必須のプライベート Discourse では、この動作は問題を引き起こす可能性があります。この動作を login required の設定に依存させることはできないでしょうか?

ご確認いただき、ありがとうございます!

「いいね!」 1

以下のコミットで修正済み:

また、stable ブランチにもバックポートされています:FIX: Staged users getting user_linked and user_quoted emails · discourse/discourse@6b20d52 · GitHub

「いいね!」 6

ご報告ありがとうございます @brechtm – すでに修正済みです。ご迷惑をおかけして申し訳ありません。

「いいね!」 4

私も確認しましたが、確かに問題は解決したようです。ありがとうございます!謝る必要はありません :slight_smile:

「いいね!」 5