Skip to content

fix(producer): reject asset media type mismatches - #2937

Open
jrusso1020 wants to merge 3 commits into
mainfrom
fix/media-type-preflight
Open

fix(producer): reject asset media type mismatches#2937
jrusso1020 wants to merge 3 commits into
mainfrom
fix/media-type-preflight

Conversation

@jrusso1020

@jrusso1020 jrusso1020 commented Jul 31, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Classify localized local assets from ffprobe streams and container signatures, including extensionless media, AVIF, multiple video streams, attached cover art, and structurally complete PNG fallback.
  • Fail image, video, and audio element mismatches early with stable ASSET_MEDIA_TYPE_MISMATCH metadata.
  • Preserve missing, corrupt, remote-at-runtime, and unprobeable assets on their existing downstream error paths.
  • Run preflight after static compilation and again after browser reconciliation so the known videoCount=0 image-probe case is covered.

Ownership and retry policy

Deterministic media-type mismatches are owner=user and retryable=false. Error transport is allowlisted and bounded; raw source URLs and paths are never included.

Validation

  • Targeted media profile and preflight suites: 50 passing.
  • Full engine suite: 1,240 passing, 3 skipped.
  • Full producer unit lane: 464 Vitest tests plus all Bun unit files passing.
  • Full producer integration lane: all Vitest and Bun integration files passing.
  • Pre-commit lint, format, fallow, and typecheck gates passing; the final documentation-only follow-up used a manual clean tracked-artifact check because the sandbox denied the hook subprocess.
  • Independent adversarial review: no blockers.

Scope

HDR behavior and hyperframes-internal dependency or version changes are intentionally out of scope.

Rollback

Revert this PR (commits 01a55be and 124b4ab). No migration or persisted state is introduced.

Comment thread packages/engine/src/utils/ffprobe.ts Fixed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants