Contagem precisa de tópicos na lista de tags

Na página tags, o número de tópicos não está correto. De fato, ele inclui tópicos que não são visíveis para o usuário.

Exemplo aqui no meta:

Fui afetado por esse problema ao usar a API. No meu plugin, preciso de uma contagem exata de tópicos, então sou obrigado a carregar cada tag para contar os tópicos visíveis. Parece funcionar agora, mas é um desperdício de largura de banda e temo que um dia eu atinja o limite de taxa de chamadas de API do Discourse.

Há alguma chance disso ser resolvido?

Obrigado.

2 curtidas

Todos esses estão em MP, dos quais você não tem acesso.

Não é uma correção ou nada disso (obviamente), mas como só há 4 casos, todos em MP, acho que não precisamos dessa tag específica… então estou removendo-a.

1 curtida

Se necessário, outro exemplo no meta é a tag sass (contagem de tópicos na lista de tags = 2, contagem de tópicos na página da tag = 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