Files
hermes-agent/apps
Teknium 5cbd994575 Port from cloudflare/cloudflare-os#291: IME-aware Enter guards across every desktop text field
Widens the salvaged Kanban fix (PR #94611 by @huklaa) to the whole bug
class, following cloudflare-os PR #291 which centralized one
isImeComposing predicate and swept every Enter-submit site.

- New shared helper src/lib/ime.ts (isImeComposing / isSubmitEnter):
  handles nativeEvent.isComposing (React), event.isComposing (DOM), and
  the legacy Chromium/Safari keyCode 229 commit-Enter that arrives after
  compositionend.
- Sweeps 21 previously unguarded Enter-submit sites: dialogs (project,
  worktree, profile-remote-override, pet rename), settings fields
  (credential keys, model API key, quick-entry shortcut, attachment
  size, combobox), quick entry, pet overlay composer, pet generate +
  hatch, review ship bar, file rename, preview browser address bar,
  model catalog menu, MCP setup + approval strips, Kanban drawer.
- Upgrades two partial guards (onboarding, session-actions-menu) that
  checked isComposing but missed keyCode 229.
- find-in-page: Enter step no longer fires mid-composition (typed CJK
  search queries jumped the viewport on every conversion commit).

Validation: tsc clean, eslint clean, 135 tests green across ime/find-bar/
composer/kanban suites; sabotage run (guard removed) fails the new test.
2026-09-13 21:10:27 -07:00
..