orca/tools
Brennan Benson 7c0b84f2b6
fix(terminal): invalidate cached glyphs when WebGL atlas changes (#8899)
* feat(terminal): add flag-gated render-desync sentinel for WebGL panes

Detects the buffer-clean/render-stale glyph garble class in the field: per
visible WebGL pane, compare the cells the xterm buffer says hold glyphs
against the ink actually present on the canvas, sampled in the same task as
a forced synchronous redraw so a divergence proves the render model/atlas is
wrong rather than a missed present. A trip requires the same screen cells to
stay divergent across three samples (real desync is pinned; scroll lag moves),
then records a webgl-render-desync breadcrumb, stashes evidence (canvas PNG +
buffer text) for bug reports, and runs the same shared-atlas recovery a tab
reveal performs, so a stuck-garbled pane self-heals within seconds.

Off by default; arm on any build via
localStorage.setItem('orca:render-desync-sentinel', '1') and reload.

* fix(terminal): invalidate glyph cache on atlas replacement

Reproduce the WebGL atlas identity mismatch with two live terminals and force cached geometry to rebuild whenever a different shared atlas is attached. Persist flag-gated render-desync evidence and retain the investigation tooling used to validate the field signature.

* fix(terminal): harden render desync diagnostics

* docs(reliability): clarify Linux WebGL evidence gap
2026-07-17 16:16:17 -07:00
..
benchmarks Suppress Git Credential Manager OAuth popup loop in Orca-run git — clone, terminals/agents, setup hooks (fixes #7652) (#7986) 2026-07-14 15:23:06 -07:00
daemon-relocation-spike Windows terminal update-survival (single consolidated PR) (#7538) 2026-07-07 19:21:07 -04:00
repro-watcher-crash-7547 fix(watcher): isolate @parcel/watcher in a forked process so native crashes can't kill the app (#7547) (#7757) 2026-07-07 22:10:22 -04:00
spikes Add native computer-use automation (#1683) 2026-05-11 14:20:08 -07:00
win-update-e2e fix(win-update-e2e): install wait compared incomparable exe version formats (#7850) 2026-07-08 19:45:48 -04:00
repro-macos-renderer-close-teardown.cjs Suppress macOS renderer teardown crash reports (#4655) 2026-06-04 13:02:51 -07:00
repro-orchestration-long-prompt.mjs Fix orchestration agent prompt injection (#7758) 2026-07-07 19:50:57 -07:00
terminal-garble-frame-analysis.mjs fix(terminal): invalidate cached glyphs when WebGL atlas changes (#8899) 2026-07-17 16:16:17 -07:00
terminal-garble-production-repro.mjs fix(terminal): invalidate cached glyphs when WebGL atlas changes (#8899) 2026-07-17 16:16:17 -07:00
terminal-garble-react-terminal-recovery.mjs fix(terminal): invalidate cached glyphs when WebGL atlas changes (#8899) 2026-07-17 16:16:17 -07:00
terminal-garble-session-replay.mjs fix(terminal): invalidate cached glyphs when WebGL atlas changes (#8899) 2026-07-17 16:16:17 -07:00