Conteggio accurato dei topic nell'elenco dei tag

In the tags page, the topic number is not accurate. Indeed, it includes topics that are not visible to the user.

Example here on meta:

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.

Any chance this might be solved?

Thanks.

2 Mi Piace

Those are all in PMs you don’t have access to.

It’s not a fix or anything (obviously) but at 4 instances only in PMs I don’t think we need this particular tag … so I’m removing it.

1 Mi Piace

If need be, another example on meta is the sass tag (topic count in tag list=2, topic count in tag page=1).

1 Mi Piace

Ho notato anche questo nel nostro forum. Il modo più semplice per ricrearlo è creare un nuovo argomento e un tag, poi eliminarlo: viene comunque contato.

2 Mi Piace

Un ulteriore fastidio minore causato da questo problema è che gli amministratori ricevono un messaggio di errore errato quando eliminano un tag vuoto.

Tag vuoto:

Messaggio di errore errato:

Puoi riprodurre questo @tshenry?

1 Mi Piace

Ok, sto riscrivendo la mia risposta perché sono abbastanza sicuro di aver capito tutto ciò che sta succedendo qui :slight_smile:

Come menziona @ninjapenguin, se hai un tag ed elimini tutti i topic a cui quel tag è applicato, il tag rimane elencato nella pagina dei tag e il conteggio non cambia. Credo che questo accada perché i topic esistono ancora tecnicamente e continuano a mantenere il tag.

@syl, se navighi nell’elenco dei topic del tag tete come mostrato nello screenshot e poi aggiungi

?status=deleted

alla fine dell’URL, dovresti vedere elencati due topic eliminati con il tag tete.

Il messaggio informativo nel tuo secondo screenshot corrisponde al numero di topic eliminati a cui è applicato il tag.


Penso che probabilmente non dovremmo tenere in considerazione i topic eliminati quando si contano/elencano i tag, ma potrebbe non essere una modifica super banale, dato come tutto è archiviato nel database. Cosa ne pensi @codinghorror?

2 Mi Piace

È corretto.

In un forum standard, penso che i topic cancellati spieghino la maggior parte delle discrepanze tra il conteggio dei topic visualizzato nell’elenco dei tag e il numero effettivo di topic che un utente può vedere all’interno di ciascun tag. Risolvere questo problema sarebbe già un grande passo avanti. Tuttavia, tieni presente che le discrepanze si verificano anche quando un utente non amministratore visualizza un tag contenente topic privati.

Questo non riesco a riprodurlo. Se ho un tag che è stato utilizzato solo in un messaggio privato o in un argomento in una categoria ristretta, un utente senza accesso a quegli argomenti non vede il tag incluso nell’elenco dei tag.

L’unico comportamento spiacevole che vedo al momento è quello che ho menzionato riguardo agli argomenti cancellati.

1 Mi Piace

Scusa per la confusione, mi riferivo al conteggio dei tag. Ecco come riprodurre il problema:

  1. Come amministratore, crea un argomento senza categoria e con un nuovo tag
  2. Come amministratore, crea un altro argomento con lo stesso tag e appartenente a una categoria limitata
  3. Come utente normale, vai al tag test-tag e verifica che puoi vedere solo un argomento
  4. Ma nell’elenco dei tag, il conteggio del tag mostra 2
1 Mi Piace

Ok, grazie, ora lo vedo.

Ho dato un’occhiata al codice e ho notato alcune cose.

  • Nella tabella tags ci sono due colonne che possono influenzare il conteggio dei tag: topic_count e pm_topic_count. Questi conteggi vengono incrementati/decrementati all’applicazione/rimozione del tag. Gli utenti non amministratori vedono solo il valore di topic_count.

  • Esiste un job di coerenza che viene eseguito ogni 12 ore e che aggiorna i conteggi dei tag in modo che non includano gli argomenti cancellati.

  • Non c’è nulla che regoli il conteggio in tempo reale in base all’accesso individuale di un utente agli argomenti.

In base a quanto osservo, non abbiamo un bug, ma solo una limitazione dovuta all’attuale implementazione. Credo che tutto ciò che è stato discusso qui rientri nella categoria “richiesta di funzionalità” e possa essere riassunto come:

Rendi dinamici i conteggi dei tag nella pagina dei tag in modo che riflettano ciò che un utente vedrà effettivamente quando naviga nell’elenco degli argomenti del tag.

1 Mi Piace

Grazie mille @tshenry. Sembra molto buono e potrebbe spiegare perché ho riscontrato il problema molto più frequentemente sulla mia istanza di sviluppo (forse il lavoro di coerenza non viene eseguito). Controllerò.

P.S.: al momento, il tag documentation qui su Meta ha un conteggio di 5, ma riesco a vedere solo 4 topic. Ricontrollerò tra 12 ore :slight_smile:

1 Mi Piace