Let people keep writing when the network drops. We will persist draft edits locally, queue unsynced changes, and reconcile them with the server on reconnect — so a note is never lost and the editor never blocks on a request. The goal is a sync layer that is invisible when it works and honest when it conflicts.
drafts, keyed by note id with a version and updatedAt field.saveDraft() so typing never triggers a write storm.localStorage on first launch, then clear the old keys.online event.version against the draft's base version on flush.offline_drafts feature flag.