- Expédié
- 26 août 2026 à 01:26 UTC
- Auteur
- kamo
- Commite
- c8d0f21
Lot 3 de l'audit de performance du client. La mise en page de racine a transmis chaque message à NextIntlClientProvider sur chaque itinéraire. Le Catalogue est 1,05 MB compact et 1,16 MB une fois que RSC le met en service en tant que chaîne échappée littéral, 328 KB gzip / 250 KB brotte et plus 16 ms de JSON.parse sur un CPU de bureau et environ 95 ms à l'accélérateur 6x de PageSpeed, avant l'utilisation de l'un de ses six degrés. /valider et /engout en ont besoin de deux chaînes. AuthedChrome rend les enfants à nu tant dans les deux cas, aucun des composants de coque montés au-dessus n'a de traduction, et le seul Le texte traduit à l'écran est l'application/chargement.tsx: les deux touches de chargement. balayer tous les fichiers qui sont restitués sur ces chemins. Chaque signe passe par /valider, donc le handoff transportait 1,16 MB de document pour deux cordes. Un composant serveur ne peut pas voir son propre chemin - en-tête() transporte ce que le client a envoyé, et le client n'envoie pas de pathname - donc proxy.ts est maintenant timbre x-kamo-pathname sur les deux les sites de retour qui desservent les documents, et la mise en page les lit à partir des en-têtes() l'appellent c'était déjà en train de faire. La direction de repli est la partie qui compte. Lorsque l'en-tête est absent, la disposition envoie le catalogue PLEIN, jamais une tranche vide. Un espace de noms manquant ne jette pas et n'a pas averti: IntlErrorHandler supprime MISSING-MESSAGE et son getMessageFallback retourne la clé, de sorte que le membre verrait simplement «charger».préparer l'espace de travail la prose appartient. Par défaut, tout cela signifie un changement d'allumette ou un nouveau déploiement la forme se dégrade exactement au comportement d'aujourd'hui au lieu de des touches pointillées sur la page d'une page chaque signe passe par là. Ajoute un test pour la même raison. Il scanne les pages d'avant session pour lires 't(''ns..." les espaces de noms et échouent si un quelconque tombe en dehors de la tranche, donc ajouter une chaîne traduite à le transfert de signe est capté au moment de l'essai plutôt que par un membre. Confirmé non-extivisé: le scanner trouve l'espace de nommage «loading» qu'il doit, et l'injection d'un l'espace de noms étranger dans loading.tsx le fait échouer. C'est délibérément la version étroite. Tranchage par route sur les 143 itinéraires est vaut plusieurs fois plus, mais il a besoin d'une marche AST sur chaque utilisationAppel Traductions un site et un dispositif de protection contre les arguments de l'espace de noms non littéral - le même silencieux mode de défaillance, réparti sur l'ensemble du produit. Pas quelque chose à atterrir à côté n'importe quoi d'autre. Vérifié: tsc --noEmit nettoyez sur chaque fichier de ce changement; les 8 scripts de garde passent; le nouveau test passe et échoue correctement sous un contrôle négatif.