mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-07-31 19:16:29 +00:00
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. |
||
|---|---|---|
| .. | ||
| app | ||
| assets/tiers | ||
| components | ||
| contrib | ||
| debug | ||
| fonts | ||
| hooks | ||
| i18n | ||
| lib | ||
| plugins | ||
| sdk | ||
| store | ||
| themes | ||
| types | ||
| global.d.ts | ||
| hermes-cron-scope.test.ts | ||
| hermes-parity.test.ts | ||
| hermes-profile-scope.test.ts | ||
| hermes.test.ts | ||
| hermes.ts | ||
| main.tsx | ||
| styles.css | ||
| vite-env.d.ts | ||
| webhooks-rest.test.ts | ||