feat: add export history panel with re-download support#779
feat: add export history panel with re-download support#779imuniqueshiv wants to merge 2 commits into
Conversation
|
@imuniqueshiv 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. |
👋 Thanks for your PR, @imuniqueshiv!Welcome to Reframe — a browser-based video editor built for everyone 🎬
What happens next
Quick checklist
Useful links
Happy coding! 🎉 |
✅ PR Format Check Passed — @imuniqueshivBasic 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. |
|
@imuniqueshiv please resolve conflicts |
|
Hey @imuniqueshiv! The ExportHistory component looks great — the design is clean and the UX is solid. However there are two regressions in this PR that need to be fixed before merging: 1. M-key mute shortcut removed The 2. Blob URL leak in The - const reset = useCallback(() => {
- if (result?.blobUrl) URL.revokeObjectURL(result.blobUrl);
+ const reset = useCallback(() => {
setFile(null);This will leak memory on every export-then-reset cycle. Please restore the 3. Minor: inconsistent indentation in VideoEditor.tsx The new JSX around Please fix these and push an update! |
e6751c6 to
3b9263c
Compare
6532a04 to
908cede
Compare
|
@magic-peach Thanks for the detailed review! I’ve restored the M-key mute shortcut, added the blob URL cleanup back into |
Description
Implemented an export history panel that allows users to re-download previous exports during the current browser session.
Changes made
Added in-memory
exportHistorystate insideuseVideoEditor.tsAdded support for storing up to 5 previous exports
Created a new
ExportHistory.tsxcomponentAdded a collapsible "Recent Exports" panel below the export result section
Added metadata display for:
Added "Download" button to re-trigger downloads using stored blob URLs
Added "Clear History" button
Implemented proper blob URL cleanup when:
Added session-only history notice:
Updated UI styling to match the existing Reframe design system
Testing
bun run lint,bunx tsc --noEmit, andbun run buildall pass successfullyFixes #676
Related Issue
Closes #676
Type of Contribution
Participant Info
Screen Recording
Recording / Loom link:
issue_reframe.1.mp4
Checklist
bun run lintpasses (no ESLint errors)bunx tsc --noEmitpasses (no TypeScript errors)aria-label/ accessible namesconsole.logstatements left in