Contagem precisa de tópicos na lista de tags

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 curtidas

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 curtida

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

1 curtida

Notei isso também em nosso fórum. A maneira mais fácil de reproduzir é criar um novo tópico com tags e depois excluí-lo; ele ainda é contado.

2 curtidas

Uma inconveniência adicional causada por este problema é que os administradores recebem uma mensagem de erro incorreta ao tentar excluir uma tag vazia.

Tag vazia:

Mensagem de erro incorreta:

Você consegue reproduzir isso, @tshenry?

1 curtida

Ok, estou refazendo minha resposta, pois tenho quase certeza de que descobri tudo o que está acontecendo aqui :slight_smile:

Como @ninjapenguin menciona, se você tiver uma tag e excluir todos os tópicos que possuem essa tag aplicada, a tag continuará listada na página de tags e a contagem permanecerá inalterada. Acredito que isso esteja acontecendo porque os tópicos ainda tecnicamente existem e continuam a reter a tag.

@syl, se você navegar para a lista de tópicos da tag tete, conforme mostrado em sua captura de tela, e depois adicionar

?status=deleted

o final da URL, deverá ver dois tópicos excluídos listados com a tag tete.

A mensagem de informação na sua segunda captura de tela corresponde ao número de tópicos excluídos que possuem a tag aplicada.


Sinto que provavelmente não deveríamos levar em consideração tópicos excluídos ao contar/listar tags, mas isso pode não ser uma mudança super trivial, dada a forma como tudo é armazenado no banco de dados. O que você acha, @codinghorror?

2 curtidas

Isso está correto.

Em um fórum padrão, acredito que os tópicos excluídos expliquem a maioria das discrepâncias entre a contagem de tópicos exibida na lista de tags e o número real de tópicos que um usuário pode ver dentro de cada tag. Corrigir isso já seria um grande avanço. Mas note que discrepâncias também ocorrem quando um usuário não administrador visualiza uma tag que contém tópicos privados.

Isso eu não consigo reproduzir. Se eu tiver uma tag que foi usada apenas em uma MP ou em um tópico de uma categoria restrita, um usuário sem acesso a esses tópicos não verá a tag incluída na lista de tags.

O único comportamento indesejado que estou observando no momento é o que mencionei em relação a tópicos excluídos.

1 curtida

Desculpe pela confusão, eu estava falando da contagem de tags. Veja como reproduzir o problema:

  1. Como administrador, crie um tópico sem categoria e com uma nova tag
  2. Como administrador, crie outro tópico com a mesma tag, pertencente a uma categoria restrita
  3. Como usuário normal, acesse a tag test-tag e verifique que você consegue ver apenas um tópico
  4. Porém, na lista de tags, a contagem da tag mostra 2
1 curtida

Ok, obrigado, agora vejo.

Analisei o código e notei algumas coisas.

Com base no que observei, não temos um bug, apenas uma limitação baseada na implementação atual. Acredito que tudo o que foi discutido aqui se enquadra na categoria de “solicitação de recurso” e pode ser resumido como:

Tornar as contagens de tags na página de tags dinâmicas, para que reflitam o que o usuário verá ao navegar para a lista de tópicos da tag.

1 curtida

Muito obrigado, @tshenry. Isso parece muito bom e pode explicar por que tive o problema com muito mais frequência na minha instância de desenvolvimento (talvez o trabalho de consistência não esteja sendo executado). Vou verificar isso.

P.S.: no momento, a tag documentation aqui no Meta tem uma contagem de 5, mas só consigo ver 4 tópicos. Vou verificar novamente em 12 horas :slight_smile:

1 curtida