Skip to content

feat(UI-1889): auto-save autokitteh project files#405

Open
RonenMars wants to merge 3 commits intomainfrom
ronen/feat/autosave
Open

feat(UI-1889): auto-save autokitteh project files#405
RonenMars wants to merge 3 commits intomainfrom
ronen/feat/autosave

Conversation

@RonenMars
Copy link
Collaborator

@RonenMars RonenMars commented Oct 4, 2025

Description

  • Auto-save functionality - Automatically saves changes every 3 seconds after user stops typing (debounced)
  • Visual save indicators - Shows "Saving..." and "Saved" states with toast notifications during save operations
  • Error handling - Displays error toasts if auto-save fails, allowing users to retry manually
  • Debouncing mechanism - Uses 3-second delay to avoid excessive save operations while typing
  • Fast and clear feedback to the user - Provides clear toast notifications to users about save status through non-intrusive toast messages

Screenshot

image

Linear Ticket

https://linear.app/autokitteh/issue/UI-1889/vscode-autosave-files-on-edit-in-project-dir

What type of PR is this? (check all applicable)

  • 💡 (feat) - A New Feature (non-breaking change which adds functionality)
  • 🔄 (refactor) - Code Refactoring - A code change that neither fixes a bug nor adds a feature
  • 🐞 (fix) - Bug Fix (non-breaking change which fixes an issue)
  • 🏎 (perf) - Optimization
  • 📄 (docs) - Documentation - Documentation only changes
  • 📄 (test) - Tests - Adding missing tests or correcting existing tests
  • 🎨 (style) - Styles - Changes that do not affect the meaning of the code (white spaces, formatting, missing semi-colons, etc)
  • ⚙️ (ci) - Continuous Integrations - Changes to our CI configuration files and scripts (example scopes: Travis, Circle, BrowserStack, SauceLabs)
  • ☑️ (chore) - Chores - Other changes that don't modify src or test files
  • ↩️ (revert) - Reverts - Reverts a previous commit(s).

Code Standards

  • Notify only when user attention is needed, otherwise log to console.
    • Notifications: short description with context identifiers (e.g. id of the manipulated entity).
    • Logs: full description with full context identifiers (e.g. deploymentId and the relevant projectId).
  • If you're not sure what is the proper behavior, consult with the product team.
  • Reduce the use of else by employing early returns to make code more readable and less nested.
  • MVC Separation: Ensure separation of concerns; views should only be manipulated by controllers (also the computing - sorting, fitlering, etc.), not by services, to maintain a clean MVC architecture.
  • Before implementing custom logic, check if existing functions or utilities (like lodash) offer a simpler solution.
  • Avoid using !important in CSS where possible.
  • Use memoization for class calculations.
  • Place constant strings in your code using I18n.

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

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant