fix: resolve next.js production build compilation errors and worker type mismatches - #1509
thakurakanksha288 wants to merge 4 commits into
Conversation
|
@thakurakanksha288 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. |
✅ PR Format Check Passed — @thakurakanksha288Basic 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. |
👋 Thanks for your PR, @thakurakanksha288!Welcome to Reframe — a browser-based video editor built for everyone 🎬 What happens next
Quick checklist
Useful links
Happy coding! 🎉 |
|
Hi @magic-peach, Thank you for reviewing my PR. I noticed that the checks are currently showing "5 workflows awaiting approval" and the build status is still pending, while Vercel deployment requires authorization. Since external contributor workflows require maintainer approval, could you please approve the pending GitHub Actions workflows so the remaining checks can run? Thank you for your time and support. |
|
hi @magic-peach , kindly review this |
|
hi @magic-peach, kindly merge this under the right labels |
|
Hi @thakurakanksha288 — thanks for this, and sorry for the wait. I'd like to get this merged, but it adds To get it unblocked:
Could you take a look within the next 14 days? If I don't hear back by then I'll close it to keep the queue manageable — but you're very welcome to reopen it any time after that. Thanks again for contributing to Reframe 🙏 |
headers() is silently ignored under output: "export" (see CLAUDE.md). The COOP/COEP headers this added already exist in vercel.json (and now netlify.toml too) — this was dead code that would never actually apply. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01L5gqyU5QKQtLAza6hL6dXv
❌ Deploy Preview for reframe-os failed.
|
|
Made the specific fix that was asked for: removed the That said, this branch has drifted a long way from current |
Resolved merge conflicts against current main (next.config.ts, package.json). Along the way, fixed issues this PR's own changes introduced: - next.config.ts: restored output: "export" (this branch had disabled it to work around headers() being ignored under static export — the correct fix, per earlier maintainer feedback on reframe-oss#1509's identical issue, is to drop the headers() block entirely since those COOP/COEP headers already live in vercel.json/netlify.toml, not to disable static export). - layout.tsx: the merge left duplicate font/ErrorBoundary imports (one pointing at a redundant passthrough wrapper this PR added). Consolidated to the single real ErrorBoundary import. - ExportSettings.tsx / VideoCompressor.tsx: the new Compress Video toggle and preset select had <label> elements not associated with their controls (jsx-a11y/label-has-associated-control) — added matching id/htmlFor pairs. - ExportSettings.stories.tsx: this PR added a required videoFile prop to ExportSettings without updating its story, breaking typecheck. Supplied videoFile: null in the story's args. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01L5gqyU5QKQtLAza6hL6dXv
Description
This PR resolves several critical TypeScript compiler errors, ESLint accessibility blocks, and Webpack caching issues that were preventing the production build (
npm run build) from completing successfully.Changes Made
VideoPreview.tsx: Addressed ESLintjsx-a11yrules for interactive element tracking and matched the framing check to the correct strict"fill" | "fit"types.ffmpeg.worker.ts: Implemented a fallbackWorkerContextinline interface to bypass missing globalDedicatedWorkerGlobalScopetypes without modifying global configuration scopes.constants.ts&frame-export.ts: Unified the recipe data layer by updating legacyrotateproperty references to the typedrotationfield.textOverlay.ts: Addressed an optional fallback block by casting the overlay reference dynamically, and mathematically aligned the FFmpeg drawtext coordinates (tw/2,th/2) with the UI's center-origin layout.Verification
npm run buildwith zero compilation errors.closes #1409