V7.3 Release: Version History, Cloud Sync, and Smarter Reliability

Cover Image for V7.3 Release: Version History, Cloud Sync, and Smarter Reliability
Abdul Rafay
Abdul Rafay

The V7.3 release is a major leap forward in making the app more reliable, transparent, and user-controlled. With full version history, cloud sync, conflict resolution, and streak synchronization, this update ensures that your notes and progress are always safe, recoverable, and consistent across devices.

This release also modernizes the error experience, refines settings, and introduces consistent in-app feedback, making the app feel more professional and trustworthy.


Highlights

  • Complete Version History

    • Keep‑style change summaries (title, content, tags).
    • Redesigned version preview dialog with proper Quill rendering.
    • Download and restore per version with consistent file paths.
    • Version History screen with timeline cards, diffs, and restore/download actions.
    • Version History settings: enable/disable toggle, max versions to keep, manual cleanup, auto-cleanup toggle, and storage info.
  • Cloud Sync for Versions

    • Versions stored under each note (users/{uid}/notes/{noteId}/versions/{versionId}).
    • Integrated with the existing note sync layer — no extra service required.
  • Conflict Resolution for Notes

    • Deterministic policy:
      • If cloud updatedAt ≥ local → keep cloud.
      • If local is newer → push local to cloud.
    • All resolutions logged to Crashlytics for transparency.
  • Streak Sync

    • Sync streaks across devices with user control.
    • Options: “Sync Now” and “Pull from Cloud.”
    • Daily write guard ensures streaks sync at most once per day.
    • Full error handling with rollback on failure.
  • Modernized Error Experience

    • New ErrorApp page styled to match the app theme.
    • “Copy Details” button for easy reporting.
    • Crashlytics logging on copy.
    • “Try Again” call-to-action for recovery.

Changes

  • Settings & Navigation

    • Notes bottom sheet cleaned up; added Version History toggle and link to settings.
    • Backup export/import now wired to BackupService with consistent feedback.
    • Settings page updated with a new “Secure Notes” entry (UI only; feature removed).
  • CustomSnackBar Everywhere

    • All new flows now use CustomSnackBar.show(context, message, isSuccess: true/false) for consistent feedback.
  • Crashlytics Logging

    • Logs metadata only (ids, timestamps, reasons) — never note content.

Fixes

  • Hive Adapter Null Cast

    • Fixed crash on older installs by defaulting missing versionNumber to 1.
  • Import Paths and Providers

    • Registered NoteVersionAdapter and NoteVersionProvider.
    • Corrected import paths for version history.

Removed

  • Secure Notes (Experimental)
    • Local-only encrypted notes were prototyped but removed from this release.
    • UI entry remains for a future stable implementation, but all experimental code was deleted.

Developer Notes

  • Versioning: version_history_screen.dart, note_version_repo.dart, note_version_provider.dart, version_diff_utils.dart, version_download_utils.dart.
  • Sync & Conflict Resolution: note_taking_sync.dart, reverse_sync.dart.
  • Error Page: lib/utils/error.dart.
  • Firebase Rules: Added versions subcollection rules under notes.

Known Limitations

  • Auto-cleanup for version history runs only on user action (no background scheduling yet).
  • Conflict resolution is automatic; no user-facing conflict dialog.
  • “Secure Notes” entry is present in settings but feature is not active.

Why V7.3 Matters

This release is about trust and control. With version history, cloud sync, and conflict resolution, users can confidently edit notes knowing they can always roll back, recover, or sync across devices. Streak sync ensures progress is consistent, while the modernized error experience and consistent feedback make the app feel more professional and reliable.


Looking Ahead

Future updates will expand on this foundation with background cleanup, user-facing conflict resolution, and a stable Secure Notes feature. The goal is to make the app not just powerful, but also bulletproof in reliability and transparency.


We’d love to hear your feedback on the new version history and sync features. Try them out and let us know how they improve your workflow.

V7.3 Release: Version History, Cloud Sync, and Smarter Reliability | Next.js Blog Example with MS Bridge