- Use Bun 1.x and Node.js 20.9 or newer (
bun --version,node --version). Don't use npm or yarn: the project usesbun.lockonly. - Run
bun install --frozen-lockfile. It installs exactly whatbun.locklists, the same as CI. - If it still fails, don't delete
bun.lock(that pulls in different versions and hides the real problem). Open an issue with the full error output, your OS and the Bun and Node versions.
package.json and bun.lock disagree. If you changed dependencies, run
bun install (without --frozen-lockfile) and commit the updated bun.lock
with your change. If you didn't, your branch is behind main: merge main.
- Copy
.env.exampleto.env.local. All keys are optional; without the Datadog ones, telemetry is simply off. - Restart
bun run dev: environment variables are read only at startup.
The fast multi-threaded engine needs the page to be cross-origin isolated
(COOP/COEP headers). bun run dev doesn't send them. To test the
multi-threaded engine, build and serve the static export with the headers:
bun run build
node scripts/serve-isolated.mjs # http://127.0.0.1:4173See DEPLOYMENT.md for hosting.
Reframe stops it after a while and, on the multi-threaded engine, retries on the single-threaded one automatically. If that also stalls you'll see a message with Retry export. Large files need a lot of memory: close other tabs, or trim the clip or lower the output resolution first.
The FFmpeg worker stays loaded across Fast Refresh. Reload the page fully.
bun install --frozen-lockfile
bun run devbun run test for unit tests, and bunx playwright test for the end-to-end
export tests (see CONTRIBUTING.md for the
one-time setup).
Open an issue with the steps to reproduce, what you expected, what happened, your browser and OS, and the console error if there is one. Please don't attach private videos.
No. Videos are processed on your device. Reframe sends anonymous performance and error data, which you can turn off under Settings (the privacy page). See DATADOG.md for exactly what is sent.