- Real provider validation: Test button now makes actual API calls (OpenAI, Deepgram, ElevenLabs, OpenRouter) instead of just checking if env var is set
- Error handling: dismissible error banner on all save/test failures
- Provider dropdown warns when selected provider has no API key configured
- Signup URLs shown below key input (links to provider developer portals)
- Unconfigured providers show amber "add key" label instead of subtle icon
- Diarize coupling fixed: only auto-enables on "diarized" format, never forces off
- TranscribePage: dynamic provider list, output format selector, sends output_format to backend
- Key overwrite confirmation: first click shows "Replace?", second click saves
- Removed auto-collapse after key save so users can test immediately
- Unified handleSave(Partial<Config>) eliminates duplicate state management
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>