I’ve been hit by this issue when using the API. In my plugin, I need an exact topic count, so I’m forced to load each tag in order to count the visible topics. It seems to work right now, but it’s a waste of bandwidth and I’m afraid one day I will hit a Discourse rate limit for API calls.
J’ai remarqué cela dans notre forum également. Le moyen le plus simple de le reproduire est de créer un nouveau sujet avec un tag, puis de le supprimer : il est toujours compté.
Ok, je reformule ma réponse car je suis presque certain d’avoir compris tout ce qui se passe ici
Comme le mentionne @ninjapenguin, si vous avez un tag et que vous supprimez tous les sujets auxquels ce tag est appliqué, le tag reste listé sur la page des tags et le compteur ne change pas. Je pense que cela est dû au fait que les sujets existent toujours techniquement et continuent de conserver le tag.
@syl, si vous naviguez vers la liste des sujets du tag tete comme montré dans votre capture d’écran, puis ajoutez
?status=deleted
au bout de l’URL, vous devriez voir deux sujets supprimés listés avec le tag tete.
Le message d’information dans votre deuxième capture d’écran correspond au nombre de sujets supprimés auxquels le tag est appliqué.
J’ai l’impression que nous ne devrions probablement pas prendre en compte les sujets supprimés lors du comptage ou de l’affichage des tags, mais cela pourrait ne pas être un changement super trivial étant donné la façon dont tout est stocké dans la base de données. Qu’en pensez-vous @codinghorror ?
Dans un forum standard, je pense que les sujets supprimés expliquent la plupart des écarts entre le nombre de sujets affiché dans la liste des tags et le nombre réel de sujets qu’un utilisateur peut voir dans chaque tag. Corriger cela serait déjà un grand progrès. Mais notez que des écarts se produisent également lorsqu’un utilisateur non administrateur consulte un tag contenant des sujets privés.
Je ne parviens pas à reproduire ce comportement. Si j’ai un tag qui a uniquement été utilisé dans un MP ou dans un sujet d’une catégorie restreinte, un utilisateur n’ayant pas accès à ces sujets ne voit pas ce tag apparaître dans la liste des tags.
Le seul comportement regrettable que je constate actuellement est celui que j’ai mentionné concernant les sujets supprimés.
J’ai examiné le code et j’ai remarqué quelques points.
La table tags contient deux colonnes qui peuvent influencer le nombre de tags : topic_count et pm_topic_count. Ces compteurs sont incrémentés/décrémentés lors de l’ajout/suppression de tags. Les utilisateurs non administrateurs ne voient jamais que la valeur de topic_count.
Il n’existe aucun mécanisme pour ajuster le compteur en temps réel en fonction de l’accès individuel de l’utilisateur aux sujets.
D’après ce que j’observe, il ne s’agit pas d’un bug, mais simplement d’une limitation liée à l’implémentation actuelle. Je pense que tout ce qui a été évoqué ici relève d’une “demande de fonctionnalité” et peut être résumé ainsi :
Rendre dynamiques les compteurs de tags sur la page des tags afin qu’ils reflètent ce que l’utilisateur verra réellement lorsqu’il naviguera vers la liste des sujets associés à un tag.
Merci beaucoup @tshenry. Cela semble très bien et pourrait expliquer pourquoi j’ai rencontré le problème beaucoup plus souvent sur mon instance de développement (peut-être que la tâche de cohérence ne s’y exécute pas). Je vais vérifier cela.
P.S. : pour l’instant, la balise documentation ici sur Meta affiche un comptage de 5, mais je ne vois que 4 sujets. Je vérifierai à nouveau dans 12 heures