- Se descapó
- 26 de agosto de 2026 a las 1:26 UTC
- Autor
- kamo
- Compromit
- c8d0f21
Lote 3 de la auditoría de rendimiento del lado del cliente. El diseño raíz pasó cada mensaje a NextIntlClientProvider en cada ruta. El catálogo es 1,05 MB compacto 1.16 MB una vez que RSC lo enfile como una cadena escapada literal, 328 KB gzip / 250 KB brotli más 16 ms de JSON.parse en un escritorio CPU y aproximadamente 95 ms en el acelerador de 6x de PageSpeed, antes de que se utilice cualquiera de ellos. /validado y /logout necesitan dos cuerdas de él. AuthedChrome devuelve a niños desnudos ambos, ninguno de los componentes de la shell montados por encima de ella traduce nada, y el único El texto traducido en pantalla es la aplicación/loading.tsx de dos teclas.* teclas verificadas por escaneando cada archivo que se den en esos caminos. Cada sesión pasa /validado, por lo que el entrega llevaba 1.16 MB de documento para dos cuerdas. Un componente de servidor no puede ver su propia ruta. cabeceras() lleva lo que el cliente envió, y el cliente no envía ningún nombre de ruta - por lo que proxy.ts ahora se estampa x-kamo-pathname en los dos sitios de devolución que sirven documentos, y el diseño lo lee desde las cabeceras() llámalo Ya estaba haciendo. La dirección de retroceso es la parte que importa. Cuando la cabecera está ausente, el trazado envía el catálogo FULL, nunca una rebanada vacía. Un espacio de nombres que falta no tira y No advierte: IntlErrorHandler suprime MISSING-MESSAGE y su getMessageFallback devuelve la clave, por lo que el miembro simplemente vería el espacio de trabajo de carga.preparación donde La prosa pertenece. Default de todo significa un cambio de partido o un nuevo despliegue la forma se degrada al comportamiento de hoy en día en lugar de puntuar las llaves en una sola página Cada sesión pasa. Añade una prueba por la misma razón. Escáner las páginas previas a la sesión en busca de literales. los espacios de nombre y falla si alguno cae fuera de la rebanada, así que añadir una cadena traducida a el letrillero es atestado en el tiempo de prueba en lugar de ser visto por un miembro. Confirmado no vacuo: el escáner encuentra el espacio de nombres de descarga que debe, e inyectando un El espacio de nombres extraño en la carga.tsx lo hace fracasar. Esta es deliberadamente la versión estrecha. Cortar por ruta a través de las 143 rutas es valer varias veces más, pero necesita una caminata AST sobre cada usoLenan a las traducciones sitio y una protectora de construcción contra argumentos no-literales de espacio de nombres modo de fallo, esparcido por todo el producto. No es algo para aterrizar al lado nada más. Verificado: tsc --noEmita limpiar sobre cada archivo en este cambio; todos los scripts de guardia pasan; el nuevo pase de prueba y falla correctamente bajo un control negativo.