自動削除される投稿を含むトピックの返信数

Postgres 12 の発表トピックで、未読返信がある場合、未読返信数が 303(青い丸に 303)表示されていました。トピックを開くと最新の返信が表示され、数が 1 に変わりました。

このトピックは 5 日以上前の返信を自動削除する設定になっており、現在そのトピックには返信が 1 つしかありません。

自動削除機能を持つトピックで未読投稿がある場合、返信数の計算が正しく行われていないのでしょうか?

これはモバイル端末での出来事です。トピックを開いて既読にする前に、デスクトップ版で確認するのを忘れてしまいました。

「いいね!」 2

はい、これは Discourse の V1 以来、実質的に存在している既知の問題です。大量の削除の後に返信を行うと、トピックの次のアクセスまで、常にこの不一致が発生します。自動削除か手動削除かは関係ありません。

「いいね!」 2

自動削除と特定のトピックが組み合わさることで、それがより一層明白になってしまうのでしょう。

修正はどれほど面倒なものですか?

「いいね!」 1

私にとっては、少し変な機能ですが、ある種の機能だと思います。訪問すると、いくつかの項目が削除されていることがわかります。

「いいね!」 1

ここで話をまとめると、この修正は非常に、極めて困難です。バックエンドは実際に未読投稿の数を個別にカウントするのではなく、highest_post_number とユーザーがトピック内で最後に訪れた post_number の差分に依存しています。

もしこのバグを修正するだけが私の仕事だとしたら、数ヶ月を要すると見積もります。また、これを機能させるためにはカスタムなデータストアを新たに考案する必要があります。すべての未読トピックに対して count(*) クエリを実行することは、現実的ではありません。

「いいね!」 3