メーリングリストモードが有効な場合にミュートされたカテゴリからの通知

すべてのカテゴリがミュートされ、デフォルトですべてのユーザーがメーリングリストモードになっているインスタンスを実行しています。
ユーザーがミュートされたカテゴリの個別のスレッドからメールを受信することがよくあります。その動作にパターンを見つけるのは非常に困難です。

これは、ミュートされたカテゴリに対するバグ Still getting notifications from muted user in mailing list mode - #5 by lkramer のように見えます。

これに対する(簡単な)修正はありますか?1000人以上のユーザーと数百のカテゴリがあるため、わずかなエラー率でも非常に迷惑になります。

CC @trobiyo

もっと情報が必要だと思います。この問題は本当にランダムですか?それらの通知の間には全く相関関係/類似性はありませんか?

「いいね!」 2

おそらく、それらのトピックに参加したため、ミュートよりも優先されたのではないでしょうか?それが私の推測です。

問題を再現できないのであれば、それはバグではありません。少なくともバグ報告ではありません。

しかし、メーリングリストモードは常に全員にメールを送信することを意図していたと思っており、カテゴリやユーザーのミュートが機能することにむしろ驚いています。メーリングリストモードを使用せず、代わりにメールを本当に好む人に、ミュートしたいカテゴリではなく、関心のあるカテゴリをウォッチしてもらうことをお勧めします。しかし、それは大変な作業のように思えるので、この推奨が役立つには手遅れかもしれません。 :person_shrugging:

「いいね!」 2

送信済みメール管理パネルで件名を検索できないため、残念ながら追跡が困難です。

自動追跡はデフォルトで「なし」に設定されており、影響を受けたユーザーは誰もそれを変更していません。

まあ… ¯\(ツ)
メーリングリストモードを使用する唯一の本当の理由は、この場合、自分のメッセージをメールで受け取ることです。これは非常に非常に非常に頻繁なリクエストです。

ミュートのもう1つの利点:カテゴリが数百ある場合、カテゴリ概要ページを煩雑にしません(そしてはい、以前のフォーラム/メーリングリストからの移行時に数を減らすように奨励しました)。

「いいね!」 3

右。データエクスプローラープラグインはインストールされていますか? SQLがわかれば、送信済みメールをすばやく掘り下げる方法の1つになるかもしれません。

「いいね!」 2

データエクスプローラーを少し操作しましたが、まずユーザー/通知の設定方法を説明します。

  1. まず、古いメーリングリストを一定期間ミラーリングして、Discourseにコンテンツを蓄積しました。
    [: これは別の開発インスタンスで行い、その後投稿を本番インスタンスにコピーしました]
  2. 次に、古いメーリングリストに基づいてユーザーを「購読」しました。そのため、以前のメーリングリストの購読に基づいて、一部のカテゴリを自動的に購読(監視)している可能性があります。

そこで、ウェブサイトに一度もアクセスしたことのないユーザーを例にとりました。つまり、見たことも、投稿を読んだこともないユーザーです。
次に、「ユーザーが監視/追跡/ミュートしているトピックのリスト」プラグインを使用しました。
通知レベル3では、自動購読されたカテゴリのトピックのみが表示されます。これは良いことです。
レベル1を確認すると、多くのトピックが表示されます。これは、カテゴリのみがミュートされており、トピックはミュートされていないため、おそらく問題ありません。つまり、それらは通常=1であるはずです。しかし、何らかの理由で topic_last_visited_at が常に存在し、トピック作成日と一致します。

次に、メール経由で本番インスタンスにステージングユーザーとして作成され、その後アクティブ化されたが、ウェブサイトに一度もアクセスしたことのないユーザーがいます。そのようなユーザーの場合、通知レベル1ではトピックが表示されません!

したがって、最初にステージングされたユーザーに対して何らかの問題が発生している可能性があります。

質問: ユーザーのトピック通知レベルをリセットする方法はありますか?

「いいね!」 2

もしかしたらその前に:ユーザーのトピック通知レベルを表示する方法はありますか?
管理者ウェブパネルでは見つかりませんでした。データベースレベルでのみアクセス可能ですか?

通知レベルはdata-explorerを使用してクエリできるはずです。https://meta.discourse.org/t/list-of-emails-of-users-watching-a-specific-category/198171にある便利なクエリを修正できると思います。

「いいね!」 1

残念ながら、データエクスプローラーではユーザーごとのトピック通知レベルを確認することはできません。
これらの無関係なメールを受信しているユーザーは、カテゴリを購読していないことを確認しました。

お探しのものと違うかもしれませんが、このようなもので対応できるはずです。


-- [params]
-- int :topic_id

SELECT tu.user_id,
       tu.notification_level
FROM topic_users tu
WHERE tu.topic_id = :topic_id
ORDER BY tu.notification_level DESC
「いいね!」 2

@JammyDodger 、ありがとうございます!

アクセスしたことのないトピックIDをチェックしましたが、リストに自分自身は見つかりませんでした。しかし、そのトピックにアクセスしてクエリを再実行すると、通知レベル=1でリストに表示されます。これは予期された動作ですか?(自動追跡はオフになっています!)

次に、多くのユーザーに誤ったメールを送信していたトピックでは、通知レベル=1のユーザーの巨大なリストが見つかりました。これらのユーザーの一部は、実際にウェブにログインしたこともなく、スレッドに参加したこともないステージングユーザーです。

最後に、大量購読されていたトピックのほとんどは、サイトがオンラインになり、ユーザーがログインできるようになる前のものだったことがわかりました。また、購読者数はかなり安定しており、当時のサイトのユーザー数に対応しているようです。

ある時点で「ステージングユーザーの追跡の変更を許可する」設定を有効にし、その後無効にしたことを指摘しておくべきです。また、「デフォルトですべてのカテゴリをミュートする」も有効/無効にしたことがあります。
これらが混乱の原因となったのでしょうか?

最終的には、ユーザーに不要なトピックからの購読解除を提案するのが良いでしょう。

「いいね!」 2

通知レベル1は「通常」なので、それは期待どおりです。そして、トピックを訪問した場合にのみtopic_usersテーブルにレコードが作成されるため、それも期待どおりです。:+1:

設定を変更した際に、一部のトピック通知レベルをオンにした可能性があります。ミュートされたカテゴリでトピックを「監視」している人がいないか、特に確認して、それらが元の問題で影響を受けている人たちかどうかを確認してもらえますか?

実際、トピックで「通常」としてマークされている場合、カテゴリのミュートも上書きされると思います。以前の設定変更により、全員のトピック通知レベルがまとめて設定され、再度変更したことで、今後の新しいトピックにのみ影響した可能性があります。

「いいね!」 1

トピック固有の通知レベルは、カテゴリまたはタグのデフォルト通知レベルと競合する場合、常に優先されます。

「いいね!」 2