Skip to content

Omi Web ignores selected transcription language; recorder always sends language=multi #4808

@omi-discord-vector

Description

@omi-discord-vector

User impact

Users set transcription language to German in Omi Web, but transcription still comes out English.

Root cause (likely)

Web settings "Primary Language" updates /v1/users/language, but the recorder uses getTranscriptionPreferences() and expects prefs.language:

  • web/app/src/hooks/useRecording.ts
    • const prefs = await getTranscriptionPreferences();
    • language = prefs.language || 'multi';

However backend GET /v1/users/transcription-preferences returns only:

  • single_language_mode
  • vocabulary

See backend/routers/users.py (TranscriptionPreferencesResponse). No language field is returned, so prefs.language is undefined → fallback to multi → auto-detect → often English.

Repro

  1. In Omi Web Settings → set Primary Language = German.
  2. Start recording.
  3. Observe socket sends language=multi and transcription outputs English.

Fix options

  1. Web fix (preferred): fetch language from /v1/users/language (or user profile) and pass that into createTranscriptionSocket.
  2. Backend fix: add language to transcription-preferences response + persist it there; update web accordingly.

Files

  • web/app/src/hooks/useRecording.ts
  • web/app/src/components/settings/SettingsPage.tsx (calls setUserLanguage → /v1/users/language)
  • web/app/src/lib/api.ts (getUserLanguage/setUserLanguage, getTranscriptionPreferences)
  • backend/routers/users.py (transcription-preferences response model)

Metadata

Metadata

Assignees

Labels

captureLayer: Audio recording, device pairing, BLEp2Priority: Important (score 14-21)

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions