Skip to content

Commit 26b78d5

Browse files
authored
fix: web recorder ignores selected transcription language, always sends multi (#5547)
## Cause `GET /v1/users/transcription-preferences` never returned the `language` field, so `prefs.language` was always `undefined` in the recorder. This caused the WebSocket to fall back to `language=multi` (auto-detect), overriding whatever language the user had set in Settings. ## Fix - Added `language` field to `TranscriptionPreferencesResponse` in `backend/routers/users.py` - Updated `get_user_transcription_preferences` in `backend/database/users.py` to read and return the top-level `language` field from the user document ## Demo **Before** https://github.com/user-attachments/assets/2f66ab73-e674-4255-9603-4acc33d3b777 **After** https://github.com/user-attachments/assets/594a4b05-9559-4d8d-a67f-42c395b4f5e3 closes #4808
2 parents 43bc936 + ec35510 commit 26b78d5

File tree

2 files changed

+4
-2
lines changed

2 files changed

+4
-2
lines changed

backend/database/users.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -997,7 +997,7 @@ def get_user_transcription_preferences(uid: str) -> dict:
997997
Get the user's transcription preferences.
998998
999999
Returns:
1000-
dict with 'single_language_mode' (bool) and 'vocabulary' (List[str])
1000+
dict with 'single_language_mode' (bool), 'vocabulary' (List[str]), and 'language' (str)
10011001
"""
10021002
user_ref = db.collection('users').document(uid)
10031003
user_doc = user_ref.get()
@@ -1008,9 +1008,10 @@ def get_user_transcription_preferences(uid: str) -> dict:
10081008
return {
10091009
'single_language_mode': prefs.get('single_language_mode', False),
10101010
'vocabulary': prefs.get('vocabulary', []),
1011+
'language': user_data.get('language', ''),
10111012
}
10121013

1013-
return {'single_language_mode': False, 'vocabulary': []}
1014+
return {'single_language_mode': False, 'vocabulary': [], 'language': ''}
10141015

10151016

10161017
def get_agent_vm(uid: str) -> Optional[dict]:

backend/routers/users.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -498,6 +498,7 @@ def set_user_language(data: dict, uid: str = Depends(auth.get_current_user_uid))
498498
class TranscriptionPreferencesResponse(BaseModel):
499499
single_language_mode: bool = False
500500
vocabulary: List[str] = []
501+
language: str = ''
501502

502503

503504
class TranscriptionPreferencesUpdate(BaseModel):

0 commit comments

Comments
 (0)