Add explicit stopped-Journal recovery to Obsidian and CLI

Offer a confirmation in Maintenance and the journal-skip command to skip
only the current stopped Journal and resume receipt. Keep Commonlib notices
visible on stderr during ordinary CLI use.

Document the missing-content risk and replay procedure, and cover
cancellation, stale failures, subsequent failures, and receipt with unit
and plain and encrypted CLI and Obsidian end-to-end tests.

Requires the Commonlib stopped-Journal recovery API. Adopt its exact
published package version before integrating this consumer change.
This commit is contained in:
vorotamoroz committed 2026-11-04 15:25:30 +00:00
1 parent bf2241e5ee
commit a94c3fef90
18 files changed
+1321 -234

No files matched your search

+19 -1
View File
@@ -1273,9 +1273,27 @@ Disables all synchronisation and restart.
Explicitly resend all locally available chunks to the remote. This is a recovery and maintenance operation; ordinary replication does not pre-send every chunk.
#### Skip stopped Journal and resume
Object Storage only. If a stopped Journal is not available, restart replication
normally with the same local database so the receive failure identifies its key
and stage. Confirming this action skips only that Journal and resumes receipt;
it does not skip the rest of the remote history. The next Journal failure still
stops replication.
Skipping may leave content or history missing. Normal replication does not
retry a Journal which has been explicitly skipped. After correcting the cause,
use **Reset journal received history** to replay retained remote Journals,
except those sent by this device. It cannot restore Journals which are no
longer available remotely. This action does not add a persistent ignore setting.
#### Reset journal received history
Initialise journal received history. On the next sync, every item except this device sent will be downloaded again.
Clear this device's received Journal history and known-document transfer
records. The next sync downloads the retained remote Journals again, except
those sent by this device. The local database, Vault files, and sent history
are retained. Recovery requires intact remote data and a working local
database; resetting history does not recreate missing remote content.
#### Reset journal sent history