Status
console.logBeroperasiconsole.clearJarang digunakanYogaBeroperasiTurbolog encoderBeroperasiDevTools ThrottlerDipatuhitextjs.orgBeroperasiBenchmark langsung
Pipeline @textjs/core berjalan di tab ini pada dasbor 100×32 dan menulis frame ke konsol dalam memori.
- Frame penuh
- —
- layout + paint + encode
- Mengetik
- —
- edit satu baris
- Frame diam
- —
- tidak ada perubahan
- span %c
- —
- 3.200 sel
Dimulai otomatis saat halaman menganggur.
Riwayat performa
packages/core/test/perf.test.ts pada setiap tonggak, mesin yang sama (Apple M5 Pro · Bun 1.4.4). Rata-rata dari 1.000 frame.
| Rilis | Frame penuh | Mengetik | Menganggur | span %c |
|---|---|---|---|---|
0.1.0Mar 2025 · @textjs/core · 7c91cea | 0.194ms | 0.065ms | 0.043ms | 205 |
0.2.0Jul 2025 · textjs.org · 92437cc | 0.192ms | 0.067ms | 0.042ms | 205 |
0.3.0Nov 2025 · 10× input · 8c2d1b1 | 0.205ms | 0.065ms | 0.043ms | 146 |
0.3.0Nov 2025 · Mobile pass · e2e6e46 | 0.212ms | 0.067ms | 0.045ms | 146 |
0.4.0Mei 2026 · Zero-flash frames · f007ade | 0.184ms | 0.046ms | 0.028ms | 146 |
1.0.0Okt 2026 · Text.js 1.0 · 57968b6 | 0.163ms | 0.011ms | 0.000ms | 149 |
Frontend DevTools
bench/devtools di Chrome for Testing: penggambaran kosong, frame terkirim, dan jeda tampilan, 5 d per pengujian. Cara kami mengukur.
| Driver | FPS | Penggambaran kosong | Digambar / dikirim | Jeda p50 |
|---|---|---|---|---|
| Menambahkan di akhir (dirilis) | 15 | 1.0% | 74 / 75 | 10.4ms |
| Bersihkan tiap frame | 15 | 70.6% | 70 / 75 | 60.4ms |
| Menambahkan di akhir, tanpa jeda | 60 | 0.8% | 67 / 295 | 31.2ms |
| Bersihkan tiap frame | 60 | 81.1% | 45 / 300 | 9.8ms |
Insiden sebelumnya
Terbaru di atas. Waktu dalam UTC.
Oktober 2026
Halaman tersangkut di bawah header pada iOS Safari27 Okt – 28 Okt 2026 · Teratasi
- Teratasi
Insiden ini telah diselesaikan.
- Dipantau
Perbaikan telah di-deploy. Penjangkaran gulir dinonaktifkan (
overflow-anchor: none). Kami sedang memantau. - Teridentifikasi
Judul utama masih bisa tersangkut di bawah header melekat setelah menggulir ke bawah lalu kembali ke atas. Penjangkaran gulir Safari menyesuaikan posisi gulir.
- Dipantau
Perbaikan telah di-deploy. Elemen tersebut kini hanya bergulir secara horizontal, dan
scrollbar-gutter: stablehanya berlaku pada perangkat dengan mouse. - Teridentifikasi
Tab file, blok kode, dan tabel dalam teks memiliki luapan vertikal sebesar 1 px dari garis bawah tab aktif, sehingga bergulir pada kedua sumbu dan iOS meneruskan usapan vertikal yang ditujukan untuk halaman ke elemen tersebut.
scrollbar-gutter: stablejuga membuat guliran pertama meloncat pada iOS. - Diselidiki
Kami sedang menyelidiki laporan bahwa halaman textjs.org tidak bisa digulir kembali ke atas pada iOS Safari.
Insiden ini berdampak pada: textjs.org.
Analisis pascainsiden
Halaman textjs.org tidak bergeser saat dimuat, sehingga penjangkaran gulir tidak perlu mengoreksi apa pun. Pada iOS Safari, fitur ini menjepit bagian utama di bawah header melekat dan menghalangi guliran kembali ke atas.
?debug=scrollpada textjs.org kini menampilkan pembacaan langsung peristiwa gulir, sentuh, dan perubahan ukuran serta menyebutkan pemanggil tiap panggilan fokus atau gulir terprogram.Perbaikan:
297c5d7,55da525,8424fcd· Catatan perubahan: 1.0.0- Teratasi
Pengujian aturan lint gagal di CI23 Okt 2026 · Teratasi
- Teratasi
Penguji kini menunda pembacaan
it.onlyhingga pengujian memanggilRuleTester.itOnly. CI kini lulus. - Teridentifikasi
Bun melempar error saat
it.onlydibaca ketika variabel lingkunganCIdiatur. Penguji aturan menetapkanRuleTester.itOnly = it.onlysaat impor, sehingga pemuatannya gagal. - Diselidiki
Rangkaian pengujian
eslint-plugin-textjsgagal di CI sebelum pengujian aturan berjalan. Pengujian lokal lulus.
Analisis pascainsiden
@typescript-eslint/rule-testermenerima fungsi pengujiannya sebagai properti statisRuleTester. Perbaikan ini membungkusit.onlydalam fungsi. Tidak ada paket atau halaman yang terdampak.Perbaikan:
eca3f78- Teratasi
Pergeseran layout pada /playground dan /opencode21 Okt – 22 Okt 2026 · Teratasi
- Teratasi
Pergeseran layout kumulatif bernilai 0 di setiap route.
- Dipantau
Perbaikan telah di-deploy. Kedua halaman memakai satu layout pad, dan ukuran ditambahkan di akhir tanpa menggeser “Sesuaikan konsol”. Kami terus memantau.
- Teridentifikasi
Kontrol ukuran konsol menambahkan ukuran terukur di akhir labelnya setelah hidrasi (
Fit console · 120×36), yang menggeser node teks “Fit console”. Tinggi baris atas dan bawah pad juga berbeda antara kedua halaman, sehingga pad kembali ke tengah saat navigasi. - Diselidiki
Audit pergeseran layout kami melaporkan pergeseran layout kumulatif sebesar 0,0001 pada /playground dan /opencode. Setiap route lain yang diaudit melaporkan 0. Focus pad juga bergerak saat berpindah antara kedua halaman.
Insiden ini berdampak pada: textjs.org.
Analisis pascainsiden
Pad kini memiliki slot atas dan bawah dengan tinggi tetap, dan setiap demo menyediakan baris yang sama, sehingga pergantian halaman atau demo tidak menggeser apa pun. Panel koneksi OpenCode menampilkan satu baris status di setiap keadaan, dengan skeleton hingga hidrasi selesai.
apps/web/scripts/e2e-layout.mjsmemastikan kotak identik di semua route, demo, ukuran viewport, dan keadaan koneksi.Perbaikan:
8f22b9b· Catatan perubahan: 1.0.0- Teratasi
Nama paket textjs tidak tersedia di npm14 Okt – 15 Okt 2026 · Teratasi
- Teratasi
Insiden ini telah diselesaikan.
- Dipantau
Paket framework dan CLI kini bernama
@textjs/next, dalam scope yang sama dengan@textjs/coredan@textjs/react. Impor berubah daritextjsmenjadi@textjs/next. - Teridentifikasi
Nama
textjstelah dimiliki paket npm lain sejak 25 Maret 2016. - Diselidiki
Publikasi paket framework
textjske npm gagal dengan403 Forbidden.
Analisis pascainsiden
Mulai Text.js 1.0, aplikasi mengimpor dari
@textjs/nextalih-alihtextjs, dan bridge OpenCode adalahbunx @textjs/app proxy, yang berjalan dari direktori mana pun.Text.js 1.0: Satu pergantian nama · Catatan perubahan: 1.0.0
- Teratasi
September 2026
Lapisan paint kosong pada pergantian baris15 Sep – 16 Sep 2026 · Teratasi
- Teratasi
Insiden ini telah diselesaikan.
- Dipantau
Perbaikan telah di-deploy. Pergantian baris yang tidak melanjutkan rangkaian kini lebih dulu mereset
%cke gaya kosong, sehingga DevTools menghasilkan baris baru biasa. Setiap frame membawa satu tirai. - Teridentifikasi
Saat rangkaian bergaya berakhir pada pergantian baris,
\nditulis di dalam span%crangkaian itu. DevTools memisahkan span pada pergantian baris, dan sisa kosongnya menjadi spandisplay: inline-blockdengancontain: paint, yang mendapat lapisan paint tersendiri. - Diselidiki
Kami sedang menyelidiki elemen
<span>kosong pada sebagian besar pergantian baris dalam frame DevTools, serta span tirai ganda pada beberapa frame.
Insiden ini berdampak pada: Turbolog encoder.
Analisis pascainsiden
Span dengan gaya yang sama tetap digabungkan melintasi pergantian baris. Tirai juga dipindahkan ke baris tersendiri: DevTools menempatkan tautan sumber (
VM12:1) di kanan baris pertama pesan, dan tirai inline membuat tautan itu berada di samping baris 0, sehingga mempersempitnya.- Teratasi
Agustus 2026
Latensi tampilan meningkat setelah console.clear27 Agu – 31 Agu 2026 · Teratasi
- Teratasi
Median jeda tampilan di
bench/devtoolsadalah 10,4 ms. Perbaikan ini disertakan dalam Text.js 1.0. - Dipantau
Perbaikan telah di-deploy. Setelah frame yang membersihkan konsol, renderer menunggu 110 ms sekali, sehingga frame berikutnya tiba lebih dari 50 ms setelah penyegaran DevTools sebelumnya dan memakai jalur langsungnya.
- Teridentifikasi
Setelah pembersihan, DevTools menyisipkan baris “Konsol dibersihkan”. Baris ini mengambil slot langsung throttler dan mendorong frame berikutnya ke timer 50 ms. Dengan jarak antarframe 66 ms, setiap frame berikutnya tetap memakai timer itu.
- Diselidiki
bench/devtoolsmelaporkan median jeda tampilan sebesar 63 ms setelah konsol dibersihkan. Jeda tetap di tingkat itu untuk setiap frame berikutnya.
Insiden ini berdampak pada: DevTools Throttler, console.clear.
Analisis pascainsiden
Input diskret tetap di-render secara sinkron saat interval frame memungkinkan.
- Teratasi
Spinner membuat baris tidak sejajar di konsol DevTools11 Agu – 12 Agu 2026 · Teratasi
- Teratasi
Insiden ini telah diselesaikan. Perbaikan ini disertakan dalam Text.js 1.0.
- Dipantau
Perbaikan telah di-deploy. Spinner
dotsbawaan kini menggambar blok kuadran (▘ ▝ ▗ ▖), masing-masing satu sel di Menlo. Frame braille tersedia sebagaivariant="braille"untuk terminal. - Teridentifikasi
Spinner bawaan menggambar pola braille (U+2800 hingga U+28FF). Text.js mengukur masing-masing sebagai satu sel, tetapi Menlo, font konsol DevTools di macOS, tidak memiliki glif braille. Glif pengganti lebih lebar dari satu sel dan mendorong sisa baris ke kanan.
- Diselidiki
Di macOS, baris yang berisi
<Spinner>tidak sejajar di DevTools. Sel di kanan spinner keluar dari kisi.
Insiden ini berdampak pada: console.log.
Analisis pascainsiden
LineChartmenggambar titik kuadran secara bawaan karena alasan yang sama. Braille tersedia denganmarker="braille".- Teratasi
Mei 2026
Peningkatan paint kosong di konsol DevTools5 Mei – 19 Mei 2026 · Teratasi
- Teratasi
Perbaikan dirilis dalam Text.js 0.4.0. Paint kosong kini sebesar 1,0%, semuanya pada frame pertama.
- Dipantau
textjs.org kini menambahkan frame di akhir alih-alih membersihkan konsol. Span tirai selebar nol menyembunyikan frame sebelumnya, dan jarak antarframe diatur minimal 66 ms.
- Teridentifikasi
DevTools menerapkan
console.clear()secara sinkron tetapi menggambar pesan baru dengan throttle 50 ms. Setiap frame langsung menghapus frame sebelumnya dan digambar hingga 50 ms kemudian. Dibench/devtools, dasbor 100×32 kosong pada 70,6% paint DevTools di 15 fps dan 81,1% di 60 fps. - Diselidiki
Kami sedang menyelidiki laporan bahwa konsol DevTools berkedip kosong di antara frame saat beban tinggi.
Insiden ini berdampak pada: console.clear, DevTools Throttler.
Analisis pascainsiden
Sejak 0.1.0, Turbolog mengirim satu
console.clear()dan satuconsole.log()per frame yang berubah.bench/devtools, yang menjalankan frontend DevTools asli di Chrome for Testing, dibuat untuk mengukur insiden ini dan menghasilkan angka pada tabel frontend DevTools di atas.Perbaikan:
f007ade· Turbolog: menghilangkan kilatan · Catatan perubahan: 0.4.0- Teratasi
April 2026
Gaya path file dalam frame konsol berubah menjadi tautan14 Apr – 15 Apr 2026 · Teratasi
- Teratasi
Insiden ini telah diselesaikan.
- Dipantau
Perbaikan telah di-deploy. Encoder menyisipkan word joiner (U+2060) ke dalam teks
path:line,//host:port, dandata:, kecuali sel mengizinkan tautan. - Teridentifikasi
DevTools mengubah URL,
path:line, dan teks//host:portdalam pesan konsol menjadi tautan dan memaksakan warna temanya. Encoder sudah memecah://danwww., tetapipath:linedan//host:portsetelah skema masih cocok. - Diselidiki
Teks seperti
src/app.tsx:12danhttp://localhost:3000di-render dengan warna tautan DevTools alih-alih gaya%c-nya.
Insiden ini berdampak pada: Turbolog encoder.
Analisis pascainsiden
://danwww.telah memuat word joiner sejak 0.1.0. Sel yang harus tetap bisa diklik menetapkan atribut allow-link dan ditulis tanpa perubahan.- Teratasi
November 2025
Penekanan tombol tertunda di aplikasi konsol4 Nov – 18 Nov 2025 · Teratasi
- Teratasi
Perbaikannya dirilis di Text.js 0.3.0.
- Dipantau
Perbaikan telah di-deploy. Input diskret, seperti penekanan tombol atau penempelan, kini di-render secara sinkron dalam tugas yang sama. Pembaruan lain tetap melakukan commit pada
requestAnimationFrame. - Teridentifikasi
Setiap pembaruan, termasuk penekanan tombol, menunggu
requestAnimationFrameberikutnya sebelum React melakukan commit dan frame dicatat ke konsol. - Diselidiki
Pengetikan di aplikasi konsol tertinggal dari keyboard, paling terlihat di OpenCode pada textjs.org.
Insiden ini berdampak pada: textjs.org.
Analisis pascainsiden
Penekanan tombol tidak lagi menunggu frame animasi berikutnya. Commit yang bukan berasal dari input, seperti timer dan data streaming, tetap dikelompokkan per frame animasi.
Perbaikan:
8c2d1b1· Catatan perubahan: 0.3.0- Teratasi