Skip to content

MP4 export silently disappears when the video fetch fails #436

Closed

Description

@thcp

Split out of #435, which fixed the option drift that caused this but not the silence itself.

_download_video_track in app/pipeline/download.py is best-effort by design: the audio pipeline must not fail because a video stream could not be fetched. So it catches Exception, logs a warning, drops any partial file, and leaves has_video False.

That part is right. The problem is what the user sees, which is nothing.

The job completes as "done". The MP4 export option is simply absent from the UI. There is no error, no notification, and no hint that anything was attempted. Someone who imported a track specifically to export a karaoke video has no way to tell the difference between "this track never had video" and "the video fetch failed".

Nobody would report this, because nothing tells them there is anything to report. I only found it reading the code.

Proposed fix:

  • record why video is unavailable on the job (fetched OK / no MP4 stream offered / fetch failed), rather than collapsing every outcome into has_video = False
  • surface the failure case in the UI where the export option would have been, using the existing i18n cause-code pattern rather than an English string from the server
  • keep the failure non-fatal, exactly as now

Deliberately not proposed: retrying, or failing the job. A missing MP4 export is an inconvenience, not a reason to throw away a successful separation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions