時間指定トピックの公開では新しいトピック通知がトリガーされない

TL;DR: 時間指定トピックが公開時にウォッチャーに対して新規トピック通知をトリガーしていないようです。ユースケースは、1 営業日ごとにスクラムスタンドアップの通知トピックをバッチ処理し、特定の時刻に公開してスタンドアップ参加者にリマインダーを送信することです。

再現手順:

  • 非管理者ユーザーが特定のプライベートカテゴリをウォッチしている状態にします。
  • アクティブなセッションがないユーザーが、そのカテゴリで手動で作成された新規トピックのメール通知を受け取っていることを確認します。
  • 「コントロールケース」として、指定されたカテゴリに新規トピックを手動作成し、ユーザーが新規トピックのメール通知を受け取るかテストします。
  • 次に、別のプライベートカテゴリ(例:Staff カテゴリ)にステージング済みの新規トピックを作成します(オプションで、トピック/最初の投稿の所有者を編集しても構いません)。トピックを後で公開するようにスケジュールします(例:5 分後)。
  • 公開時刻まで待ちます…

期待される動作:

  • 特定の(プライベート)カテゴリをウォッチしているため、サイト上でアクティブでない非管理者ユーザーは、両方のタイプのトピック(「通常」と「時間指定」)のメール通知を受け取るはずです。

実際の動作:

  • ユーザーは、指定されたカテゴリに手動で作成された「通常」(時間指定ではない)トピックのメール通知のみを受け取ります。

関連するコメント:

「いいね!」 5

ローカル開発サイトでこれをテストしました。保護されたカテゴリで公開予定の共有ドラフトについて、監視しているユーザーにはメール通知が届きませんでした。ただし、保護されたカテゴリに直接公開されたトピックについては、ユーザーはメール通知を受け取ります。

テストユーザーとしてログインすると、ドラフトカテゴリから公開されたトピックに対して「編集済み」の通知が届いていることが確認できました。ただし、「編集済み」の通知からはメールは生成されません。

追記:また、「共有ドラフトを公開」ボタンをクリックして手動で共有ドラフトを公開してみました。これも新しいトピックの通知や通知メールを生成しません。カテゴリを監視しているユーザーに対しては、「編集済み」の通知が生成されるだけです。

「いいね!」 4

その明確化ありがとうございます。私の経験とも一致します。このトピックのタイトルをそれに応じて更新しました。

「いいね!」 2

ありがとうございます。昨日も利用者から、投稿が編集された際にメールが届くのかどうかという質問をいただきました。これで回答できますね。:slightly_smiling_face:

「いいね!」 1

念のため補足しますが、今回の予期せぬ動作は、「新規トピック」通知ではなく編集通知が発火していることが原因だと考えています。

「いいね!」 1

それは、それが新しいトピックではなく、編集だからです。

既存のトピックが編集され、カテゴリが変更されます。

「いいね!」 1

ただし、ユーザーの視点から見れば、これは新しいトピックです。タイムスタンプが更新されているという事実は、この見解を裏付けています。(また、通知を新しいトピックとして扱うことは、一貫した動作と言えます。)

UX は、開発者ではなくユーザーの視点から機能するように意図されているはずです。:wink:

私的なカテゴリから公共的なカテゴリに変更されただけという意味です。新しくなったわけではありません。カテゴリが変更されただけです。

トピックはユーザーの視界外で事前に準備される必要があるため、一般ユーザーはこの事実に暗黙的に気づくことはありません。また、指定された時刻に「新規」として表示されることを意図しています。実際、AFAICT(私の知る限り)、これがタイムドトピックの主なユースケースです。

「いいね!」 5

最初の 3December チャレンジを実施した際、これを十分に確認しました。当時は完全に自動公開トピックに依存しており、ユーザーはその時点で通知を受け取っていました。もしそれがもはや機能しなくなっているなら、私たちにとって問題となります。

「いいね!」 1

ここで議論されている問題は、ドラフトトピックが対象のカテゴリに公開された際に何が起こるかではないかと推測しています。共有ドラフトを公開する際にも、トピックを再カテゴリ化する際と同じルールが適用されるため、どちらの場合もここで対応可能です。

