# NousResearch/hermes-agent · Dashboard/TUI xterm.js rendering and scrollback bugs

## Open now

- 2 issues, 0 PRs open on GitHub.
- #63384: \[Bug\]: Text becoming invisible on long sessions
- #64744: \[TUI\] Dashboard embedded xterm.js chat: streaming output text gets clipped/hidden until next interaction

A cluster of bugs and fixes around xterm.js embedded chat in the dashboard and TUI, covering invisible or clipped text in long sessions, scrollback drift, WebGL black rows on load, and related UI rendering issues.

## TL;DR

- 8 member(s): 2 open issue(s), 1 closed issue(s), 0 open PR(s), 0 merged PR(s), 5 PR(s) closed without merging.
- No fix has been merged to main; one or more PRs were attempted (see below).
- **Recommended:** review the prior/competing PR(s) below. A fix was attempted but not merged; your case may extend or revive that work.

## Maintainer resolution verdict

- Internal-tracker verdict over this cluster's issue members: `unresolved`. This is distinct from the fix status above. Weigh it yourself.

## How this cluster was grouped

- Link evidence (`STRUCTURAL_PARTIAL`): some members are connected by structural evidence (shared changed files, or a closing/superseded reference); the rest are joined by an automated relevance judgement over their text.
- Members outside that structural core may belong to a different underlying problem.
- Pairwise link density `0.20`: the share of member pairs that carry a link, counting a structural link in full and a relevance-only link at 0.36. `1.00` means every pair is linked.

## Open related issues

- #63384: \[Bug\]: Text becoming invisible on long sessions
- #64744: \[TUI\] Dashboard embedded xterm.js chat: streaming output text gets clipped/hidden until next interaction

## Closed / duplicate issues

- #53641: Dashboard chat: new input/output invisible in long sessions — inline-mode cursor/scrollback drift (scales with transcript size)

## Prior & competing PRs

- **#64967: fix(tui/dashboard): use proportional drain for sticky-follow in xterm.js (#64744)**. closed without merge · fix tier `suggested`
  - maintainer direction: category `superseded_by_pr`; implication `superseded`; refs `#64969`, `#64744`
  - _suggested-tier fix detail withheld; re-request with `?tier=all` to include it._
- **#63910: fix(web): make default foreground color visible (0% -> 100% opacity)**. closed without merge
  - maintainer direction: category `uncategorized`; implication `needs_llm`; refs `#63384`
- **#64969: fix(tui): use proportional drain for xterm.js sticky-follow streaming (#64744)**. closed without merge
  - maintainer direction: category `duplicate_of`; implication `duplicate`; refs `#64967`, `#64744`, `#64967`
- **#64997: fix(dashboard): slash completion double-slash, copy button overlap, WebGL black rows on load**. closed without merge
  - maintainer direction: category `superseded_by_pr`; implication `superseded`; refs `#66217`
- **#66217: fix(dashboard): slash completion double-slash, copy button overlap, WebGL black rows on load**. closed without merge
  - maintainer direction: category `uncategorized`; implication `needs_llm`

## Fix status

- No merged fix on record.
- Subsystem: `dashboard`
