← Back to PRs

#10012: Webui voice

by nanxiacc open 2026-02-06 01:04 View on GitHub →
app: web-ui stale
feat: Add voice input support to Web UI <!-- greptile_comment --> <h2>Greptile Overview</h2> <h3>Greptile Summary</h3> This PR adds voice dictation support to the Web UI chat composer. It introduces a mic toggle button in `ui/src/ui/views/chat.ts`, wires recording state and the toggle handler through `ui/src/ui/app-render.ts`, and implements `toggleRecording()` in `ui/src/ui/app.ts` using the browser `SpeechRecognition`/`webkitSpeechRecognition` APIs to update `chatMessage` with interim transcription results. It also adds `mic`/`micOff` icons (`ui/src/ui/icons.ts`), updates the changelog, and ignores `.trae/` artifacts via `.gitignore`. <h3>Confidence Score: 3/5</h3> - Moderately safe to merge after fixing a couple of correctness issues in the Web UI voice wiring. - Changes are localized, but `AppViewState`→`OpenClawApp` casting in the renderer can cause runtime crashes if `renderApp` is used with a non-`OpenClawApp` state, and SpeechRecognition instance lifecycle handling can lead to inconsistent recording state after automatic end/error events. - ui/src/ui/app.ts and ui/src/ui/app-render.ts <!-- greptile_other_comments_section --> <sub>(2/5) Greptile learns from your feedback when you react with thumbs up/down!</sub> <!-- /greptile_comment -->

Most Similar PRs