video-accessibility/backend/app
michael e8b940aee8 feat: add TTS_FAILED status and robust error handling for TTS synthesis
Add comprehensive error handling for TTS synthesis failures:

Backend:
- Add TTS_FAILED status to JobStatus enum for failed synthesis jobs
- Add TTSSynthesisError exception with cue index and context tracking
- Improve null-safe error handling in Gemini TTS response parsing
- Add _synthesize_cue_with_retry() with exponential backoff (3 attempts)
- Enhanced error logging with text preview and model context

Frontend:
- Add TTS_FAILED status styling (red badge) in StatusBadge component
- Add tts_failed to JobStatus TypeScript type

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-30 14:26:07 -06:00
..
__pycache__ fixed middleware silent swallowing of exceptions FINALLY 2025-10-08 18:19:59 -05:00
api/v1 refactor: simplify GCS job deletion to use prefix-based cleanup 2025-12-28 10:07:43 -06:00
core feat: switch Whisper model from large-v3 to medium 2025-12-28 22:35:47 -06:00
lib initial commit 2025-08-24 16:28:33 -05:00
middleware fixed overly aggressive security algorithm 2025-10-08 17:49:20 -05:00
migrations fix: add rendering_video status to MongoDB schema validator 2025-12-27 08:40:23 -06:00
models feat: add TTS_FAILED status and robust error handling for TTS synthesis 2025-12-30 14:26:07 -06:00
prompts feat: improve pause point precision with sentence boundary detection 2025-12-28 14:41:12 -06:00
schemas feat: implement full-gap-overlap algorithm for AD pause insertion 2025-12-28 22:51:49 -06:00
services feat: add TTS_FAILED status and robust error handling for TTS synthesis 2025-12-30 14:26:07 -06:00
tasks feat: add dedicated TTS worker with parallel per-cue synthesis 2025-12-30 14:23:11 -06:00
telemetry initial commit 2025-08-24 16:28:33 -05:00
main.py feat: add video review with timestamped notes to Final Review 2025-12-26 15:30:00 -06:00