現在の機能では、カテゴリを監視しているユーザーは、共有ドラフトが対象カテゴリに公開されたとき、またはトピックが監視しているカテゴリに再カテゴリ化されたときに「編集」通知を受け取ります。編集通知はメールを生成しないため、ユーザーはドラフトが公開された際にメールでの通知を受け取りません。

これは後退(リグレッション)だと考えます。再カテゴリ化されたトピックの通知に関する問題は、以前ここで議論されました:https://meta.discourse.org/t/notifications-when-a-topic-is-recategorized/63079。

「投稿」通知か「編集」通知かのどちらが作成されるかは、NotifyCategoryChange ジョブ内の post_alerter.notify_post_users 呼び出しで使用される new_record パラメータの値によって決定されます。このパラメータのデフォルト値は true ですが、現在はジョブ内で明示的に false に設定されています。これは最近の変更です。私には知られていない良い理由があるかもしれません。

「いいね!」 5

@downey さんと同じ問題に直面しています。

私はトピックをプライベートカテゴリに設定されたタイマー付きトピックとして読み込み、その後自動的に公開カテゴリに公開するのが好きです。

しかし、あなたと同様に、チームを @メンションしても通知が届きません。再投稿では通知が作成されないようです。@codinghorror さんが指摘したように、カテゴリが変更された場合は、編集されたトピックと同様の扱いになるのでしょう。

技術的な細部はさておき、投稿をタイマー設定し、特定の @メンショングループ(例:@members)に通知を送る方法はありますか?

「いいね!」 2

これはその変更のようですが、何がきっかけだったのかはわかりません:


更新:

緊急の回避策が必要な方のために、Discourse チャットプラグインの代わりに、Zapier の「New Post」Discourse アクションを使用して、チームのチャットシステムへの通知をトリガーすることができました。

結局、このタイムドトピックのバグ全体を回避し、1 日の時間を基準に「Zap」をトリガーして、直接目的のカテゴリに公開するようにしました。これにより、API が「New」イベントをトリガーし、Discourse Chat Integration プラグインを使用して適切な通知を送信できます。

また、トピックを監視し、目的の宛先カテゴリに表示される「新しいトピック」をフィルタリングすることも可能です(Zapier はまだそれらを新しいものとして認識しています)。最初はこのアプローチを採用しましたが、毎日のスタンドアップ会議を開始するためのメッセージの自動作成が可能になるよう、上記のよりシンプルなアプローチに切り替えました。

「いいね!」 1

まず第一に、ご報告いただきありがとうございます。

このコミットでその問題を修正したと思います:FIX: correct notification when tag or category is added (#8801) · discourse/discourse@20e7fb1 · GitHub

基本的には、通知周りのロジックを少し改善しました。

ユーザーが既に投稿を確認済みの場合、通知の種類は edited となります。これは、例えば OP が他のユーザーが監視しているカテゴリやタグを追加した場合などが該当します。

一方、ユーザーがまだ投稿を確認していない場合、通知の種類は「新しい返信」となります。これは、例えばトピックが非公開カテゴリにあり、後で公開するように設定されている場合などが該当します。この場合、既存のトピックを変更することになりますが、ユーザーの視点からは新しい投稿のように見えます。

これで上記の問題が解決するかご確認いただけますでしょうか?

「いいね!」 8

素晴らしい、ありがとうございます!今後1〜2日中にテストを行い、結果をご報告いたします。

「いいね!」 3

この通知は、最初の投稿のみ監視しているユーザー、またはチャット統合フィルター設定で最初の投稿のみに設定されている場合にトリガーされるべきかご存知ですか?

「いいね!」 3

私の理解では、カテゴリが追加された際(例えば、トピックをプライベートカテゴリからパブリックカテゴリへ移動させたときにトリガーされる処理)、両方のタイプのユーザーに通知が送られます。

まず、その特定のカテゴリをウォッチしている人々に通知が送られ、すでにトピックを閲覧しているかどうかに基づいて、edited(編集済み)かnew reply(新規返信)かの判断がなされます。

次に、最初の投稿をウォッチしている人々にも通知が送られますが、彼らに対してはwatching first postと呼ばれる異なる通知タイプが使用されます。

何かまだ不具合がありますか?

「いいね!」 3