fix(frontend): 504 total en prod — conflicto de slugs [id]/[family_id] en Next#64
Merged
Merged
Conversation
…al en prod
Producción caía con 504 en TODO /api/v2/* (incluido /orgs): la función serverless
de Next crasheaba al construir el árbol de rutas con "You cannot use different slug
names for the same dynamic path ('family_id' !== 'id')". Convivían `defects/[id]`
(lineage, root-cause) y `defects/[family_id]/label` → dos slugs distintos en la
misma posición. Es un crash de RUNTIME que `next build` NO detecta (por eso pasó
CI y build local).
- `defects/[family_id]/label` → `defects/[id]/label` (handler usa params.id; la
URL que llama el front no cambia, Next casa por posición).
- test de regresión en route-parity: falla si dos dirs dinámicos hermanos usan
nombres de slug distintos (lo que `next build` no cataría).
Claude-Session: https://claude.ai/code/session_01X1fZebDm9ABFwLU2v3mq46
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
2 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
🔴 Incidente: producción caída (504 en todo /api/v2/*)
https://mnemo-beta-one.vercel.app/api/v2/orgs(y cualquier/api/v2/*) devolvía 504. Causa raíz encontrada en los logs de runtime de Vercel:La función serverless de Next crashea al construir el árbol de rutas porque convivían dos segmentos dinámicos con nombres distintos en la misma posición:
src/app/api/v2/defects/[id]/…(lineage, root-cause)src/app/api/v2/defects/[family_id]/label/…Cuando el route tree crashea, todas las funciones 504ean, no solo defects → por eso
/orgs(que no tiene nada que ver) también caía. NO era el backend ni un cold-start.Por qué no se detectó antes: es un crash de runtime, no de build.
next buildcompila y pasa ("Compiled successfully") sin catarlo — por eso pasó el CI y mi verificación local. El[family_id]/labelvenía de un commit antiguo (#57); quedó latente.Fix
defects/[family_id]/label→defects/[id]/label(un único slug bajodefects/). El handler pasa aparams.id; la URL que llama el frontend no cambia (Next casa por posición).route-parity.test.ts: falla si dos directorios dinámicos hermanos usan nombres de slug distintos — la clase de bug quenext buildno caza.Verificación
src/app: no queda ningún otro parent con >1 slug dinámico.next buildlimpio OK;tscEXIT=0;lint:cilimpio; 187 tests.next dev+curl /api/v2/orgs→ el proxy responde limpio, 0 ocurrencias de "different slug names" en el log (antes: crash).Acción tras merge
Mergear a
maindispara el redeploy de Vercel → producción vuelve. (El backend en Render es un tema aparte; este PR arregla el 504 del frontend.)https://claude.ai/code/session_01X1fZebDm9ABFwLU2v3mq46