[pull] main from remotion-dev:main#846
Merged
Merged
Conversation
Document why overrideIdToNodePathMappings is omitted from the subscription effect deps. Add an e2e test that verifies stack recovery and expanded timeline state after the issue #7393 refactor. Co-authored-by: Cursor <cursoragent@cursor.com>
Replace the exhaustive-deps suppression by updating nodePathAtResubscribeRef when the subscription location changes, so applyEach can migrate expanded state without re-subscribing on unrelated mapping updates. Co-authored-by: Cursor <cursoragent@cursor.com>
…tion Stop calling setOverrideIdToNodePath when the subscription key is unchanged, which prevented applyEach from firing redundant state updates on every re-acquire. Snapshot the node path when the location effect runs instead of during render, and stabilize the effects dependency with a signature. Co-authored-by: Cursor <cursoragent@cursor.com>
…n effect Satisfy react-hooks/exhaustive-deps without re-subscribing when unrelated sequences update their node path mappings. Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
…re-render Co-authored-by: Cursor <cursoragent@cursor.com>
Run the effect chain after decoding each frame to an offscreen canvas, re-draw when effects change, and add an example composition to compare plain vs blur+tint animated GIF rendering. Closes #7407 Co-authored-by: Cursor <cursoragent@cursor.com>
The package builds to `dist/cjs`, but `.npmignore` only excluded `dist/test/**`, so the newly added test files landed in `dist/cjs/test` and got published. Also excludes `vitest.config.ts`. Matches the convention used by core, player, lottie and noise. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…errors Create all ancestor directories before mkDir and include Vercel Sandbox API error bodies in thrown errors. Fixes #7428. Co-authored-by: Cursor <cursoragent@cursor.com>
…-test-files `@remotion/layout-utils`: Don't publish test files
Share one SSE connection between previewEntry HMR bootstrap and PreviewServerConnection to avoid duplicate server clients and double HMR processing. Fixes #7405 Co-authored-by: Cursor <cursoragent@cursor.com>
Use a shared getStack function reference so toEqual matches the callback preserved by calculateTimeline. Co-authored-by: Cursor <cursoragent@cursor.com>
Bumps [ws](https://github.com/websockets/ws) from 8.17.1 to 8.20.1. - [Release notes](https://github.com/websockets/ws/releases) - [Commits](websockets/ws@8.17.1...8.20.1) --- updated-dependencies: - dependency-name: ws dependency-version: 8.20.1 dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com>
…atory effect params Add optional `validateParams` to `createEffect` and use it for tint, blur, and starburst so missing required arguments throw at factory call time instead of silently applying defaults. Fixes #7392 Co-authored-by: Cursor <cursoragent@cursor.com>
Move the effect enable/disable control to the left edge of effect rows so it lines up with the eye and speaker icons on track rows. Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Patches remotion/Root.tsx when POST /api/create-folder succeeds by cloning the empty composition, pre-populating a default videoscene, and injecting it above the template. Idempotent with a manual fallback when Root.tsx cannot be parsed. Moved from remotion-dev/recorder#147 / #148. Co-authored-by: Cursor <cursoragent@cursor.com> Co-authored-by: migi <64385774+0xmigi@users.noreply.github.com>
Replace fragile string-based Root.tsx cloning with StudioServerInternals.parseAndApplyCodemod, updateDefaultProps, and formatOutput so new folders get the same AST edits as Studio. Co-authored-by: Cursor <cursoragent@cursor.com> Co-authored-by: migi <64385774+0xmigi@users.noreply.github.com>
…-with-visibility `@remotion/studio`: Align timeline effect toggle with visibility toggles
`@remotion/studio`: Recover from lost stack
…ckages/template-electron/ws-8.20.1 Bump ws from 8.17.1 to 8.20.1 in /packages/template-electron
Co-authored-by: pullfrog[bot] <226033991+pullfrog[bot]@users.noreply.github.com>
Auto-register Composition in Root.tsx on "New Folder"
…irs-7428 `@remotion/vercel`: Fix nested bundle upload and surface sandbox API errors
…mental-effects `remotion`: Add _experimentalEffects support to AnimatedImage
Co-authored-by: Cursor <cursoragent@cursor.com>
Move TIMELINE_INDENT into its own module so Padder and TimelineExpandedRow no longer import from TimelineListItem, breaking a cycle that could leave Padder undefined at runtime and crash the timeline with an invalid element type. Co-authored-by: Cursor <cursoragent@cursor.com>
When enableHotMiddleware() connects before React mounts, the init message can arrive before PreviewServerConnection subscribes. Replay it on subscribe so undo/redo state still syncs, and ensure the EventSource opens from the connection-state subscription too. Co-authored-by: Cursor <cursoragent@cursor.com>
Revert accidental hook and TimelineExpandedRow changes picked up from the SSE branch base when cherry-picking TimelineListItem. Co-authored-by: Cursor <cursoragent@cursor.com>
…ar-import Fix Studio timeline render crash from circular import
Require validateParams in createEffect and add noop validators for effects with only optional parameters (wave, halftone, light leak). Co-authored-by: Cursor <cursoragent@cursor.com>
Extract the repeating canvas pattern logic from Studio's TimelineImageInfo into timeline-utils so Editor Starter can reuse it alongside the waveform and film strip utilities. Fixes #7441. Co-authored-by: Cursor <cursoragent@cursor.com>
… disconnected Fixes #7437 Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
…nts-sse Consolidate Studio /events into a single EventSource
…hen-disconnected `@remotion/studio`: Hide timeline visibility controls when preview server is disconnected
…tically" Co-authored-by: Cursor <cursoragent@cursor.com>
Canvas dimensions already encode the visualization width, so callers do not need to pass a redundant parameter. Co-authored-by: Cursor <cursoragent@cursor.com>
Fixes #7439 by letting the mandatory webcam panel pick a display source, supporting screen-only recording, and merging a separate mic into screen capture without audio. Co-authored-by: Cursor <cursoragent@cursor.com>
Screen capture and clear are now unconditional in the device picker. Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
…info `@remotion/timeline-utils`: `drawRepeatingImageThumbnail()`
…lly-font-size `@remotion/promo-pages`: Fix hero headline breaking on mobile
…cam-screen-capture Allow screen capture on webcam view in template-recorder
…ms-7392 `remotion`: Validate mandatory effect params
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
See Commits and Changes for more details.
Created by
pull[bot] (v2.0.0-alpha.4)
Can you help keep this open source service alive? 💖 Please sponsor : )