Skip to content

Getting a note back ​

When Halcyon changes your notes without being asked, it keeps a copy of what was there first. A change pulled from another Mac, a delete that arrived from another Mac, two versions of a note combined, a save that landed over something else: each of those keeps the bytes it displaced before it displaces them.

That copy lives on the Mac it happened on, for 30 days, and never in your vault.

What this covers, and what it doesn't ​

Halcyon keeps a copy when it decided to change the file:

What happenedKept?
Sync pulled a change over an edit of yoursYes
Another Mac deleted the note and the delete arrived hereYes
Two Macs edited the note and Halcyon combined themYes, both sides
A save landed over bytes something else had writtenYes
You restored an older version over the current oneYes, the copy it replaced
You deleted the note yourselfNo

Warning

A delete you confirm is a real delete. Halcyon has no Trash and no Put Back, and this doesn't add one. You saw the note's name in the confirmation and said yes, and that's the one case where the app takes you at your word.

Everything in the table above the last row is different: nobody at this Mac agreed to it. That's the whole distinction this feature draws.

If the vault syncs, a note you deleted yourself is still in the server's version history for 30 days.

Finding a note that's gone ​

File → Recover Displaced Notes…, or Recover displaced notes in the ⌘K palette.

This is the list for notes that aren't where they were: deleted from another Mac, or moved out from under a path. Each row is one copy Halcyon kept, showing the path it came from, when it happened, and what took it.

It works on a vault that has never synced, on a Mac that's signed out, and with no network. The copies are on this Mac, which is exactly why they're worth having.

Finding an earlier copy of a note that still exists ​

Open the note and use File → Browse Versions…. Copies Halcyon kept appear in the same list as the server's versions, marked on this Mac and labelled with what displaced them:

LabelWhat happened
displaced by syncA change pulled from another Mac landed over these bytes
displaced by a mergeThese bytes were one side of a merge, kept as they were
deleted on another deviceAnother Mac deleted the note, and it went here too
displaced by a saveA save landed over these bytes
displaced by a restorePutting an older copy back replaced these bytes

A row marked never written here is bytes that were never in this file: the other side of a merge, for instance. Restoring one writes it into the note for the first time rather than putting anything back.

Because these copies are local, this sheet now opens on a note that has never synced and on a vault with Sync switched off. Before, it needed the server.

Restoring ​

Restore writes the copy back as an ordinary edit, exactly like restoring a version: the editor adopts it, the watcher notices, and Sync pushes it out if the vault syncs. Nothing is rewritten and nothing is lost, so you can restore your way back.

For a note that's gone, the file is recreated at the path it came from, folders and all.

Important

If something has since taken that path, the restore refuses rather than writing over it. You were shown a note that wasn't there; a different note arriving in the meantime isn't the one you asked about.

The same holds the other way. Restoring an older copy of a note that gets deleted while the sheet is open refuses too, rather than recreating a file you just got rid of.

When the copy being replaced hasn't been uploaded yet, Halcyon writes it to a sibling note first and tells you where, because at that point it's the only copy in existence.

The 30 days, and what it buys ​

Copies are kept for 30 days on this Mac, and each note keeps its 50 most recent. Past that, the oldest go.

The bound has one exception, and it's the one that matters: a copy is never dropped inside the 30 days while it's the last one holding those exact bytes. The per-note limit thins out repeats, never the last route to something.

Note

30 days is deliberately the same window the server keeps version history for, so there's one number to remember. They cover different things. This Mac keeps what the server never saw, including edits you made offline; the server keeps what your other Macs displaced.

A vault that doesn't sync has only the local half. That's still the copy that matters, because it's the only one there was.

The copies live in Halcyon's own storage, not in your vault, so they don't show up in your note list, don't sync, and don't appear in git. See Where your files live.

Halcyon is a markdown notes app for macOS.