fix(desktop,web): bump @xterm/* to beta.289 line for shared-atlas garble fix
Problem
Terminal panes intermittently render garbled multicolor glyph fragments (layout intact, text unreadable), typically after heavy scrolling through colorful TUI output (Claude Code). Copying the garbled region yields correct text — the buffer is fine, the WebGL renderer is drawing from wrong texture-atlas positions.
Root cause (upstream)
xterm.js shares one WebGL glyph texture atlas across all terminals with the same font/theme/DPR — which is every pane in Superset, including parked/reused runtimes. When glyph churn triggers an atlas page merge in one terminal, the invalidation signal was a consume-once flag: the first renderer to call beginFrame() ate it and rebuilt its model; every sibling renderer kept stale glyph→texture coordinates and drew garbage.
- Upstream issue: https://github.com/xtermjs/xterm.js/issues/6038 (related: microsoft/vscode#322756)
- Upstream fix: https://github.com/xtermjs/xterm.js/pull/6042 — replaces the flag with a monotonic
pageLayoutVersiontracked per renderer - First release with the fix:
@xterm/xterm 6.1.0-beta.289/@xterm/addon-webgl 0.20.0-beta.288(published 2026-07-13, right after merge)
Same class of bug we bumped for once before (#4892/#4893).
Changes
- Bump all
@xterm/*deps to the beta.289 release line acrossapps/desktop,apps/web,packages/shared,packages/host-service(addon-webgl pairs at beta.288 — its numbering trails core by one, same as our previous 219/220 pin) bunfig.toml: scopedminimumReleaseAgeExcludesfor@xterm/*only — the release is 1 day old and inside our 3-day supply-chain gate. Versions are pinned exact; the exclusion is dated and safe to remove after 2026-07-16.
Verification
bun run typecheck— green (35 tasks; the one docs failure was stale fumadocs codegen in a fresh worktree, passes on re-run)bun run lint— cleanpackages/sharedwheel-handler + identity-coupling tests: 26 passpackages/host-serviceterminal tests (@xterm/headless consumer): 88 pass
Note: the upstream issue lists a second, still-unfixed failure mode (atlas page-cap overflow → render-loop exception). This PR addresses the garbling; worth tracking upstream PR 2 of the split.
Summary by cubic
Bump @xterm/* to the beta.289 line to pick up the shared WebGL glyph atlas fix, removing garbled multicolor text after heavy scrolling. Applies to desktop and web terminals.
- Dependencies
@xterm/xterm→6.1.0-beta.289,@xterm/addon-webgl→0.20.0-beta.288; align other@xterm/*to beta.289 across desktop, web, shared, and host-service, except@xterm/addon-ligatureswhich stays at0.11.0-beta.220due to a Vite build issue (node:diagnostics_channel).- Add dated
minimumReleaseAgeExcludesfor@xterm/*inbunfig.tomlto allow these releases; remove after 2026-07-16.
Summary by CodeRabbit
- Maintenance
- Updated terminal components and extensions to newer XTerm releases across the desktop, web, and shared application experiences.
- Improved package installation handling for the updated terminal components.
- No new user-facing features or workflow changes were introduced.