投稿にスタッフカラーを追加すると、トピック通知メールが送信されない

現在 Discourse 3.5.0.beta7-dev (7562bc2b15) を実行中です。

特定の条件下で投稿を公開予約した場合、トピック通知メールが送信されていません。

非常に珍しいバグに遭遇しました。最新バージョンを実行していますが、これは過去数ヶ月に数回発生しており、問題はしばらく前から存在しています。

#Announcements」というカテゴリがあり、すべてのユーザーはデフォルトで「Watching First Post」に設定されています。

問題を再現するための手順:

  1. 非公開のスタッフ専用カテゴリに新しいトピックを作成します。
  2. 新しいトピックの最初の投稿にスタッフカラーを適用します。
  3. トピックタイマーを設定し、公開をスケジュールし、カテゴリを「#Announcements」に設定し、日時を設定します。

起こるべきこと:

  • トピックが「#staff」から「#Announcements」に移動します。
  • 数万通のメールが送信されます。
  • 各ユーザーが通知を受け取ります。

実際のこと:

  • トピックが「#staff」から「#Announcements」に移動します。
  • メールは送信されません
  • 各ユーザーが通知を受け取ります。

スケジュールされた公開時間を待っている間、これらの2つのタスクが保留中であることがわかりました(投稿IDでフィルタリング):

トピックが「#Announcements」に公開された10分後、タスクは消えました

通知は送信されました。テストアカウントが受け取ったものは次のとおりです:

しかし、メールは依然として送信されませんでした。

通常、この時点で「Scheduled」で数万通のメールがキューに入り始め、徐々に「Enqueued」に移動していくのが見えますが、何も起こらず、メールはゼロ件しか送信されません。

Discourseのエラーログにも何もありません。

投稿には投票が含まれていましたが、投稿内容は無関係だと推測しますが、念のためここに記載しておきます。

今日の失敗したテストは、もし誰かの役に立つなら、こちらで見ることができます:https://greyarro.ws/t/do-you-own-a-drone-thats-not-on-the-what-do-you-fly-list/98146.json

この失敗の鍵は、公開がスケジュールされたトピックの最初の投稿にスタッフカラーを追加するアクションによって引き起こされているようです。

他のすべてのスケジュールされた公開投稿は正常にメール送信されますが、スタッフカラーを追加すると毎回失敗します。

「いいね!」 3

再現できます。:raised_hand:

私の基本的な手順は以下の通りです。

  • email time window を 1 分に調整します(任意ですが、時間を短縮できます)。
  • 管理者として、テストユーザーがテストカテゴリの「最初の投稿を監視」していることを確認します。
  • 管理者として、Staff カテゴリにトピックを作成します。
  • ポストレンチを使用して、最初(または唯一)の投稿にスタッフカラーを追加します。
  • トピックタイマーを設定して、1 分後にテストカテゴリに公開をスケジュールします。
  • アイスクリームについて少し空想し、トピックが公開されるのを待ち、さらに 1 分経過してメールウィンドウをカバーします。
  • 管理者として、テストユーザーの通知を確認し、サイトのメールログを確認します。

期待される結果: テストユーザーはスケジュールされたトピックに関する通知を受け取り、付随するメール通知が送信されたことを示すメールログが存在します。

実際の結果: テストユーザーはサイト内通知を受け取りますが、メールは送信されません。

(コントロールとして、スタッフカラーの手順なしでこのテストも実行しました。すべて正常に動作しました。サイト内通知とメール通知の両方が送信されました。)

スタッフカラーが post_type を「2」(moderator_action)に変更し、コードでこれが考慮されていないことが原因でしょうか?

「いいね!」 4

再現手順の1つを忘れるだろうとわかっていました🤣

これは興味深い観察です:

「いいね!」 2

はい、投稿をスタッフ投稿にすると Post.types[:moderator_action] になります。ここでの通知が欠けているのは間違いだと思います。

チームが確認できるように、優先度中 (pri-medium) を追加しました(今後4週間以内)。

「いいね!」 2

ちなみに、ユーザーに返信して返信にスタッフカラーを設定すると、そのユーザーにメール通知が送信されなくなりますか?