video-accessibility/backend/app/api/v1
Vadym Samoilenko f2968a2989 fix(vtt): regenerate descriptive_transcript.txt after PATCH /vtt saves
Bug 1: Editing any AD cue never updated descriptive_transcript.txt in GCS.
Bug 2A: Uploading replacement CC or AD .vtt had the same root cause.

After saving captions or AD VTT, read the other stream from GCS if not
provided in the request, merge both via generate_descriptive_transcript(),
upload the result to {job_id}/{lang}/descriptive_transcript.txt, and
update lang_output["descriptive_transcript_gcs"] before the DB write.

Bug 2B (CC-only job → 400 on empty audio_description_vtt): already fixed
by the existing `if request.audio_description_vtt:` guard (empty string
and None are both falsy) and frontend `adVtt || undefined` sending no
field rather than an empty string.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-01 12:03:35 +01:00
..
routes_admin.py fix(authz): MT-3/6/7/8 org isolation + P1 English-first QC enforcement 2026-05-01 11:43:10 +01:00
routes_admin_production.py feat(ux): T-2/PR-7/PR-8 — status color helper, queue stats widget, upload-final-VTT override 2026-04-30 11:12:36 +01:00
routes_auth.py feat(mt-16): JWT org_ids claim + transient user.org_ids in deps 2026-04-29 20:46:39 +01:00
routes_briefs.py feat(briefs+notify+downloads): fix projects dropdown, add assignee, expand languages, fix PM email, add Download All 2026-04-30 21:47:28 +01:00
routes_clients.py feat(briefs+notify+downloads): fix projects dropdown, add assignee, expand languages, fix PM email, add Download All 2026-04-30 21:47:28 +01:00
routes_files.py chore: push all session changes — backend hardening, tests, apache config, deploy scripts 2026-04-30 15:52:14 +01:00
routes_glossaries.py chore: push all session changes — backend hardening, tests, apache config, deploy scripts 2026-04-30 15:52:14 +01:00
routes_invitations.py chore: push all session changes — backend hardening, tests, apache config, deploy scripts 2026-04-30 15:52:14 +01:00
routes_jobs.py fix(vtt): regenerate descriptive_transcript.txt after PATCH /vtt saves 2026-05-01 12:03:35 +01:00
routes_language_qc.py chore: push all session changes — backend hardening, tests, apache config, deploy scripts 2026-04-30 15:52:14 +01:00
routes_organizations.py chore: push all session changes — backend hardening, tests, apache config, deploy scripts 2026-04-30 15:52:14 +01:00
routes_review_notes.py fix(authz): MT-3/6/7/8 org isolation + P1 English-first QC enforcement 2026-05-01 11:43:10 +01:00
routes_share.py fix(lint): restore baseline lint count — no new errors introduced 2026-04-29 19:16:35 +01:00
routes_tts.py chore: push all session changes — backend hardening, tests, apache config, deploy scripts 2026-04-30 15:52:14 +01:00
routes_vtt_versions.py fix(authz): MT-3/6/7/8 org isolation + P1 English-first QC enforcement 2026-05-01 11:43:10 +01:00
routes_websockets.py fix(authz): MT-3/6/7/8 org isolation + P1 English-first QC enforcement 2026-05-01 11:43:10 +01:00