hermes-agent/apps/desktop/src
Teknium 46faa4f639
fix(desktop): keep the wake-word ear mounted everywhere — paused only during voice chat
The ear vanished whenever a voice conversation ran (the ConversationPill
replaces the whole controls row) and whenever a transient start refusal
marked the feature unavailable — so a persistent, config-backed setting
silently disappeared mid-session. The wake word is passive by design:
it should be visibly listening no matter what the GUI is doing, with
exactly one pause state — an active voice chat holding the mic.

- ConversationPill now renders the ear in paused form (disabled, EarOff,
  'paused during voice chat' tooltip) so voice chat shows the listener
  yielding the mic instead of the toggle vanishing.
- WakeWordButton hides only when the feature can't run AND isn't enabled
  in config; $wakeWord gains 'enabled' (config truth from wake.status /
  start/stop responses) so transient 'unavailable' refusals no longer
  unmount the button.
- Busy agent turns never touched the listener (it keeps listening
  through agent loops; wake.detected already opens a fresh session),
  and now they can't hide the toggle either.
- New i18n key wakeWordPausedVoice across en/ja/zh/zh-hant.

Tests: ear mounted during busy turn, mounted through refusal when
config-enabled, hidden when unavailable+disabled, paused ear disabled
inside the pill. 29 vitest green across controls + wake-word store.
2026-07-28 07:59:34 -07:00
..
app fix(desktop): keep the wake-word ear mounted everywhere — paused only during voice chat 2026-07-28 07:59:34 -07:00
assets/tiers feat(desktop): Billing page revamp — current-plan card, in-app plans view, tier art (#68722) 2026-07-22 08:07:52 +05:30
components Merge pull request #73247 from NousResearch/bb/skill-chip-only 2026-07-28 04:22:07 -05:00
contrib feat(desktop): expose ctx.i18n on the plugin SDK 2026-07-19 00:05:08 -04:00
debug fmt(js): npm run fix on merge (#72532) 2026-07-27 07:16:27 +00:00
fonts
hooks perf(desktop): share one ResizeObserver instead of one per consumer 2026-07-26 19:56:55 -05:00
i18n fix(desktop): keep the wake-word ear mounted everywhere — paused only during voice chat 2026-07-28 07:59:34 -07:00
lib feat(desktop): wake-word toggle button in the composer 2026-07-28 07:58:16 -07:00
plugins feat(desktop): plugin manager, runtime loader, and plugins settings 2026-07-13 17:57:53 -04:00
sdk feat(sdk): expose FloatingAnchor to plugins 2026-07-28 01:11:12 -05:00
store fix(desktop): keep the wake-word ear mounted everywhere — paused only during voice chat 2026-07-28 07:59:34 -07:00
themes fix(themes): repaint the desktop on an in-place edit of the active skin 2026-07-22 15:07:03 -05:00
types Merge pull request #73172 from NousResearch/bb/featured-models 2026-07-28 04:09:46 -05:00
global.d.ts feat(desktop): make attachment data-URL size limit configurable (#73221) 2026-07-28 09:10:21 -04:00
hermes-cron-scope.test.ts fix(desktop): scope the cron jobs list to the active profile 2026-07-19 12:19:22 -07:00
hermes-parity.test.ts feat(desktop): CLI/dashboard parity — skills hub, MCP test/toggle/catalog, maintenance ops, log filters (#57441) 2026-07-03 01:02:47 -07:00
hermes-profile-scope.test.ts fix(memory): profile-scope the provider config endpoints 2026-07-07 10:53:43 -04:00
hermes.test.ts refactor(sidebar): drop session counts and the COUNT(*) that fed them 2026-07-26 19:36:08 -05:00
hermes.ts refactor(sidebar): drop session counts and the COUNT(*) that fed them 2026-07-26 19:36:08 -05:00
main.tsx feat(desktop): confirm before quitting with a turn in flight 2026-07-27 15:47:57 -05:00
styles.css Merge pull request #73220 from NousResearch/bb/subagent-runs 2026-07-28 03:22:43 -05:00
vite-env.d.ts
webhooks-rest.test.ts feat(desktop): add Webhooks page for subscription CRUD (#69687) 2026-07-24 14:06:10 -04:00