Repository navigation
π Notesify v1.1.0 β Offline-First Desktop & Sync
π Notesify v1.1.0 β Offline-First Architecture & Native Desktop Sync
This release brings a major architectural upgrade to Notesify: the desktop application is now fully usable offline, with durable local persistence and automatic synchronization when connectivity is restored.
πΎ Offline-First Workspace
- Notes and folders are persisted locally using Dexie/IndexedDB.
- The desktop application can launch and load the workspace without an internet connection.
- Cached authentication state allows previously authenticated users to continue using Notesify offline.
- Local changes are available immediately without waiting for the backend.
π Durable Offline Synchronization
- Offline CREATE, UPDATE, and DELETE operations are persisted in a durable sync queue.
- Pending operations survive completely closing and reopening the application.
- Changes are automatically synchronized when connectivity is restored.
- Remote server changes are pulled back into the local database.
- Optimistic concurrency and conflict-handling mechanisms protect against conflicting edits.
- Idempotent handling prevents individual failed operations from unnecessarily blocking the synchronization queue.
π₯οΈ Native Electron Offline Support
- The React frontend is now packaged directly inside the Electron application.
- The desktop application no longer depends on the hosted web application to render its UI.
- Electron has its own synchronization trigger layer while sharing the same core synchronization engine as the web application.
- Synchronization is triggered on application startup, window focus, and network reconnection.
β‘ Local-First Architecture
User actions now follow a local-first flow:
User Action β Dexie/IndexedDB β syncQueue β Immediate UI Update β Background Sync β Backend
The network is no longer on the critical path for everyday note-taking.
π§± Shared Synchronization Architecture
Web and Electron clients share the same synchronization engine while using platform-specific trigger adapters:
WebSyncTriggers βββββββ
βββ> SyncCoordinator ββ> SyncService
ElectronSyncTriggers ββ
This keeps synchronization logic centralized while allowing each platform to respond to its own lifecycle events.
π§ͺ Verified End-to-End
- β Launch desktop app offline
- β Restore authenticated session offline
- β Read existing notes and folders offline
- β Create notes offline
- β Update notes offline
- β Delete notes offline
- β Persist pending operations across application restart
- β Restore network connectivity
- β Automatically drain the synchronization queue
- β Synchronize changes with the backend
Notesify is now genuinely offline-first, with local persistence, durable synchronization, and native desktop support.
Full Changelog: v1.0.2...v1.1.0