Skip to content

Basalt Sync 0.8.4

Choose a tag to compare

@waynehoover waynehoover released this 12 Sep 03:15
· 46 commits to main since this release

A note whose upload acknowledgement was lost could stop syncing from that device for good. This release fixes that, cuts what a download costs when a large file changes a little, and gives the panel a way to say what is actually outstanding.

The stall

If the connection dropped in the moment between the server committing your write and the acknowledgement arriving, that device never learned the version it had just written. Every later upload of that path was refused as out of date, including every edit you made afterwards, while the panel said it was waiting. A refusal now asks the server which version it holds, so the device can catch up on the one fact the ordinary update stream never carries.

Faster

  • Editing a large file no longer re-downloads all of it. Other devices now rebuild the unchanged parts from the copy they already hold and fetch only what changed.
  • A note saved during a big download goes out immediately instead of waiting for the download to finish.
  • Send back what the server has lost offers the whole vault at once rather than one request per file.
  • Less memory while assembling a download, and less reading and encrypting for previews, folder-deletion reviews and moved attachments.

Clearer

  • Pending work no longer shows a finished tick, and the reasons a file did not sync stay in the panel instead of disappearing with a notice.
  • Pairing now names the vault and server an invite would join, before you press the button.
  • Skip on this device: leave a folder off one device, choosable during pairing so a phone never downloads what it was never going to keep.
  • Browse deleted has a search box, keeps the pages you have loaded, and restores a selected set in one sync instead of one per note.
  • Renaming a note no longer hides the history it had under its old name.
  • Versions kept somewhere Obsidian does not show now have a button that recovers a visible copy.
  • On a phone, "some files need attention" and "offline" arrive as a notice rather than only in a tooltip.

Bases and named vaults

  • .base files are treated as notes: sent in pieces, merged rather than conflicted, and previewable in history. Merged results are checked as YAML first.
  • A setup line can name its vault (host:3003#TOKEN#vault), so the plugin can start one that is not called default without needing the CLI on another machine.

Upgrade

Update the plugin through Obsidian or replace its three plugin files. CLI users can run npm install -g basalt-sync@0.8.4. Server 0.8.4 is published separately; upgrade it first. Protocol 7 and the stored data format are unchanged, and existing pairings keep working.

A setup line that names its vault needs a plugin or CLI from 0.8.4: older ones read everything after the last # as the token.

The download and repair figures above are read off the code and confirmed by tests, not measured on a phone. What is deliberately still undone, including the memory ceiling on very large attachments, is written down in docs/open-work.md.