Nombre de réponses sur les sujets avec des publications supprimées automatiquement

Je viens de remarquer que, lorsqu’il y avait des réponses non lues, le compteur de réponses non lues sur le sujet de l’annonce de Postgres 12 affichait 303 (cercle bleu avec 303). En ouvrant le sujet, le compteur est passé à 1 pour la dernière réponse.

Le sujet est configuré pour supprimer automatiquement les réponses âgées de plus de 5 jours ; il n’y a actuellement qu’une seule réponse sur ce sujet.

Il semble que le compteur de réponses sur les sujets avec suppression automatique et des messages non lus ne soit pas calculé correctement ?

Cela s’est produit sur mobile ; je n’ai pas pensé à vérifier sur ordinateur avant d’ouvrir le sujet et de le marquer comme lu.

2 « J'aime »

Oui, il s’agit d’un problème connu qui existe dans Discourse depuis pratiquement la version 1. De nombreuses suppressions suivies d’une réponse provoqueront toujours ce décalage, jusqu’à la prochaine visite du sujet. Peu importe qu’il s’agisse de suppressions automatiques ou manuelles.

2 « J'aime »

Je suppose que la combinaison de la suppression automatique et de ce sujet particulier rend tout cela encore plus évident.

À quel point la correction est-elle désagréable ?

1 « J'aime »

Pour moi, c’est un peu une fonctionnalité, même si c’est étrange… vous savez qu’un tas de choses a été supprimé lorsque vous visitez.

1 « J'aime »

Pour boucler la boucle ici, une correction dans ce cas est extrêmement désagréable. Le backend ne compte jamais spécifiquement le nombre exact de messages non lus que vous avez ; il se fie à un delta entre le highest_post_number et le dernier post_number que vous avez consulté dans les sujets.

Si je devais chiffrer cela, si ma seule tâche était de corriger ce bug, cela me prendrait plusieurs mois, et je devrais inventer un magasin de données personnalisé pour le faire fonctionner. Exécuter une requête count(*) sur chaque sujet non lu est hors de question.

3 « J'aime »