Skip to content

implement auto-save functionality #25

Open
@Vicentesan

Description

@Vicentesan

currently, sealnotes requires manual saving of notes, which can lead to data loss if users forget to save or the app unexpectedly closes. adding an auto-save feature would improve user experience and prevent potential data loss while maintaining the app's security focus.

proposed feature

implement automatic saving of notes that:

  • periodically saves changes in the background
  • saves when browser tab loses focus or before page unload events
  • provides subtle visual indication when auto-save occurs
  • maintains client-side encryption throughout the save process

user benefits

  • prevents data loss from browser crashes, network issues, or accidental tab closures
  • reduces user anxiety about remembering to save
  • improves overall user experience
  • maintains security of sensitive information

technical considerations

  • use browser localStorage/indexedDB for offline capability
  • implement debouncing to prevent excessive save operations
  • ensure client-side encryption is properly maintained during saves
  • handle potential sync conflicts when reconnecting after offline edits
  • add appropriate event listeners for beforeunload and visibilitychange events
  • implement appropriate error handling and recovery

priority

high - this addresses a critical user experience issue that could result in data loss

questions

  • should we implement progressive saving (only changed portions)?
  • how frequently should auto-save trigger (time-based vs. change-based)?
  • should we add a "last saved" timestamp indicator?
  • should we implement version history alongside auto-save?
  • how should we handle auto-save failures due to storage limitations?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions