-
Notifications
You must be signed in to change notification settings - Fork 562
Description
Bug Description
When using local STT (Argmax WhisperKit sidecar), Char does not pass the language parameter to the WebSocket connection URL. This causes Whisper to auto-detect language instead of using the user's configured spoken_languages setting.
Steps to Reproduce
- Set Settings > Language & Vocabulary > Spoken languages: Ukrainian (
uk) - Start a recording session with Ukrainian speech
- Observe transcript is in English (translated from Ukrainian instead of transcribed)
Root Cause
The WebSocket connection in the Argmax adapter (crates/owhisper-client/src/adapter/argmax/live.rs) connects to:
ws://localhost:{PORT}/v1/listen
without appending ?language=uk or any language parameter.
The sidecar (WhisperKit v1.11.4) does accept the language query parameter (confirmed by manual WebSocket connection test with ?language=uk), but Char never passes it.
Evidence from Logs
ws_client::retry: connect_async: ws://localhost:54884/v1/listen
No query parameters present.
Expected Behavior
The WebSocket URL should include the configured language:
ws://localhost:{PORT}/v1/listen?language=uk
Additional Context
- Char version: Nightly (com.hyprnote.nightly)
- Model: openai_whisper-large-v3-v20240930_626MB
- macOS Sequoia
spoken_languages: ["uk"]andai_language: "uk"are correctly saved insettings.jsonbut never read by the Argmax adapter- Related issues: Language setting reverts to Polish after tab navigation #4570 (language setting reverts), Language mismatch guidance #3133 (language mismatch guidance)
Suggested Fix
In crates/owhisper-client/src/adapter/argmax/live.rs, read the spoken_languages setting and append it as a query parameter to the WebSocket URL when connecting to the local sidecar.
Metadata
Metadata
Assignees
Labels
Type
Projects
Status