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.
Ich habe das auch in unserem Forum bemerkt. Der einfachste Weg, es zu reproduzieren, ist, wenn ich ein neues Thema mit Tags erstelle und es dann lösche, wird es trotzdem gezählt.
Ein weiterer kleiner Ärger, der durch dieses Problem verursacht wird, ist, dass Administratoren beim Löschen eines leeren Tags eine falsche Fehlermeldung erhalten.
Ok, ich formuliere meine Antwort noch einmal um, da ich ziemlich sicher bin, dass ich nun verstanden habe, was hier genau vor sich geht
Wie @ninjapenguin bereits erwähnt hat: Wenn du ein Tag hast und alle Topics löschst, die dieses Tag verwenden, bleibt das Tag auf der Tags-Seite aufgelistet und die Anzahl bleibt unverändert. Ich vermute, dass dies daran liegt, dass die Topics weiterhin technisch existieren und das Tag somit noch immer gespeichert ist.
@syl, wenn du zur Topic-Liste des Tags tete navigierst, wie in deinem Screenshot gezeigt, und dann
?status=deleted
ans Ende der URL anfügst, solltest du zwei gelöschte Topics mit dem Tag tete sehen.
Die Informationsmeldung in deinem zweiten Screenshot entspricht der Anzahl der gelöschten Topics, die dieses Tag verwenden.
Ich habe das Gefühl, dass gelöschte Topics bei der Zählung und Auflistung von Tags eigentlich nicht berücksichtigt werden sollten. Dies könnte jedoch keine besonders einfache Änderung sein, da die Daten in der Datenbank so gespeichert sind. Was denkst du, @codinghorror?
In einem Standard-Forum erklären gelöschte Themen meiner Meinung nach die meisten Diskrepanzen zwischen der in der Tag-Liste angezeigten Themenanzahl und der tatsächlichen Anzahl von Themen, die ein Benutzer innerhalb jedes Tags sehen kann. Eine Behebung dieses Problems wäre bereits ein großer Gewinn. Beachte jedoch, dass Diskrepanzen auch auftreten, wenn ein Nicht-Administrator-Benutzer ein Tag betrachtet, das private Themen enthält.
Das kann ich nicht reproduzieren. Wenn ich einen Tag habe, der nur in einer PN oder in einem Thema in einer eingeschränkten Kategorie verwendet wurde, sieht ein Benutzer ohne Zugriff auf diese Themen den Tag nicht in der Tag-Liste.
Das einzige unglückliche Verhalten, das ich derzeit sehe, ist das, was ich im Zusammenhang mit gelöschten Themen erwähnt habe.
Ich habe mir den Code angesehen und einige Dinge festgestellt.
In der Tabelle tags gibt es zwei Spalten, die die Anzahl der Tags beeinflussen können: topic_count und pm_topic_count. Diese Zählungen werden beim Anwenden/Entfernen von Tags hoch- oder herabgesetzt. Nicht-Administrator-Nutzer sehen nur den Wert von topic_count.
Es gibt keine Möglichkeit, die Anzahl dynamisch basierend auf dem individuellen Themenzugriff eines Nutzers anzupassen.
Basierend auf dem, was ich sehe, liegt kein Fehler vor, sondern lediglich eine Einschränkung aufgrund der aktuellen Implementierung. Ich denke, alles, was hier besprochen wurde, fällt unter die Kategorie „Feature-Anfrage
Vielen Dank, @tshenry. Das klingt sehr gut und könnte erklären, warum ich das Problem auf meiner Dev-Instanz viel häufiger hatte (vielleicht wird dort der Konsistenz-Job nicht ausgeführt). Ich werde das prüfen.
P.S.: Derzeit hat der Tag documentation hier auf Meta eine Anzahl von 5, aber ich kann nur 4 Themen sehen. Ich werde das in 12 Stunden erneut prüfen