Skip to content

fix(ffmpeg): add structured load errors, retries, and troubleshooting…#1170

Open
Viraj0711 wants to merge 4 commits into
magic-peach:mainfrom
Viraj0711:fix/bug-Stabilize-FFmpeg-load-error-handling-and-user-message
Open

fix(ffmpeg): add structured load errors, retries, and troubleshooting…#1170
Viraj0711 wants to merge 4 commits into
magic-peach:mainfrom
Viraj0711:fix/bug-Stabilize-FFmpeg-load-error-handling-and-user-message

Conversation

@Viraj0711
Copy link
Copy Markdown

@Viraj0711 Viraj0711 commented May 25, 2026

Title

Fix FFmpeg load failures with retries and recovery UI


Description

This PR improves FFmpeg.wasm loading reliability and makes export failures easier to recover from. Instead of surfacing a generic failure when the FFmpeg core fails to download or initialize, the loader now produces structured errors with machine-readable codes and user-friendly messages.

It also adds automatic retry logic with exponential backoff for transient load issues, so temporary network/CDN problems don’t immediately break exports. On the UI side, export failures now show a clearer message, a retry action, and a troubleshooting link instead of exposing technical details to users.


What changed

-Added structured FFmpegLoadError metadata in ffmpeg.ts
-Added retry handling with exponential backoff for FFmpeg loading
-Improved export error handling in useVideoEditor.ts
-Updated the export error UI in VideoEditor.tsx
-Added FFmpeg troubleshooting docs in ffmpeg-troubleshooting.md
-Added/updated tests for retry, timeout, and failure cases


Validation

-Ran targeted Vitest coverage for FFmpeg helper and loader tests
-Confirmed the new FFmpeg-related TypeScript errors were resolved

Closes #1165

@vercel
Copy link
Copy Markdown

vercel Bot commented May 25, 2026

@Viraj0711 is attempting to deploy a commit to the magic-peach1's projects Team on Vercel.

A member of the Team first needs to authorize it.

@github-actions
Copy link
Copy Markdown
Contributor

👋 Thanks for your PR, @Viraj0711!

Welcome to Reframe — a browser-based video editor built for everyone 🎬

What happens next

  1. 🤖 Automated checks — build & TypeScript typecheck will run automatically
  2. Vercel preview — a preview deployment will be created (requires maintainer authorization for fork PRs)
  3. 👀 Code review — a maintainer will review your changes
  4. 🚀 Merge — once approved, your PR will be merged!

Quick checklist

  • PR title follows Conventional Commits (e.g. feat: add dark mode)
  • Linked the issue this PR closes (e.g. Closes #123)
  • Tested the changes locally (bun run dev)
  • Build passes (bun run build)

Useful links

Happy coding! 🎉

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 25, 2026

✅ PR Format Check Passed — @Viraj0711

Basic format checks passed. A maintainer will review your code changes.

This does not mean the PR is approved — it just means the format is correct.

@github-actions github-actions Bot added level:advanced Advanced level - 55 pts type:bug Bug fix type:design UI/UX design type:docs Documentation type:testing Testing labels May 25, 2026
@Viraj0711
Copy link
Copy Markdown
Author

label: gssoc'26

…ps and functionality, and update FFmpeg load options
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

level:advanced Advanced level - 55 pts type:bug Bug fix type:design UI/UX design type:docs Documentation type:testing Testing

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[BUG]: Stabilize FFmpeg load error handling and user message

1 participant