J’ai masqué et supprimé certains sujets de la catégorie « Sans catégorie » aujourd’hui, et la page principale de la liste des catégories affiche désormais « -11 au total » pour cette catégorie.
En y réfléchissant, la plupart des sujets que j’ai supprimés avaient déjà été masqués. Je me demande si cela est pertinent : peut-être que le fait de masquer et de supprimer séparément déduit 1 du compteur par sujet.
Cela se corrigera-t-il automatiquement (avec le temps ou lors d’un événement) ?
Ou y a-t-il quelque chose que je devrais faire pour le réparer ?
Oui, c’est bien le problème. Je parviens à reproduire le souci sur mon site de test. Masquer un sujet le retire des statistiques de sujets de sa catégorie. Si vous supprimez ensuite ce sujet masqué, il est à nouveau déduit des statistiques de sujets de sa catégorie. Cela signifie que masquer puis supprimer un seul sujet est compté comme la suppression de deux sujets dans les statistiques.
Discourse exécute une tâche d’arrière-plan CategoryStats toutes les 24 heures. Lorsque cette tâche s’exécute, les statistiques de votre catégorie devraient être corrigées. Si vous avez accès à la console Rails de votre site et que vous ne souhaitez pas attendre que la tâche s’exécute, vous pouvez lancer la commande manuellement avec :
Category.update_stats
J’ai testé cela sur mon propre site. L’exécution de cette commande a résolu le problème pour moi.
Il s’avère que pour reproduire le problème, vous devez désénumérer un sujet, attendre environ 24 heures que le travail de statistiques de catégorie s’exécute, puis supprimer le sujet. Cela entraînera la suppression du sujet à deux reprises des statistiques de la catégorie. Après un autre délai de 24 heures, le travail de statistiques de catégorie sera à nouveau exécuté. Cela devrait résoudre le problème.
La raison de ce phénomène est que la suppression d’un sujet retire immédiatement celui-ci des statistiques de la catégorie. En revanche, désénumérer un sujet ne le retire des statistiques que lorsque le travail quotidien de mise à jour des statistiques de la catégorie est exécuté — ce travail vérifie les sujets visible.