Skip to content

remotion.dev/convert: Fall back to in-memory target if Web FS is not available#7015

Merged
JonnyBurger merged 1 commit intomainfrom
fix/safari-webfs-check
Apr 7, 2026
Merged

remotion.dev/convert: Fall back to in-memory target if Web FS is not available#7015
JonnyBurger merged 1 commit intomainfrom
fix/safari-webfs-check

Conversation

@JonnyBurger
Copy link
Copy Markdown
Member

Summary

  • Fixes the canUseWebFsWriter check across @remotion/webcodecs, @remotion/web-renderer, and @remotion/template-recorder to actually try calling fileHandle.createWritable() instead of just checking !== undefined. Safari partially supports OPFS but createWritable() is not functional, causing the old check to incorrectly return true.
  • Adds an in-memory buffer fallback to @remotion/convert so conversions work in Safari and other browsers that lack createWritable() support.

Closes #7003

Test plan

  • Verified the check now catches the case where createWritable exists on the prototype but throws when called
  • Test in Safari: conversion should fall back to in-memory buffer instead of crashing
  • Test in Chrome: conversion should continue to use the Web FS API as before

Made with Cursor

@pullfrog
Copy link
Copy Markdown
Contributor

pullfrog bot commented Apr 6, 2026

Reviewed PR #7015 — approved with no issues. The detection change from property existence check to actual createWritable() invocation correctly handles Safari's partial OPFS support, and the in-memory buffer fallback in @remotion/convert is well-implemented with proper position-based writes and consistent return type contract.

Task list (3/3 completed)
  • Checkout PR and read the diff
  • Review each changed file in depth
  • Self-critique and submit review

Pullfrog  | View workflow run | Triggered by Pullfrog | Using Big Pickle (free) | 𝕏

@JonnyBurger JonnyBurger enabled auto-merge (squash) April 6, 2026 12:24
@vercel
Copy link
Copy Markdown
Contributor

vercel bot commented Apr 6, 2026

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

Project Deployment Actions Updated (UTC)
bugs Ready Ready Preview, Comment Apr 7, 2026 7:21am
1 Skipped Deployment
Project Deployment Actions Updated (UTC)
remotion Skipped Skipped Apr 7, 2026 7:21am

Request Review

Copy link
Copy Markdown
Contributor

@pullfrog pullfrog bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed — no issues found.

Pullfrog  | View workflow run | Using Big Pickle (free) | 𝕏

@JonnyBurger JonnyBurger changed the title @remotion/webcodecs: Fix Web FS API detection in Safari remotion.dev/convert: Fall back to in-memory target if Web FS is not available Apr 7, 2026
Probe createWritable() before using OPFS; use a growing Uint8 buffer and
return a File for download/use-as-input when the probe fails (e.g. Safari).

Made-with: Cursor
@JonnyBurger JonnyBurger force-pushed the fix/safari-webfs-check branch from 653848a to 728d70c Compare April 7, 2026 07:20
@vercel vercel bot temporarily deployed to Preview – remotion April 7, 2026 07:20 Inactive
@JonnyBurger JonnyBurger merged commit 68c43c3 into main Apr 7, 2026
16 checks passed
@JonnyBurger JonnyBurger deleted the fix/safari-webfs-check branch April 7, 2026 07:26
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.

@remotion/convert: Safari fails — FileSystemFileHandle.createWritable is not a function

1 participant