Quando tento criar uma tag numérica, ou seja, 2026, funciona se não houver uma tag usando o mesmo ID 2026. Se esse ID estiver em uso, recebo aquela tag em vez de 2026.
Tenho quase certeza de que é um bug antigo, que foi corrigido em algum momento. Ou estou me lembrando errado e não deveria usar tags numéricas de jeito nenhum
De qualquer forma, considero isso um bug — e eu gostaria muito de usar anos como tags.
Por exemplo, se o tag se chamar 2026 e seu ID for 3, a URL canônica deve ser:
/tag/2026/3
A forma ambígua é a URL antiga/legada:
/tag/2026
Isso pode ser interpretado como “tag com ID 2026”, então, se outra tag tiver esse ID, ela pode ser resolvida para aquela outra tag em vez da tag chamada 2026.
Onde você está tentando usar ou acessar o tag? Se o link for gerado pelo próprio Discourse, eu esperaria que ele usasse a URL canônica /tag/:slug/:id. Se você estiver digitando a URL manualmente, usando um link salvo antigo, um link de tema/plugin personalizado ou uma URL importada/lateral/personalizada, ela ainda pode estar usando o formato legado ambíguo e ser resolvida para o tag errado.
Se possível, acho que devemos tratar o :foo em /tag/:foo como sempre sendo um slug, e exigir o formato /tag/:foo/:id para IDs, onde :foo pode ser qualquer caractere (por exemplo, usar - quando você não sabe ou não se importa).
Isso ajudaria na compatibilidade com versões anteriores e também em casos em que o slug é conhecido, mas não o ID, o que frequentemente seria o caso para tags, onde o nome é a referência comumente usada.
Os IDs agora estão presentes principalmente para suportar a localização.
Obrigado pelo exemplo concreto. Consegui reproduzir o problema e estou trabalhando na correção.
Percebi durante os testes que ele também não criava tags numéricas quando elas não tinham um ID correspondente. (por exemplo, tentar criar a tag 2939858339 simplesmente não faria nada e não marcaria o tópico com nada)