# NousResearch/hermes-agent · TUI/desktop IME input handling fixes for non-ASCII

## Open now

- Nothing open on GitHub.

A bug report and several fixes addressing dropped or mishandled characters from IME input (particularly Vietnamese Telex and CJK) in both the TUI and desktop layers. Changes cover batched stdin reads, fast-echo bypass restrictions, composition event guards, and related edge cases.

## TL;DR

- 5 member(s): 0 open issue(s), 1 closed issue(s), 0 open PR(s), 2 merged PR(s), 2 PR(s) closed without merging.
- A fix was merged to main in PR #86760. Verify it addresses your case.
- **Recommended:** read PR #86760 (and any competing PRs below) before filing. Confirm the merged change covers your symptom.

## Maintainer resolution verdict

- Internal-tracker verdict over this cluster's issue members: `resolved` · deciding PR(s): `pr-86760`. This is distinct from the fix status above. Weigh it yourself.

## How this cluster was grouped

- Link evidence (`STRUCTURAL_SPANNING`): every member is connected by structural evidence: shared changed files, or a closing/superseded reference.
- Pairwise link density `0.40`: 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.

## Closed / duplicate issues

- #53982: \[Bug\]: TUI drops Vietnamese tone marks — IME backspace+char batched in one stdin read is silently discarded

## Prior & competing PRs

- **#53993: fix(tui): split IME backspace text keypresses**. closed without merge · fix tier `suggested`
  - maintainer direction: category `uncategorized`; implication `needs_llm`
  - _suggested-tier fix detail withheld; re-request with `?tier=all` to include it._
- **#86760: fix(desktop): consolidated IME composition handling — Enter guards, keyCode 229, stale-flag self-heal, keybind combos**. merged to main · fix tier `verified`
  - maintainer direction: category `merged`; implication `superseded`
  - files: `apps/desktop/src/app/chat/composer/enter-stale-ime-flag.test.tsx`, `apps/desktop/src/app/chat/composer/ime-composition-dom-repro.test.tsx`, `apps/desktop/src/app/chat/composer/index.tsx`, `apps/desktop/src/app/chat/sidebar/session-actions-menu.tsx`, `apps/desktop/src/components/assistant-ui/thread/user-edit-composer.tsx`, `apps/desktop/src/components/assistant-ui/thread/user-message-edit.test.tsx`, `apps/desktop/src/components/onboarding/flow.tsx`, `apps/desktop/src/components/onboarding/index.tsx`, `apps/desktop/src/lib/keybinds/combo.test.ts`, `apps/desktop/src/lib/keybinds/combo.ts`, `contributors/emails/[redacted:email]`, `contributors/emails/[redacted:email]`, `contributors/emails/[redacted:email]`
- **#86761: fix(tui,dashboard): consolidated IME input fixes — Korean/Telex recomposition, return-burst commits, PTY composition forwarding**. merged to main · fix tier `verified`
  - maintainer direction: category `merged`; implication `superseded`
  - files: `contributors/emails/[redacted:email]`, `contributors/emails/[redacted:email]`, `contributors/emails/[redacted:email]`, `contributors/emails/[redacted:email]`, `contributors/emails/[redacted:email]`, `ui-tui/packages/hermes-ink/src/ink/parse-keypress-drop-probe.test.ts`, `ui-tui/packages/hermes-ink/src/ink/parse-keypress-noregress.test.ts`, `ui-tui/packages/hermes-ink/src/ink/parse-keypress.test.ts`, `ui-tui/packages/hermes-ink/src/ink/parse-keypress.ts`, `ui-tui/src/__tests__/imeVietnameseTelex.test.tsx`, `ui-tui/src/__tests__/textInputReturnBurst.test.ts`, `ui-tui/src/__tests__/textInputSubmitClear.test.tsx`, `ui-tui/src/components/textInput.tsx`, `web/src/lib/pty-composition.test.ts`, `web/src/lib/pty-composition.ts`, `web/src/pages/ChatPage.tsx`
- **#55415: fix(tui): stop Vietnamese Telex IME from dropping characters**. closed without merge
  - maintainer direction: category `merged_via`; implication `superseded`; refs `#86761`

## Fix status

- Merged to main in PR #86760 (cited above). No release data is tracked. Verify downstream.
- Fix last verified (merged) `2026-08-15`.
- Subsystem: `apps/desktop`
