webhookのtopic_posts_countの不一致

Discourse の Webhook Post Event(新しい返信、編集、削除、または復元があった場合)を使用しています。トピック(コメント)に投稿が行われると、Webhook が送信され、その情報を使用して WP 側のデータを更新します。

Webhook が、トピック内の投稿が 削除 された後、topic_filtered_posts_count または topic_posts_count で正確なデータを送信しないことに気づきました。コメントが 追加 または 編集 される限り、正しいカウントが生成されます。しかし、コメントが 1 つまたは複数削除されると、これらのカウントはわずかな値でずれてきます(ただし、信頼性はなく、時には 1 つずれ、時には 2 つずれるなど)。

Webhook ペイロードを調査して、問題が WP 側にあるのか Discourse 側にあるのかを確認したところ、Webhook が不正確な情報を送信していることがわかりました。すべての投稿が archetype :regular で、現在削除された投稿がない状況でも、topic_posts_counttopic_filtered_posts_count の間に不一致が生じることがあります。

これは、Webhook と(非)削除の非同期処理によって問題が発生しているのではないかと考えられますが、それが本当にそうなのかは確信が持てません。

「いいね!」 2

この問題について調べていたところ、これを見つけました。

これを修正するPRを作成しました。

「いいね!」 4