Skip to content

Feat: Add project manual save and auto-save before export (Closes #12)#23

Merged
github-actions[bot] merged 1 commit into
mainfrom
fix-issue-12-auto-save-3364169354171303295
Mar 24, 2026
Merged

Feat: Add project manual save and auto-save before export (Closes #12)#23
github-actions[bot] merged 1 commit into
mainfrom
fix-issue-12-auto-save-3364169354171303295

Conversation

@socialawy-dev
Copy link
Copy Markdown
Owner

This PR implements the missing persistence feature requested in issue #12.

Changes

  • Manual Save: Added a "Save" button to the ExportBar component that directly triggers the saveNow function from the project store. It disabled itself appropriately when there are no plates.
  • Auto-save on Export: Modified the WebM export flow in ExportBar to await saveNow before beginning export, ensuring no work is lost if the export crashes or hangs.
  • Testing: Created a new Vitest suite (tests/composer/ExportBar.test.tsx) to verify the click behaviors and ensure saveNow is called at the correct times.
  • Fixes: Added the missing @eslint/js devDependency to fix the CI pipeline lint failures caused by recent dependabot bumps to ESLint v10.

PR created automatically by Jules for task 3364169354171303295 started by @socialawy

- Add "Save" button to the composer ExportBar.
- Auto-save current project to IndexedDB before WebM export.
- Update tests to verify auto-save triggers when Export and Save are clicked.
- Add @eslint/js dependency to resolve flat-config parsing errors.

Co-authored-by: socialawy <24765060+socialawy@users.noreply.github.com>
@google-labs-jules
Copy link
Copy Markdown
Contributor

👋 Jules, reporting for duty! I'm here to lend a hand with this pull request.

When you start a review, I'll add a 👀 emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down.

I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job!

For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with @jules. You can find this option in the Pull Request section of your global Jules UI settings. You can always switch back!

New to Jules? Learn more at jules.google/docs.


For security, I will only act on instructions from the user who triggered this task.

@github-actions
Copy link
Copy Markdown

Gemini Review: APPROVE (Risk: low)

The PR successfully adds manual save and auto-save before export functionality to the ExportBar component. The changes are well-tested, handle state correctly, and properly integrate with the existing export flow. The addition of the missing ESLint dependency resolves CI issues without introducing breaking changes.


Automated review by Gemini 3.1 Pro

Copy link
Copy Markdown

@github-actions github-actions Bot left a comment

Choose a reason for hiding this comment

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

Auto-approved by Gemini review

@github-actions github-actions Bot merged commit b91f4a2 into main Mar 24, 2026
4 checks passed
socialawy added a commit that referenced this pull request Apr 10, 2026
- Add "Save" button to the composer ExportBar.
- Auto-save current project to IndexedDB before WebM export.
- Update tests to verify auto-save triggers when Export and Save are clicked.
- Add @eslint/js dependency to resolve flat-config parsing errors.

Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
Co-authored-by: socialawy <24765060+socialawy@users.noreply.github.com>
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.

1 participant