NEC-105: Unacknowledged pushes: survive a restart, retry a failed delta, stop the oversized-push reconnect loop #171
No reviewers
Labels
No labels
area:docs
area:identity
area:ops
area:plugin
area:server
channel:community
channel:direct
channel:owned
channel:press
channel:social
e2ee-constrained
gate:at-ga
gate:pre-ga
marketing
parity
relay:absent
relay:planned
relay:requested
relay:supported
risk:additive
risk:contract
risk:none
usability
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
Nectenda/nectenda!171
Loading…
Reference in a new issue
No description provided.
Delete branch "worktree-nec-105-unacknowledged-pushes-survive-a-restart"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Task: NEC-105 — https://projectron.nerchure.com/tasks/105
Closes the three edges NEC-18 left open around unacknowledged pushes, plus a wider cause found on the way. (1) The seq checkpoint is never stored while a document owes the server anything, pre-fix checkpoints are no longer read, and a catch-up from 0 always reconciles: it used to test lastSeq === 0 after the catch-up had raised it, so any launch without a trusted checkpoint pushed nothing and read as synced (SAFE-A10). (2) A reconnect delta whose encrypt fails is retried on the live socket, 2 s doubling to 60 s. (3) Decided with the user: the server push limit rises from 4 MiB to the 16 MiB document ceiling, catch-up frames are bounded by bytes as well as count (WIRE-044), and the client never sends a push over the limit; it shows an error naming size and limit and re-attempts on the next edit, reconnect or launch (SAFE-A11). An independent review found three further routes (a checkpoint during a slow cold-start catch-up, a save timer outliving destroy, a delta clearing a newer oversize hold); each is fixed with a regression test from its repro. Every new rule mutation-checked; local gate green at
92f36d7including the multi-vault e2e. Spec: docs/changes/NEC-105-unacked-pushes/spec.md.Spec:
docs/changes/NEC-105-unacked-pushes/spec.mdChangelog
Edits the server never confirmed are now sent again after Obsidian restarts, notes up to 16 MiB now sync, and a change too large to send shows an error on the note instead of retrying in a loop.
92f36d7d58ac732bb29dac732bb29d38010cb18238010cb1821eaad4b308