fix: stabilize dub/diarization UI + production deployment + sonitranslate plumbing (#75)

Production deployment hardening, dub OOM recovery, new SoniTranslate sidecar engine, ASR backend expansion.

- Dub generation OOM recovery: backend/api/routers/dub_generate.py:163-209 adds OOM detection + one retry with reduced nstep
- New SoniTranslate sidecar engine: backend/api/routers/sonitranslate.py + backend/services/sonitranslate.py (subprocess-based dubbing pipeline, opt-in)
- ASR backends expansion: backend/services/asr_backend.py adds NeMo Parakeet TDT, Moonshine, additional Whisper variants; new GET /system/asr-backends endpoint
- Dub UI polish: tighter spacing in DubSegmentRow.css, DubTab.css

Issue #78 (speaker diarization mis-assignment) NOT addressed by this PR — the bundled diarization changes are in the new SoniTranslate sidecar, not the existing pyannote pipeline. Keeping #78 open.

No DB schema changes, no migration. Backward-compatible for existing user data.
This commit is contained in:
Palash Debnath
2026-05-18 16:30:46 +05:30
committed by GitHub
parent d9467cfee0
commit 141546b8a7
15 changed files with 890 additions and 70 deletions
+2
View File
@@ -106,3 +106,5 @@ research/
!.planning/research/**
marketing.md
.coverage
engines/
engines/