{"repo":"NousResearch/hermes-agent","public_id":"53982","display_label":"TUI/desktop IME input handling fixes for non-ASCII","summary":"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.","subsystem":"apps/desktop","counts":{"members":5,"open_issues":0,"open_issues_distinct":0,"open_prs":0,"closed_issues":1,"merged_prs":2,"attempt_prs":2},"landed_fix":{"status":"merged_to_main","basis":"structural","pr":86760},"resolution":{"state":"resolved","by":"pr-86760"},"freshness":{"state":"verified","last_verified_at":"2026-08-15T07:33:51+00:00","is_stale":false},"grouping":{"backbone":"STRUCTURAL_SPANNING","link_density":0.4},"fix_edges":[{"issue_number":37483,"pr_number":86760,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false},{"issue_number":38117,"pr_number":86761,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false},{"issue_number":39195,"pr_number":86760,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true},{"issue_number":40146,"pr_number":86760,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true},{"issue_number":40226,"pr_number":86760,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true},{"issue_number":40544,"pr_number":86760,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true},{"issue_number":44135,"pr_number":86760,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true},{"issue_number":51403,"pr_number":86760,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true},{"issue_number":52111,"pr_number":86761,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false},{"issue_number":53446,"pr_number":86760,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true},{"issue_number":53982,"pr_number":86760,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true},{"issue_number":53982,"pr_number":86761,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false},{"issue_number":54144,"pr_number":86760,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true},{"issue_number":75960,"pr_number":86761,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true},{"issue_number":76233,"pr_number":86761,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false},{"issue_number":77559,"pr_number":86761,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true}],"members":[{"kind":"issue","number":53982,"title":"[Bug]: TUI drops Vietnamese tone marks — IME backspace+char batched in one stdin read is silently discarded","url":null,"state":"closed"},{"kind":"pr","number":53993,"title":"fix(tui): split IME backspace text keypresses","url":null,"state":"closed","close_reason":{"category":"uncategorized","implication":"needs_llm"},"merged":false,"is_fix_pr":true,"fix_tier":"suggested","fix_detail_withheld":true},{"kind":"pr","number":55415,"title":"fix(tui): stop Vietnamese Telex IME from dropping characters","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#86761","number":86761}],"category":"merged_via","implication":"superseded"},"merged":false},{"kind":"pr","number":86760,"title":"fix(desktop): consolidated IME composition handling — Enter guards, keyCode 229, stale-flag self-heal, keybind combos","url":null,"state":"merged","close_reason":{"category":"merged","implication":"superseded"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["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]"]},{"kind":"pr","number":86761,"title":"fix(tui,dashboard): consolidated IME input fixes — Korean/Telex recomposition, return-burst commits, PTY composition forwarding","url":null,"state":"merged","close_reason":{"category":"merged","implication":"superseded"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["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"]}],"trust":{"default_tier":"verified","includes_suggested":false}}