This repository has been archived on 2026-10-08 . You can view files and clone it. You cannot open issues or pull requests or push a commit.
4bb732d9b91aac86e4b6f0ef9aa7925625797f8d
xterm's DOM renderer builds a node per cell, which is CPU-bound — the wrong bottleneck on a phone, where an agent dumping output stutters visibly on a Pixel 7 despite plenty of GPU headroom. A WebGL context is scarce and revocable, so it follows the mounted view rather than the connection: acquired in onMount, released in onUnmount. ConnectionPool keeps MAX_PARKED connections alive behind the visible ones, which would otherwise exceed the browser's context cap (~16 on desktop Chrome, fewer on Android) and bring a parked terminal back blank. Context loss falls back to the DOM renderer and retries against a shared two-loss budget; a device that keeps dropping contexts stops being asked. A device pixel ratio change rebuilds the glyph atlas, which is otherwise left blurry. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Description
No description provided
13 MiB
Languages
Rust
62.2%
TypeScript
22.6%
Kotlin
9.7%
CSS
4.4%
Nix
0.5%
Other
0.5%