Skip to content

πŸš€ Notesify v1.1.0 β€” Offline-First Desktop & Sync

Choose a tag to compare

@badalsahani20 badalsahani20 released this 16 Sep 18:07
· 57 commits to main since this release

πŸš€ 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