Skip to content

fix: restore production exports and patch dependencies - #33

Open
builtbyrishabh wants to merge 3 commits into
mainfrom
fix/remotion-export-root
Open

builtbyrishabh wants to merge 3 commits into
mainfrom
fix/remotion-export-root

Conversation

@builtbyrishabh

@builtbyrishabh builtbyrishabh commented Oct 1, 2026 •

Copy link
Copy Markdown
Owner

Production MP4 exports failed because the Remotion entry point did not register a composition. Register AnimeRoom from the saved manifest, calculate its duration, and limit Lambda fan-out to five workers for the current AWS quota. Patch Next.js 15, Sharp, and compatible transitive dependencies to remove the critical audit findings.

Validation: type checking, lint, formatting, all 25 tests, and production build pass. A private video generated in production exported successfully as a 42-second MP4; the download returns HTTP 200. The renderer site and a 300-second Lambda function are deployed separately and configured in Vercel.

CI remains blocked by two high advisories in Remotion's transitive extract-zip dependency, which has no published patched version. The audit now reports zero critical findings and two high findings, down from two critical and 44 high. Vercel preview passes.

@vercel

vercel Bot commented Oct 1, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
anime-room Ready Ready Preview Oct 1, 2026 9:11am UTC

@coderabbitai

coderabbitai Bot commented Oct 1, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

Navigate logical layers of code changes, visualize relationships, and explore their blast radius.

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Advanced

Run ID: f43b2dff-2b77-4665-815f-179c996ced77

📥 Commits

Reviewing files that changed from the base of the PR and between 8c6bd2c and af0412e.

📒 Files selected for processing (1)
  • src/remotion/Root.tsx

Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review.

📜 Recent review details
⏰ Context from checks skipped due to timeout. (1)
  • GitHub Check: verify
🔇 Additional comments (2)
src/remotion/Root.tsx (2)

1-50: LGTM!


53-55: 🎯 Functional Correctness

The concern is refuted. calculateTotalDurationFrames sums the same ready sections that LiveComposition renders, in the same order. Each durationFrames value and totalDurationFrames are schema-constrained to integers. The pipeline recomputes totalDurationFrames before emitting state, so the inspected pipeline does not derive it from unrounded audio seconds.


📝 Summary

Summary by CodeRabbit

  • New Features
    • Added the Anime Room composition to the available previews, using live composition state and empty initial preview values.
  • Improvements
    • The composition duration now follows the supplied total frame count, with a minimum of one frame. This keeps the preview length aligned with the frame data provided for the composition.

Walkthrough

The Remotion root now registers an AnimeRoom composition with preview-state defaults. It derives the composition duration from totalDurationFrames, with a minimum of one frame, and removes the previous placeholder setup and audio-duration calculation.

Changes

Composition registration

Layer / File(s) Summary
Register AnimeRoom composition
src/remotion/Root.tsx
The root registers LiveComposition with LiveStateType preview defaults. It sets the duration from totalDurationFrames, with a one-frame minimum, and removes the placeholder props and audio-duration calculation.

Priority: ➖ Normal

Estimated code review effort: 2 (Simple) | ~10 minutes

Change: Bug fix

Merge Risk: ⚪ Minimal · up to af041

The export entry point now registers the AnimeRoom composition. Its length comes from the manifest's total frame count, which the pipeline computes from the same sections the video renders. No merge-blocking risk remains.

Security Architecture Review

Security architecture risk: 🔵 Low · up to af041

The restored export path uses existing rendering components and inert preview defaults. No security vulnerability was established, but caller authorization, asset restrictions and export resource limits could not be verified.

Retained concerns
No architecture-level concerns identified.

Security review details

Security Blast Radius

  • inferred — The established exposure is the restored composition's consumption of manifest-selected durations and asset references. Maximum independently attackable scope remains unknown because upstream callers, tenant boundaries, execution credentials and network permissions were not established.

Trust Boundaries and Controls

  • inferred — Upstream enforcement determines whether untrusted callers can select manifests, assets or expensive timelines. The adapter performs no such enforcement itself, but a framework composition is not evidence of unauthenticated network access. Available evidence does not establish a bypass or prove exposure unchanged from the inactive base registration.
🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 50.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 2 functions across 1 files. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Title check ✅ Passed The title accurately identifies the main change: restoring production exports. It also mentions dependency patches described in the pull request.
Description check ✅ Passed The description directly explains the composition registration, export duration, Lambda worker limit, dependency patches, and validation results.
  • Fix all pre-merge checks with AI
✨ Finishing Touches 💡 1
📝 Generate docstrings 💡
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Autopilot is currently an internal CodeRabbit preview.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

A rabbit checks the frame count twice
One frame keeps the scene alive
AnimeRoom now takes the stage
Preview states are set in place
Old audio math hops away
The root is ready for its play

Comment @coderabbitai help to get the list of available commands.

@builtbyrishabh builtbyrishabh changed the title fix: restore Remotion export entry point fix: restore production exports and patch dependencies Oct 1, 2026

This branch was successfully deployed

1 active deployment
Preview — 9df23375 Deployed Oct 1, 2026 by vercel[bot]
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.

1 participant