NEC-316: A canvas view's own image refit, read in before a write, overwrites a peer's resize #312
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!312
Loading…
Reference in a new issue
No description provided.
Delete branch "worktree-nec-316-a-canvas-views-own-image-refit-read-in-b"
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-316 — https://projectron.nerchure.com/tasks/336
When a canvas or base view's save and a change from another vault it had not yet shown both changed the same field, the save's value went over the other vault's, silently and with no copy anywhere. Canvas hardness seed 11590143 left an image card one vault's width and the other's height, after Obsidian's own refit was saved before a peer's resize was written. Now the other vault's change stands where both changed a key, the rest of the save is merged key by key, and the save is kept in .nectenda-backups with a notice (SAFE-A48, SAFE-A30's rule carried to every read-in). The copy is owed before any write replaces the file. A clashed save is not agreed, so a quit before its copy makes the next connect keep it. A view whose scene clashes is not bound until the write reloads it. Presentation-only keys stay copy-free (SAFE-A22). Also: refused canvas views log card geometry, every other hardness image card is square, and the hardness check lets through a refit's backup. Gate green; about 65 minutes of canvas hardness over four seeds. One seed failed in a way main also fails, filed as NEC-322. The refit itself is still inferred: the seed did not reproduce on replay.
Spec:
docs/changes/NEC-316-canvas-refit-read-in-clash/spec.mdChangelog
When a canvas or base was changed in the same place here and in another vault at once, the other vault's change used to be overwritten silently; now it is kept, and your version is saved in .nectenda-backups with a notice.