What's Changed
Bug Fixes
- System Health Alerts: Fixed master toggle turning back on after every server restart. Alert toggle state is now written directly to the database (targeted key write) instead of through the bulk in-memory options save, so the setting correctly survives restarts.
- AssemblyAI: Fixed 400 error —
speech_modelsfield re-added to transcription request, defaulting touniversal-2. Configurable via admin UI (universal-2 or universal-3-pro). - Whisper API GPT Models: Fixed
response_format 'verbose_json' is not compatibleerror for GPT-4o-transcribe and GPT-4o-mini-transcribe models. These models now automatically usejsonformat. - Admin API Keys: API key cell is no longer truncated and read-only. Keys are now fully visible, editable, and copyable via a password-style input with visibility toggle.
- P25 Talker Aliases: Unit labels transmitted with calls (talker aliases) are now parsed, stored in the database, and displayed in the frontend, taking priority over static unit lookups.
Technical
- Fixed Go compiler error:
languagevariable redeclared intranscription_whisper_api.go - Database migration added for
callUnits.labelcolumn RdioScannerCallSourceTypeScript interface updated withtag?: string