Skip to content

Local STT (Argmax sidecar) ignores spoken_languages — no language param in WebSocket URL #4675

@adhdvital

Description

@adhdvital

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

  1. Set Settings > Language & Vocabulary > Spoken languages: Ukrainian (uk)
  2. Start a recording session with Ukrainian speech
  3. 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

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

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status

    Backlog

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions