Por qué fallan las etiquetas numéricas en el compositor cuando existe el ID

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? :thinking:

En cualquier caso, lo considero un error, y me gustaría mucho poder usar años como etiquetas.

Deberían admitirse etiquetas numéricas, y el formato de URL canónica actual está diseñado para evitar esta ambigüedad.

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.

1 me gusta

Normalmente, al crear un tema y añadir etiquetas. O debería decir simplemente al añadir una etiqueta.

Ejemplo del mundo real.

Al escribir un tema, intenté crear la etiqueta 2013. Pero obtuve sahara porque es /tag/sahara/2013.

Y antes pregunté :smirking_face: sí, ocurre lo mismo con el modo seguro.

Así que,

Eso es cierto y esa era la situación hace poco tiempo.

2 Me gusta

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)

2 Me gusta