Repository navigation
Basalt Sync 0.8.5
Faster on a large vault, and a first sync that no longer opens an empty box at you.
Faster
- Renaming a folder no longer re-encrypts everything inside it. A rename changes no byte, so the server already has every chunk; the plugin was reading, splitting and encrypting every note under the folder to rediscover a list it already had. At 10,000 notes that move is 1,177 ms → 832 ms.
- Listing the vault is about twice as fast on a large one. 37.9 ms → 21.1 ms at 50,000 notes. Every path was building a throwaway list and sorting it to answer a question that is false for essentially every path, and filenames were being Unicode-normalised again on every pass.
- Less allocation in an ordinary pass, and the open note is published between the pieces of a large download rather than after it.
Clearer
- A first sync with nothing to do says so, instead of offering a "File details" chevron that opens onto an empty box. It also tells "everything here already matches" apart from "there is nothing here yet".
- The connection details say the one thing worth acting on, in one line, rather than three sentences about encryption in a panel whose last row links to the guide.
Upgrade
Update the plugin through Obsidian or replace its three files. CLI users can run npm install -g basalt-sync@0.8.5. Take server 0.8.5 as well. When this note first went out it said the server was unchanged and needed no upgrade. Within the hour I found 0.8.4 refusing every batch on my own server, so there is now a server 0.8.5 that fixes it, and you want it. Protocol 7 and the stored data format are still the same, so a client on either version works against a server on either version, and existing pairings keep working.
The timings above are on a laptop, measured with bun run bench:pass and the new BENCH_LIST=1 listing benchmark; docs/research.md has the method and the first Android figures this project has taken.