Stop opening a note from overwriting it with a blank body

Fixkamo-internal
Shipped
August 19, 2026 at 6:38 PM UTC
Author
kamo
Commit
5912d7d

The editor seeded its buffer with `note.content || ''`, then compared that '' against the incoming null and concluded the member had unsaved edits. Two seconds later the autosave PATCHed the empty body over the note. No keystroke was needed - opening a note whose content the server could not decipher was enough to destroy the ciphertext, and one note in production is empty for exactly this reason. Absent and empty are now the same thing when deciding whether anything changed, so loading a note can never look like editing it, and a note the server flagged as unreadable is never dirty at all: its buffer cannot hold what is stored, so there is nothing it could safely write back. The editor says so instead of presenting a blank page to type into. The floating sticky refuses the same two writes - the debounced save and the rich-to-plain flatten, whose "empty draft becomes an empty document" fallback is the same destructive path by another route.

All changes

Like what you see shipping?

Every one of these updates lands in your workspace automatically. Start free and watch it grow week after week.

Start Free ForeverView Pricing