- Dikirim
- 26 Agustus 2026 pukul 01.26 UTC
- Penulis
- kamo
- Commit
- c8d0f21
Batch 3 dari audit kinerja sisi klien. Tata letak akar melewati setiap pesan ke NextIntlClientProvider di setiap rute. The katalog adalah 1,05 MB compact - 1.16 MB sekali RSC inline itu sebagai string lolos literal, 328 KB gzip / 250 KB brotli - plus ~ 16 ms dari JSON.parse pada desktop CPU dan kira-kira 95 m di PageSpeed apos; s 6x throttle, sebelum salah satu dari itu digunakan. / validate dan / logout membutuhkan dua string itu. AuthedChrome mengembalikan anak-anak telanjang pada keduanya, tidak satupun dari komponen shell dipasang di atasnya menerjemahkan apa-apa, dan satu-satunya teks terjemahan pada layar adalah aplikasi / loading.tsx dua 'loading. *' kunci - diverifikasi oleh memindai setiap file yang dibuat pada jalur tersebut. Setiap tanda-dalam melewati / validate, sehingga handoff itu membawa 1.16 MB dokumen untuk dua string. Sebuah komponen server tidak dapat melihat jalan sendiri - header () membawa apa yang dikirim klien, dan klien tidak mengirim nama jalur - begitu proxy. ts sekarang prangko x-kamo-pathname pada dua situs kembali yang melayani dokumen, dan tata letak membacanya dari tajuk () menyebutnya sudah dibuat. Arah mundur adalah bagian yang penting. Ketika header tidak ada tata letak Mengirimkan katalog FULL, tidak pernah sepotong kosong. Sebuah ruang nama yang hilang tidak melempar dan tidak memperingatkan: IntlerErorHandler menekan hilang _ PESSAGE dan mendapatkan MessageFallback mengembalikan kunci, sehingga anggota hanya akan melihat 'loading.preparingWorkspace' di mana Prosa milik. Defaulting untuk segala sesuatu berarti perubahan matcher atau penyebaran baru bentuk degrade ke persis perilaku hari ini daripada ke titik-titik kunci pada satu halaman Setiap tanda-dalam melewati. Tambahkan tes untuk alasan yang sama. Ini memindai halaman pra-sesi untuk literal 't (' ns.... ')' namespace dan gagal jika ada yang jatuh di luar slice, jadi menambahkan string diterjemahkan ke tanda-dalam handoff tertangkap pada waktu tes daripada dilihat oleh anggota. Dikonfirmasi bukan kosong: pemindai menemukan 'loading' namespace seharusnya, dan menyuntikkan namespace asing ke loading.tsx membuatnya gagal. Ini adalah versi sempit yang sengaja. Mengiris per- rute di semua 143 rute adalah bernilai beberapa kali lebih banyak, tetapi perlu AST berjalan di atas setiap panggilan AS situs dan build guard terhadap argumen namespace bukan literal - diam yang sama mode kegagalan, menyebar di seluruh produk. Bukan sesuatu untuk mendarat bersama apa pun. Verifikasi: tsc --noEmit bersihkan atas setiap berkas dalam perubahan ini; seluruh 8 script penjaga lulus; tes baru berlalu dan gagal benar di bawah kontrol negatif.