Status
console.logBetriebsbereitconsole.clearSelten verwendetYogaBetriebsbereitTurbolog encoderBetriebsbereitDevTools ThrottlerBerücksichtigttextjs.orgBetriebsbereitLive-Benchmark
Die @textjs/core-Pipeline läuft in diesem Tab auf einem 100×32-Dashboard und schreibt Frames in eine Konsole im Arbeitsspeicher.
- Vollständiger Frame
- —
- Layout + Zeichnen + Kodieren
- Tippen
- —
- Änderung einer Zeile
- Frame im Leerlauf
- —
- nichts geändert
- %c-Spans
- —
- 3.200 Zellen
Startet automatisch, sobald die Seite im Leerlauf ist.
Performance-Verlauf
packages/core/test/perf.test.ts bei jedem Meilenstein, auf demselben Rechner (Apple M5 Pro · Bun 1.4.4). Mittelwert aus 1000 Frames.
| Release | Vollständiger Frame | Tippen | Leerlauf | %c-Spans |
|---|---|---|---|---|
0.1.0März 2025 · @textjs/core · 7c91cea | 0.194ms | 0.065ms | 0.043ms | 205 |
0.2.0Juli 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.0Mai 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 |
DevTools-Frontend
bench/devtools in Chrome for Testing: leere Renderings, ausgelieferte Frames und Anzeigeverzögerung, 5 s pro Durchlauf. So messen wir.
| Treiber | FPS | Leere Renderings | Gerendert / ausgegeben | Verzögerung p50 |
|---|---|---|---|---|
| Anhängen (aktuell) | 15 | 1.0% | 74 / 75 | 10.4ms |
| Pro Frame leeren | 15 | 70.6% | 70 / 75 | 60.4ms |
| Anhängen, ungetaktet | 60 | 0.8% | 67 / 295 | 31.2ms |
| Pro Frame leeren | 60 | 81.1% | 45 / 300 | 9.8ms |
Vergangene Störungen
Neueste zuerst. Zeiten in UTC.
Oktober 2026
Seiten hängen in iOS Safari unter der Kopfzeile fest27. Okt. – 28. Okt. 2026 · Behoben
- Behoben
Diese Störung ist behoben.
- Unter Beobachtung
Eine Korrektur wurde deployt. Die Scroll-Verankerung ist deaktiviert (
overflow-anchor: none). Wir beobachten weiter. - Ursache gefunden
Die Hero-Überschrift kann nach dem Herunter- und Zurückscrollen weiterhin unter der fixierten Kopfzeile hängen bleiben. Safaris Scroll-Verankerung passt die Scrollposition an.
- Unter Beobachtung
Eine Korrektur wurde deployt. Diese Elemente scrollen jetzt nur horizontal, und
scrollbar-gutter: stablegilt nur für Geräte mit Maus. - Ursache gefunden
Datei-Tabs, Codeblöcke und Tabellen im Fließtext haben durch die Unterstreichung des aktiven Tabs einen vertikalen Überlauf von 1 px, sodass sie auf beiden Achsen scrollen und iOS ihnen vertikale Wischgesten zuweist, die für die Seite gedacht sind.
scrollbar-gutter: stablelässt außerdem den ersten Scrollvorgang unter iOS springen. - In Untersuchung
Wir untersuchen Berichte, dass sich Seiten auf textjs.org in iOS Safari nicht bis nach oben zurückscrollen lassen.
Diese Störung betraf: textjs.org.
Nachanalyse
Seiten auf textjs.org verschieben sich beim Laden nicht, daher hatte die Scroll-Verankerung nichts zu korrigieren. In iOS Safari hielt sie den Hero-Bereich unter der fixierten Kopfzeile fest und verhinderte das Zurückscrollen nach oben.
?debug=scrollauf textjs.org zeigt jetzt Scroll-, Touch- und Resize-Ereignisse live an und nennt den Aufrufer jedes programmatischen Fokus- oder Scrollaufrufs.Korrekturen:
297c5d7,55da525,8424fcd· Änderungsprotokoll: 1.0.0- Behoben
Lint-Regeltests schlagen in CI fehl23. Okt. 2026 · Behoben
- Behoben
Der Tester liest
it.onlyjetzt erst, wenn ein TestRuleTester.itOnlyaufruft. CI läuft durch. - Ursache gefunden
Bun wirft beim Lesen von
it.onlyeinen Fehler, wenn die UmgebungsvariableCIgesetzt ist. Der Regeltester weist beim ImportRuleTester.itOnly = it.onlyzu, daher schlägt das Laden fehl. - In Untersuchung
Die Testsuite von
eslint-plugin-textjsschlägt in CI fehl, bevor ein Regeltest läuft. Lokal laufen die Tests durch.
Nachanalyse
@typescript-eslint/rule-testerübernimmt seine Testfunktionen als statische Eigenschaften vonRuleTester. Die Korrektur kapseltit.onlyin einer Funktion. Kein Paket und keine Seite waren betroffen.Korrektur:
eca3f78- Behoben
Layout-Verschiebung auf /playground und /opencode21. Okt. – 22. Okt. 2026 · Behoben
- Behoben
Die kumulative Layout-Verschiebung beträgt auf jeder Route 0.
- Unter Beobachtung
Eine Korrektur wurde deployt. Beide Seiten verwenden dasselbe Pad-Layout, und die Größe wird angehängt, ohne „Konsole einpassen“ zu verschieben. Wir beobachten weiter.
- Ursache gefunden
Die Steuerung der Konsolengröße hängt nach der Hydrierung die gemessene Größe an ihre Beschriftung an (
Fit console · 120×36), wodurch sich der Textknoten „Konsole einpassen“ verschiebt. Auch die obersten und untersten Zeilen des Pads sind auf den beiden Seiten unterschiedlich hoch, sodass sich das Pad beim Navigieren neu zentriert. - In Untersuchung
Unsere Prüfung auf Layout-Verschiebungen meldet eine kumulative Layout-Verschiebung von 0,0001 auf /playground und /opencode. Jede andere geprüfte Route meldet 0. Auch das Fokus-Pad bewegt sich beim Wechsel zwischen den beiden Seiten.
Diese Störung betraf: textjs.org.
Nachanalyse
Das Pad hat jetzt oben und unten Bereiche mit fester Höhe, und jede Demo reserviert dieselben Zeilen, sodass sich beim Wechsel von Seiten oder Demos nichts bewegt. Das OpenCode-Verbindungspanel zeigt in jedem Zustand eine Statuszeile, bis zur Hydrierung mit einem Platzhalter.
apps/web/scripts/e2e-layout.mjsprüft identische Abmessungen und Positionen über Routen, Demos, Viewport-Größen und Verbindungszustände hinweg.Korrektur:
8f22b9b· Änderungsprotokoll: 1.0.0- Behoben
Paketname textjs auf npm nicht verfügbar14. Okt. – 15. Okt. 2026 · Behoben
- Behoben
Diese Störung ist behoben.
- Unter Beobachtung
Das Framework- und CLI-Paket heißt jetzt
@textjs/next, im selben Scope wie@textjs/coreund@textjs/react. Imports wechseln vontextjszu@textjs/next. - Ursache gefunden
Der Name
textjsgehört seit dem 25. März 2016 zu einem anderen npm-Paket. - In Untersuchung
Das Veröffentlichen des Framework-Pakets
textjsauf npm schlägt mit403 Forbiddenfehl.
Nachanalyse
Ab Text.js 1.0 importieren Apps aus
@textjs/nextstatt austextjs, und die OpenCode-Bridge istbunx @textjs/app proxy, die aus jedem Verzeichnis läuft.- Behoben
September 2026
Leere Zeichenebenen an Zeilenumbrüchen15. Sept. – 16. Sept. 2026 · Behoben
- Behoben
Diese Störung ist behoben.
- Unter Beobachtung
Ein Fix wurde deployt. Zeilenumbrüche, die keinen Abschnitt fortsetzen, setzen
%cjetzt zuerst auf einen leeren Stil zurück, damit DevTools einen reinen Zeilenumbruch ausgibt. Jeder Frame enthält einen Vorhang. - Ursache gefunden
Wenn ein formatierter Abschnitt an einem Zeilenumbruch endet, steht das
\nim%c-Span des Abschnitts. DevTools teilt den Span am Zeilenumbruch, und der leere Rest wird zu einemdisplay: inline-block-Span mitcontain: paint, der eine eigene Zeichenebene erhält. - In Untersuchung
Wir untersuchen leere
<span>-Elemente an den meisten Zeilenumbrüchen in DevTools-Frames und einen doppelten Vorhang-Span in einigen Frames.
Diese Störung betraf: Turbolog encoder.
Nachanalyse
Spans mit gleichem Stil werden weiterhin über Zeilenumbrüche hinweg zusammengeführt. Der Vorhang steht jetzt außerdem in einer eigenen Zeile: DevTools platziert den Quelllink (
VM12:1) rechts neben der ersten Zeile einer Nachricht, und ein Inline-Vorhang ließ diesen Link neben Zeile 0 stehen, wodurch sie schmaler wurde.- Behoben
August 2026
Erhöhte Anzeigelatenz nach console.clear27. Aug. – 31. Aug. 2026 · Behoben
- Behoben
Die mediane Anzeigeverzögerung in
bench/devtoolsbeträgt 10,4 ms. Der Fix erscheint mit Text.js 1.0. - Unter Beobachtung
Ein Fix wurde deployt. Nach jedem Frame, der die Konsole leert, wartet der Renderer einmalig 110 ms, damit spätere Frames mehr als 50 ms nach der letzten Aktualisierung von DevTools eintreffen und sofort verarbeitet werden.
- Ursache gefunden
Nach dem Leeren fügt DevTools eine Zeile „Konsole wurde geleert“ ein. Sie belegt den sofortigen Ausführungsplatz der Drosselung und verschiebt den nächsten Frame auf den 50-ms-Timer. Bei 66 ms Abstand zwischen den Frames bleibt jeder spätere Frame auf diesem Timer.
- In Untersuchung
bench/devtoolsmeldet nach dem Leeren der Konsole eine mediane Anzeigeverzögerung von 63 ms. Die Verzögerung bleibt bei jedem späteren Frame auf diesem Niveau.
Diese Störung betraf: DevTools Throttler, console.clear.
Nachanalyse
Diskrete Eingaben werden weiterhin synchron gerendert, wenn das Frame-Intervall es zulässt.
- Behoben
Spinner verschiebt Zeilen in der DevTools-Konsole11. Aug. – 12. Aug. 2026 · Behoben
- Behoben
Diese Störung ist behoben. Der Fix erscheint mit Text.js 1.0.
- Unter Beobachtung
Ein Fix wurde deployt. Der Standard-Spinner
dotszeichnet jetzt Quadrantenblöcke (▘ ▝ ▗ ▖), die in Menlo jeweils eine Zelle belegen. Die Braille-Frames sind für Terminals alsvariant="braille"verfügbar. - Ursache gefunden
Der Standard-Spinner zeichnet Braillemuster (U+2800 bis U+28FF). Text.js misst jedes als eine Zelle, aber Menlo, die Schrift der DevTools-Konsole unter macOS, enthält keine Braillezeichen. Das Ersatzzeichen ist breiter als eine Zelle und verschiebt den Rest der Zeile nach rechts.
- In Untersuchung
Unter macOS sind Zeilen mit einem
<Spinner>in DevTools falsch ausgerichtet. Zellen rechts vom Spinner liegen außerhalb des Rasters.
Diese Störung betraf: console.log.
Nachanalyse
LineChartzeichnet aus demselben Grund standardmäßig Quadrantenpunkte. Braille ist mitmarker="braille"verfügbar.- Behoben
Mai 2026
Vermehrt leere Darstellungen in der DevTools-Konsole5. Mai – 19. Mai 2026 · Behoben
- Behoben
Der Fix ist in Text.js 0.4.0 veröffentlicht. Leere Darstellungen liegen bei 1,0 %, alle beim ersten Frame.
- Unter Beobachtung
textjs.org hängt Frames jetzt an, statt die Konsole zu leeren. Ein Vorhang-Span ohne Breite hält frühere Frames außerhalb des Sichtbereichs, und Frames haben mindestens 66 ms Abstand.
- Ursache gefunden
DevTools führt
console.clear()synchron aus, zeichnet neue Nachrichten aber mit einer Drosselung von 50 ms. Jeder Frame entfernt den vorherigen sofort und wird bis zu 50 ms später gezeichnet. Inbench/devtoolswar ein Dashboard mit 100×32 Zellen bei 15 fps in 70,6 % der DevTools-Zeichenvorgänge leer und bei 60 fps in 81,1 %. - In Untersuchung
Wir untersuchen Berichte, dass die DevTools-Konsole unter Last zwischen Frames leer aufblitzt.
Diese Störung betraf: console.clear, DevTools Throttler.
Nachanalyse
Seit 0.1.0 hatte Turbolog pro geändertem Frame ein
console.clear()und einconsole.log()gesendet.bench/devtools, das das echte DevTools-Frontend in Chrome for Testing steuert, wurde zur Messung dieser Störung entwickelt und lieferte die Zahlen in der obigen Tabelle zum DevTools-Frontend.Korrektur:
f007ade· Turbolog: Das Flackern beseitigen · Änderungsprotokoll: 0.4.0- Behoben
April 2026
Dateipfade in Konsolen-Frames als Links umformatiert14. Apr. – 15. Apr. 2026 · Behoben
- Behoben
Diese Störung ist behoben.
- Unter Beobachtung
Ein Fix wurde deployt. Der Encoder fügt einen Word Joiner (U+2060) in Text mit
path:line,//host:portunddata:ein, sofern die Zelle keine Links erlaubt. - Ursache gefunden
DevTools wandelt URLs,
path:lineund//host:portin Konsolennachrichten in Links um und erzwingt dafür seine Theme-Farben. Der Encoder unterbrach bereits://undwww., aberpath:lineund das//host:portnach einem Schema werden weiterhin erkannt. - In Untersuchung
Text wie
src/app.tsx:12undhttp://localhost:3000erscheint in der Linkfarbe von DevTools statt in seinem%c-Stil.
Diese Störung betraf: Turbolog encoder.
Nachanalyse
://undwww.enthalten seit 0.1.0 einen Word Joiner. Zellen, die anklickbar bleiben sollen, setzen das allow-link-Attribut und werden unverändert ausgegeben.- Behoben
November 2025
Verzögerte Tastatureingaben in Konsolen-Apps4. Nov. – 18. Nov. 2025 · Behoben
- Behoben
Der Fix ist in Text.js 0.3.0 veröffentlicht.
- Unter Beobachtung
Ein Fix wurde deployt. Diskrete Eingaben wie ein Tastendruck oder das Einfügen von Text werden jetzt synchron im selben Task gerendert. Andere Aktualisierungen werden weiterhin bei
requestAnimationFrameübernommen. - Ursache gefunden
Jede Aktualisierung, auch ein Tastendruck, wartet auf den nächsten
requestAnimationFrame, bevor React den Commit ausführt und der Frame in der Konsole ausgegeben wird. - In Untersuchung
Beim Tippen in Konsolen-Apps hinkt die Anzeige der Tastatur hinterher, am deutlichsten in OpenCode auf textjs.org.
Diese Störung betraf: textjs.org.
Nachanalyse
Tastendrücke warten nicht mehr auf den nächsten Animationsframe. Commits, die nicht von Eingaben stammen, etwa Timer und gestreamte Daten, werden weiterhin pro Animationsframe gebündelt.
Korrektur:
8c2d1b1· Änderungsprotokoll: 0.3.0- Behoben