hermes - 💡(How to fix) Fix [Bug]: Dashboard Chat context-menu copy does not bridge xterm selection to clipboard

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…

Root Cause

  • This is separate from broad mouse-selection enablement. Current main already includes selection/mouse-tracking mitigations such as macOptionClickForcesSelection, rightClickSelectsWord, and dashboard PTY mouse disabling.
  • This is also separate from bare Ctrl+C semantics. Bare Ctrl+C should not be hijacked on Windows/Linux terminal-like embeds unless intentionally redesigned, because users may expect terminal interrupt/cancel behavior.
  • Related paste issue: #24860.
  • Related PR: #29975.

Fix Action

Fix / Workaround

  • This is separate from broad mouse-selection enablement. Current main already includes selection/mouse-tracking mitigations such as macOptionClickForcesSelection, rightClickSelectsWord, and dashboard PTY mouse disabling.
  • This is also separate from bare Ctrl+C semantics. Bare Ctrl+C should not be hijacked on Windows/Linux terminal-like embeds unless intentionally redesigned, because users may expect terminal interrupt/cancel behavior.
  • Related paste issue: #24860.
  • Related PR: #29975.
RAW_BUFFERClick to expand / collapse

Bug description

In the Dashboard Chat web TUI (hermes dashboard --tui), browser/context-menu copy is not explicitly bridged from xterm's internal selection to the browser clipboard.

Current main has keyboard-specific copy handling, but there does not appear to be a host-level DOM copy listener on the xterm host that reads term.getSelection() and writes it to event.clipboardData. As a result, even when xterm text selection exists, using the browser context menu / browser menu copy path may fail or not copy the selected terminal text.

Expected behavior

If the user selects text inside the Dashboard Chat terminal and chooses browser/context-menu copy, the selected xterm text should be copied to the browser/system clipboard.

Actual behavior

Browser/context-menu copy is not reliably connected to xterm's internal selection. Copy may fail or copy something other than the selected terminal text.

Scope notes

  • This is separate from broad mouse-selection enablement. Current main already includes selection/mouse-tracking mitigations such as macOptionClickForcesSelection, rightClickSelectsWord, and dashboard PTY mouse disabling.
  • This is also separate from bare Ctrl+C semantics. Bare Ctrl+C should not be hijacked on Windows/Linux terminal-like embeds unless intentionally redesigned, because users may expect terminal interrupt/cancel behavior.
  • Related paste issue: #24860.
  • Related PR: #29975.

Environment where observed during original investigation

  • Hermes Dashboard Chat web TUI
  • Hermes running in Docker/WSL on Windows 10
  • Chrome browser accessing the dashboard

The proposed/current PR fix is environment-neutral: install a host-level DOM copy event listener scoped only to the Dashboard Chat xterm host, and only handle it when term.getSelection() is non-empty.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

FAQ

Expected behavior

If the user selects text inside the Dashboard Chat terminal and chooses browser/context-menu copy, the selected xterm text should be copied to the browser/system clipboard.

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

hermes - 💡(How to fix) Fix [Bug]: Dashboard Chat context-menu copy does not bridge xterm selection to clipboard