Skip to content

feat: Add autosave feature#1506

Open
imagineSamurai wants to merge 3 commits into
0x7c13:masterfrom
imagineSamurai:master
Open

feat: Add autosave feature#1506
imagineSamurai wants to merge 3 commits into
0x7c13:masterfrom
imagineSamurai:master

Conversation

@imagineSamurai

Copy link
Copy Markdown

Title: feat: Add autosave feature

Overview

This PR introduces the new Autosave feature to improve the document editing experience.

Features:

  • Added a debounced autosave mechanism that automatically saves existing files in the background upon TextChanging events.
  • Added UI toggles in Settings to allow users to easily enable/disable the Autosave feature and its "Saved" popup notifications.

PR Type

What kind of change does this PR introduce?

  • Feature

Screenshots

Main

ApplicationFrameHost_UKXThdgxPI

Settings

ApplicationFrameHost_Ze6g9GiYEq

Other information

Introduce autosave feature that automatically saves modified files on keystroke when enabled. Adds a new settings toggle in Advanced Settings page to enable/disable autosave, with visual indicator in status bar. Implements event-driven autosave trigger with 1-second delay after text changes, preventing Save As prompts during autosave operations.
…ication toggle

- Introduce EnhancedAutosaveService with debounced save queue and persistent settings
- Add visual status bar indicator showing autosave state and last save time
- Implement toggle for showing 'Saved' notification popups
- Include comprehensive test suite for autosave functionality
- Replace legacy autosave implementation with enhanced version
Check the _isAutosaving flag and EnhancedAutosaveService.ShowSavedNotification setting before posting the saved notification. This prevents showing the notification during autosave when the user has disabled the setting. The flag is set within the SaveAsync method to track autosave operations.
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