Skip to content

fix(tipos): renombrar uno de fábrica ahora se ve en toda la aplicación - #89

Closed
JoseSerpaCode wants to merge 1 commit into
mainfrom
fix/renombrar-tipo-visible
Closed

JoseSerpaCode wants to merge 1 commit into
mainfrom
fix/renombrar-tipo-visible

Conversation

@JoseSerpaCode

Copy link
Copy Markdown
Owner

A.1 del plan — el más engañoso de los siete, porque parece que guarda bien.

issueTypes.editar() sí guardaba el nombre. El fallo estaba en los cinco sitios que lo pintan, todos con la misma expresión copiada:

ti.isBuiltin ? (t(`type.${ti.key}`) || ti.name) : ti.name

Para un tipo de fábrica eso ignora ti.name siempre. El único sitio donde aparecía el nombre nuevo era el diálogo de renombrar, que lo lee de un data-name — de ahí el reporte: «si lo renombro otra vez sí aparece, pero en el resto de la web sigue el anterior».

La regla

La que el proyecto ya aplica a etiquetas y a tipos propios: lo que escribe una persona no se traduce.

  • Tipo intacto → se traduce. Quien nunca renombra sigue viendo «Tarea» / «Task» según el idioma.
  • Tipo renombrado → gana su nombre, en los dos idiomas.

Se decide comparando contra el nombre con el que nació, no mirando solo is_builtin; si no, se le quitaría la traducción a casi todo el mundo.

Las cinco copias pasan a nombreVisible(), junto a mapaPorClave() que ya existía para esto mismo.

Plan de pruebas

  • npm run lint, npm run typecheck — limpios
  • 327 unitarias (5 nuevas), 238 e2e (1 nueva)
  • Verificadas quitando la comparación contra el nombre original: fallan
  • La e2e comprueba las pantallas, no la función: lo que falló fue que cinco copias no llamaran a nadie

🤖 Generated with Claude Code

La regla que decide qué nombre enseñar estaba copiada cinco veces, y las cinco
ignoraban el nombre escrito cuando el tipo era de fábrica: ganaba siempre la
traducción de la clave. Renombrar «Task» a «Incidencia» solo se veía al reabrir
el diálogo de renombrar, que lo lee de un `data-name`.

Se traduce mientras el tipo esté intacto y gana el nombre propio en cuanto
alguien lo cambia — la misma regla que el proyecto ya aplica a etiquetas y a
tipos propios. Compara contra el nombre con el que nació, para no quitarle la
traducción a quien nunca renombra.

Las cinco copias pasan a `nombreVisible()`, junto a `mapaPorClave()`.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@JoseSerpaCode

Copy link
Copy Markdown
Owner Author

Consolidada en una sola PR con las cinco correcciones y una versión coherente. Se abrió como fix/bloque-a.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant