fix: language enum coercion, preview logging, file picker

- form.py: convert language string to Language enum at all entry points
- conversion_request.py: add _coerce_enums() for defense-in-depth
- synthesize.py: fix NameError (lang -> language) in preview pipeline
- voice.py: render LANGUAGE_DESCRIPTIONS keys as .value strings for Jinja
- dashboard.js: open file picker on dropzone click
- api.py: add logging to preview endpoint for debugging
This commit is contained in:
Artem Akymenko
2026-07-29 10:57:21 +00:00
parent 2b70b9ca45
commit c706f7714a
6 changed files with 51 additions and 5 deletions
+1 -1
View File
@@ -578,7 +578,7 @@ def template_options() -> Dict[str, Any]:
)
voice_catalog = build_voice_catalog()
return {
"languages": LANGUAGE_DESCRIPTIONS,
"languages": {lang.value: label for lang, label in LANGUAGE_DESCRIPTIONS.items()},
"voices": get_voices("kokoro"),
"subtitle_formats": SUBTITLE_FORMATS,
"supported_langs_for_subs": SUPPORTED_LANGUAGES_FOR_SUBTITLE_GENERATION,