.
This commit is contained in:
parent
4c002f9acd
commit
b07aa589ff
1 changed files with 728 additions and 530 deletions
|
|
@ -21,7 +21,14 @@ resuming starts a fresh session. Connection checks can run while sync is disable
|
|||
## State and policy
|
||||
|
||||
The persisted state contains the incorporated server file manifest, the current
|
||||
local identity map, and the exact pending submission. A received server file
|
||||
local identity map, an optional event cursor, and exact pending submissions. An
|
||||
absent cursor means the client must fetch a fresh vault snapshot; there are no
|
||||
separate initialization or recovery flags and no saved bootstrap snapshot. Each
|
||||
document stores its base version/hash, its last observed disk hash, and a remote
|
||||
head only while that content is deferred. The observed hash also records local
|
||||
file presence; missing remote downloads are not local deletions. Physical path
|
||||
exclusions are rebuilt by scans. Rejection details live on the retained request,
|
||||
without duplicate per-document or manifest rejection records. A received server file
|
||||
manifest becomes the merge base when its application metadata is saved. Successful
|
||||
submissions advance the base to the submitted content snapshot, preserving later
|
||||
local edits. Unknown outcomes are retried unchanged before incorporating newer
|
||||
|
|
@ -72,7 +79,9 @@ event incarnation returns a history mismatch before executing the request.
|
|||
|
||||
On mismatch the client scans local work and records a reset before clearing the
|
||||
old checkpoint. It clears old requests, receipts, cursors, bases and diff-cache
|
||||
entries. Clean files reconcile against the restored snapshot. Unsent edits with
|
||||
entries. Clean files retain only their hash and reconcile against the restored
|
||||
snapshot. A file edited after this reset is also preserved as a separate local
|
||||
document; recovery never persists another copy of its content. Unsent edits with
|
||||
an old base become separate local documents; path conflicts preserve them under
|
||||
conflict names instead of applying a diff to an unrelated restored version.
|
||||
Recovery resumes after interrupted state saves. Existing API v4 client state
|
||||
|
|
@ -112,7 +121,7 @@ object. A failed save is reloaded before retrying. No ordering between metadata
|
|||
user-file durability is required. Settings and engine saves are serialized.
|
||||
Keep metadata outside the user-file namespace or in `.vault-link-sync`, which is
|
||||
excluded from scans. Changing a client's vault once it holds identities, offline
|
||||
notifications, pending requests or bootstrap state requires a separate state store.
|
||||
notifications, pending requests or an incorporated event cursor requires a separate state store.
|
||||
|
||||
Filesystem application saves metadata once when it finishes. Namespace changes detected
|
||||
before mutations invalidate the plan. Changes during application are incorporated
|
||||
|
|
|
|||
Loading…
Reference in a new issue