Skip to content

Feat : Added undo/redo for recipe setting changes#393

Open
siddjs19 wants to merge 92 commits into
magic-peach:mainfrom
siddjs19:feat/undo-redo-export
Open

Feat : Added undo/redo for recipe setting changes#393
siddjs19 wants to merge 92 commits into
magic-peach:mainfrom
siddjs19:feat/undo-redo-export

Conversation

@siddjs19
Copy link
Copy Markdown
Contributor

Summary

Implemented undo/redo support for export settings.

Changes

  • Added recipe history stack (max 20 states)
  • Added undo/redo actions
  • Added keyboard shortcuts:
    • Ctrl/Cmd + Z
    • Ctrl/Cmd + Shift + Z
    • Ctrl/Cmd + Y
  • Added undo/redo UI buttons
  • Reset history when uploading a new file or resetting editor

Fixes #108

@github-actions github-actions Bot added enhancement Improvement to existing functionality ui/ux User interface or experience improvement labels May 15, 2026
@github-actions
Copy link
Copy Markdown
Contributor

👋 Thanks for your PR, @siddjs19!

Welcome to Reframe — a browser-based video editor built for everyone 🎬

What happens next

  1. 🤖 Automated checks — build & TypeScript typecheck will run automatically
  2. Vercel preview — a preview deployment will be created (requires maintainer authorization for fork PRs)
  3. 👀 Code review — a maintainer will review your changes
  4. 🚀 Merge — once approved, your PR will be merged!

Quick checklist

  • PR title follows Conventional Commits (e.g. feat: add dark mode)
  • Linked the issue this PR closes (e.g. Closes #123)
  • Tested the changes locally (bun run dev)
  • Build passes (bun run build)

Useful links

Happy coding! 🎉

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 15, 2026

⚠️ PR Format Issues — @siddjs19

Please fix the following before your PR can be reviewed:

  • ⚠️ Use a conventional PR title. Examples:
    • feat: add dark mode support
    • fix: resolve aria label missing on slider
    • docs: add deployment guide to README

Push new commits after fixing — this comment will update automatically.

📖 CONTRIBUTING.md

@siddjs19 siddjs19 force-pushed the feat/undo-redo-export branch from c4a892f to 633b333 Compare May 15, 2026 12:03
@vercel
Copy link
Copy Markdown

vercel Bot commented May 15, 2026

@siddjs19 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.

@siddjs19
Copy link
Copy Markdown
Contributor Author

Closed the previous PR and recreated this one after resolving merge/conflict issues and cleaning up the branch.

@magic-peach magic-peach added feature New feature request gssoc'26 GirlScript Summer of Code 2026 level:advanced Advanced level - 55 pts size: large Large issue - significant work required needs-review Needs maintainer review labels May 15, 2026
@vercel
Copy link
Copy Markdown

vercel Bot commented May 16, 2026

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

Project Deployment Actions Updated (UTC)
reframe Error Error May 16, 2026 4:51am

@magic-peach
Copy link
Copy Markdown
Owner

@siddjs19 deployment has failed please fix it

@magic-peach magic-peach added gssoc:approved Approved for GSSoC'26 type:feature New feature type:design UI/UX design and removed enhancement Improvement to existing functionality feature New feature request ui/ux User interface or experience improvement size: large Large issue - significant work required needs-review Needs maintainer review labels May 16, 2026
@magic-peach
Copy link
Copy Markdown
Owner

Hey @siddjs19! The CI build check hasn't run on this PR yet — this usually happens when the PR was opened before the CI was fully set up, or if the branch hasn't been updated recently.

To trigger the build check, please rebase onto the latest main:

git fetch origin
git rebase origin/main
git push --force-with-lease

This will re-trigger CI. If you hit any merge conflicts in src/app/page.tsx, keep the version from main (no <main> wrapper around <VideoEditor />).

Once CI passes and the Vercel deployment is authorized, we'll review and merge. 🚀

@magic-peach magic-peach removed gssoc:approved Approved for GSSoC'26 type:design UI/UX design labels May 16, 2026
@magic-peach
Copy link
Copy Markdown
Owner

Hey @siddjs19! While looking at the diff more carefully, I spotted a code error that needs fixing before CI can pass:

Double useVideoEditor() destructuring in VideoEditor.tsx (blocker):
The PR adds a new destructuring at the top but doesn't remove the original one. The file now has two back-to-back destructurings:

// NEW (added)
const {
  file, duration, recipe, status, progress, result, error,
  updateRecipe, undo, redo, canUndo, canRedo,
  handleFileSelect, handleExport, reset,
} = useVideoEditor();

// OLD (still present — needs to be removed)
const {
  file, duration, recipe, status, progress,
  result, error, updateRecipe,
  handleFileSelect, handleExport, cancelExport, reset,
} = useVideoEditor();

This will cause a Cannot redeclare block-scoped variable TypeScript error. Remove the old destructuring and keep only the new one (making sure cancelExport is included in the new one).

Please rebase onto main and fix this — once CI passes, the undo/redo feature looks interesting and we can do a full review.

@magic-peach magic-peach added the gssoc:approved Approved for GSSoC'26 label May 16, 2026
@github-actions github-actions Bot added the level:intermediate Intermediate level - 35 pts label May 18, 2026
@magic-peach
Copy link
Copy Markdown
Owner

Hey @siddjs19! 👋

We've added a new requirement for all PRs: a screen recording showing your changes working on your local machine must be attached before a PR can be merged.

Please add a recording to this PR that shows:

  1. bun run dev running at http://localhost:3000
  2. The full working flow of your change (demonstrate the feature/fix end-to-end)
  3. Any tests passing — if your change touches logic with tests, show bun run lint and bunx tsc --noEmit completing without errors in the terminal

How to record:

  • macOS: Cmd + Shift + 5 → Record Selected Portion, or QuickTime Player
  • Windows: Win + G → Xbox Game Bar → Capture
  • Linux: OBS Studio, GNOME Screenshot, or kazam
  • Any OS: Loom (free, easy to share)

Once you have the recording, drag the file directly into a comment on this PR, or paste a Loom link. This is now a hard requirement — see CONTRIBUTING.md for full details.

Thanks for contributing to Reframe! 🎬

@siddjs19
Copy link
Copy Markdown
Contributor Author

siddjs19 commented May 19, 2026

Hey @magic-peach !

https://drive.google.com/drive/folders/1VN_Eqx37ir6GcyRFGsluKGHwXPKsoqz8?usp=drive_link

start undo-redo video from 0:45 also tell what should i do about lint and tsc warnings added drive link because file sizes were large

I used ctrl+z and others also but screen recorder didn't capture keyboard pressed keys

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement Improvement to existing functionality gssoc:approved Approved for GSSoC'26 gssoc'26 GirlScript Summer of Code 2026 level:advanced Advanced level - 55 pts level:intermediate Intermediate level - 35 pts quality:clean Well-implemented, clean code type:bug Bug fix type:design UI/UX design type:feature New feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Enhancement] Implement undo/redo for recipe setting changes

2 participants