fix: prevent waveform OOM on large files#1603
Draft
anirudhu-ui wants to merge 1 commit into
Draft
Conversation
|
@anirudhu-ui 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. |
Contributor
✅ PR Format Check Passed — @anirudhu-uiBasic 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. |
Contributor
👋 Thanks for your PR, @anirudhu-ui!Welcome to Reframe — a browser-based video editor built for everyone 🎬
What happens next
Quick checklist
Useful links
Happy coding! 🎉 |
Author
|
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 join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Fixes #1501
Description
This PR prevents large files from being fully loaded into memory during waveform generation by adding a pre-decode file-size guard before
file.arrayBuffer()is called.When waveform generation is skipped or fails, the editor now shows a graceful fallback message instead of risking a browser freeze or crash. Normal waveform generation for smaller files is preserved.
Type of Contribution
Participant Info
Screen Recording
Recording / Loom link: https://drive.google.com/file/d/1KLARUl0HzdjFo67TPYD9cvigZdtvbSun/view?usp=sharing
Checklist
bun run lintpasses (no ESLint errors)bunx tsc --noEmitpasses (no TypeScript errors)aria-label/ accessible namesconsole.logstatements left inTesting
npm run lintnpx tsc --noEmitnpm testnpm run buildNote: Bun is not installed in my local environment, so I verified with the equivalent npm/npx commands. The PR is kept as draft until the required browser checks are added.