投稿編集でのグループメンションを許可し通知をトリガーする(オプトイン設定)

コンテキスト

現在、Discourseでは、既存の投稿の編集を通じて@groupnameメンションが追加された場合、以下の条件を満たしていても通知はトリガーされません。
• メンションが有効でリンク化されている
• グループがメンションを許可している
• グループメンバーの通知レベルが「監視中」に設定されている
• 編集がモデレーターまたは管理者によって行われた

これはユーザーメンションの動作と一貫しており、悪用を防ぐことを目的としています。しかし、この制限が不便を生む正当な内部/管理者ユースケースも存在します。

提案

以下のような、グループごとのオプション設定を追加します。

「投稿編集で追加されたメンションが通知をトリガーすることを許可する」
(デフォルト:オフ)

有効にした場合:
• Discourseは、投稿の改訂で追加された新しい@groupnameを再評価します。
• 適切な通知レベルを持つグループメンバーは、元の投稿の一部であったかのように通知されます。

ユースケース
• 特定のグループ(例:@support@moderation-team)にアラートを出すためにプライベートスタッフカテゴリを使用する内部チーム
• 投稿が初期提出後にトリアージおよびタグ付けされる構造化ワークフローを持つフォーラム
• グループに確実に通知するために、フォローアップ投稿を別途作成する必要性を減らす

注記
• この設定は、意図しない通知スパムを避けるために、理想的にはグループごとにオプトインできるようにすべきです。
• 編集で新たに追加されたメンションのみを評価し、すべてのメンションを再トリガーすべきではありません。
• セキュリティ/プライバシーの懸念が生じた場合、スタッフのみの編集に制限される可能性があります。

一時的な修正を適用しました

参考までに、これは私には機能します :person_shrugging:

私が何か見落としている場合に備えて、手順を説明します。

  • グループ設定からグループがメンション可能であることを確認する
  • ミュートされていないトピックにテスト投稿を作成する
  • テスト投稿を編集して「@groupmention」を追加する
  • グループメンバーの通知を確認して、ping が届いたかどうかを確認する

猶予期間内の編集と猶予期間外の編集の両方で試しましたが、どちらも期待どおりに ping が送信されました。

何を見落としていますか?

「いいね!」 2

メール通知のことでした。単なる通知ではありません。

「いいね!」 1

グループ内のテストユーザーもメール通知を受け取りました。

メールログを確認した場合、理由とともに /skipped に表示されますか?

「いいね!」 1

希望するメール(2時間前以内)は、送信済みまたはスキップ済みログに表示されませんでした

追記ですが、

ああ、これは、すでにメールを受け取ったことについて2通目のメールを受け取っていないことに関連していると思います(たとえば、「最初の投稿を視聴する」場合)。

ただし、assignプラグインは、まだ試していない場合、これらの特定のユースケースに最適ではないでしょうか?

ささやきでのpingも効果的です。

はい、最近ユーザーが既に見ているため、多くがスキップされました。最近、トピックの最後の投稿を(猶予期間外で)編集したところ、メールがトリガーされました。

なぜか、前回の投稿の編集履歴にその言及が見当たりません。