Skip to content

4.0.0-alpha.2

Pre-release
Pre-release

Choose a tag to compare

@N3XT0R N3XT0R released this 07 Apr 21:47
Immutable release. Only release title and notes can be modified.

This pre-release focuses on improving the robustness, consistency, and evolution capabilities of the video ingest pipeline, while also addressing user experience issues during video uploads.

🔧 Ingest Pipeline Improvements

  • Introduced a new ValidateInputFileStep to ensure that source files exist and are processable before any further ingest steps are executed.
  • Added early pipeline termination for invalid inputs, preventing downstream failures (e.g. hash calculation or preview generation).
  • Introduced an explicit isInvalid state in the ingest context to clearly distinguish invalid inputs from duplicate detection.
  • Improved pipeline control flow to consistently stop processing when a video is marked as invalid or duplicate.

🔁 Pipeline Evolution & Recovery

  • Added support for detecting missing ingest steps based on the current pipeline definition.
  • Enables retroactive execution of newly introduced steps for already processed videos.
  • Introduced a new maintenance command to requeue completed videos with missing steps, allowing safe and incremental pipeline evolution without full reprocessing.

🗂️ Video Lifecycle Handling

  • Switched to soft deletes for videos to prevent immediate data loss.
  • Decoupled logical deletion from physical file removal, preparing the system for deferred cleanup strategies.

📊 Ingest Status Handling

  • Refactored ingest state interpretation into a centralized IngestStateService.
  • Simplified the status query layer (GetVideoIngestStatusUseCase) by delegating state logic.
  • Improved consistency between backend processing state and frontend representation.

⚡ Improved User Experience During Upload

  • Introduced a delayed dispatch for ingest jobs to decouple heavy processing from the request lifecycle.
  • Prevents blocking behavior during video creation (e.g. Filament form submission and redirect).
  • Ensures immediate UI responsiveness while processing continues asynchronously in the background.

ℹ️ If you rely on queue processing, ensure that a proper queue worker is configured (e.g. database or redis driver) and running, as synchronous execution (sync) may block requests.

Full Changelog: 4.0.0-alpha.1...4.0.0-alpha.2