NEC-302: Three vaults can converge on a properties block whose closing delimiter is glued to a value #305
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
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
Nectenda/nectenda!305
Loading…
Reference in a new issue
No description provided.
Delete branch "worktree-nec-302-three-vaults-can-converge-on-a-propertie"
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-302 — https://projectron.nerchure.com/tasks/321
Rewrites of a note's properties block never cross its delimiters again. NEC-26's 1 October departures, which rebuilt a broken block whole from the map and inferred older-plugin removals from merged text, let vaults rewriting from different states delete or glue the --- lines (NEC-302), lose values (NEC-304), invent property names (NEC-305) and leave a second block (NEC-306). Now a rewrite only edits between an intact opening line and closing ---; a missing block is inserted at the top; stranded text is moved below the block; a glued closing line is found again; a closing --- gone altogether is refused with a notice and the values kept. Older-plugin adopt/prune runs only when nothing from a newer plugin arrived with it, and every prune is backed up. NEC-303 (one derived id authored as two structs) is fixed by taking identity from Yjs placement. The property test now really runs 40-op sequences (size: 'max') and checks the frame after every projection. Spec: docs/changes/NEC-302-glued-closing-delimiter/spec.md.
Spec:
docs/changes/NEC-302-glued-closing-delimiter/spec.mdAlso fixes NEC-303: A frontmatter projection that inserts can be authored as two different structs under one derived id
Also fixes NEC-304: Long edit sequences can leave every vault with a properties block that has lost its closing delimiter
Also fixes NEC-305: Concurrent property edits can converge on property names nobody set
Also fixes NEC-306: Two vaults adding a properties block at once leave a stale second block in the body
Changelog
Fixed cases where a note's properties, changed in several vaults at once, could end up unreadable, duplicated, or missing a value.