Cuando intento crear una etiqueta numérica, es decir, 2026, funciona si no hay una etiqueta que utilice el mismo ID 2026. Si ese ID está en uso, obtengo esa etiqueta en lugar de 2026.
Estoy bastante seguro de que se trata de un error antiguo que se solucionó en algún momento. ¿O me equivoco y no debería usar etiquetas numéricas en absoluto?
En cualquier caso, lo considero un error, y me gustaría mucho poder usar años como etiquetas.
Por ejemplo, si la etiqueta se llama 2026 y su ID de etiqueta es 3, la URL canónica debería ser:
/tag/2026/3
La forma ambigua es la URL antigua/legacy:
/tag/2026
Esto puede interpretarse como «etiqueta con ID 2026», por lo que, si otra etiqueta tiene ese ID, podría resolverse en esa otra etiqueta en lugar de en la llamada 2026.
¿Dónde estás intentando usar o acceder a la etiqueta? Si el enlace lo genera Discourse mismo, me esperaría que utilizara la URL canónica /tag/:slug/:id. Si estás escribiendo la URL manualmente, usando un enlace guardado antiguo, un enlace personalizado de tema/plugin o una URL importada/de barra lateral/personalizada, es posible que aún esté utilizando el formato legacy ambiguo y se resuelva en la etiqueta incorrecta.
Si es posible, creo que deberíamos considerar que el :foo en /tag/:foo siempre es un slug, y exigir el formato /tag/:foo/:id para los identificadores, donde :foo puede ser cualquier carácter (por ejemplo, usar - cuando no se conoce o no importa).
Esto ayudaría con la compatibilidad hacia atrás y también en casos en los que se conoce el slug, pero no el identificador, lo cual suele ser el caso de las etiquetas, donde el nombre es la referencia comúnmente utilizada.
Los identificadores ahora están presentes principalmente para dar soporte a la localización.
Gracias por el ejemplo concreto. He podido reproducir el problema y estoy trabajando en la solución.
Noté durante las pruebas que tampoco creaba etiquetas numéricas cuando no tenían un ID correspondiente. (por ejemplo, intentar crear la etiqueta 2939858339 no haría nada y no etiquetaría el tema con nada)