Per vrtmrz's review feedback, restore the mirror [vault-path] positional
argument support with correct priority order:
mirror positional arg > --vault flag > databasePath
Also update --vault help text and CLI README with the new option.
- Database fetching (a.k.a. Reset Synchronisation on This Device) on the initialisation now supports streaming and is faster (CouchDB only)
- The database fetching process has been streamlined, and database operations are now suspended until it has been completed
- The initial synchronisation process has been simplified, making it easier to synchronise files with the remote server
- We can select the remote database to fetch from during the initialisation, when there are multiple remote databases configured (e.g. multiple CouchDBs or S3 remotes)
Allow specifying a separate vault directory for .md files, decoupled from
the database directory (where PouchDB data lives).
- Add --vault/-V flag to CLI options parser
- Use vaultPath (or fallback to databasePath) for file system operations
- Works with both daemon and mirror commands
- Log vault path alongside database path at startup
chokidar stats are captured at poll time and may not reflect the file's
final byte length by the time vault.read() is called. The downstream
integrity check compares stat.size to content length; a mismatch causes
other LiveSync clients to reject the file as corrupted.
Fix by updating file.stat.size from the actual content in read() and
readBinary().
Co-authored-by: Joysimple <Joysimple@users.noreply.github.com>
The config mismatch dialog's defaultAction is "Dismiss" which blocks
replication. Since the daemon cannot resolve mismatches interactively,
skip the check entirely and accept the remote configuration as-is.