Repository navigation
@onlyworlds/sdk 4.37.0
The hidden mark (keel #421), live in production since 2026-10-20 09:24; walked on staging with the mark on, 25 of 25.
Added
- A
/changesdelete row'sreason(OwDeleteReason:deleted|hidden|out_of_view; keel #421's hidden
mark): an element hidden from this reader leaves its copy as a deleted one does, and a GET of it answers 404,
not 410.isResyncRequired's comment names every case keel now sends it for, not only a guest's. viewAsonget,listandlistAll, sent asas(keel #421 PR 3, view as): the owner's key reads as a
member (a membership id), as a Character's guest (a Character id) or as the public ('public'). A member key
gets 403view_as_owner_only(err.isViewAsOwnerOnly); an element hidden from that reader is 404, never 410;
an unknown value is 422. Until keel's hidden mark is on, keel answers 422 (an unknown parameter).err.resyncReason('role'|'view'|undefined) andOwResyncReason: why/changesanswered 409
resync_required, from the envelope'sreason(keel #421, keel PR 103; only while keel's hidden mark is on).
epoch_reasonbesideepochonOwChangesPageand onchangesHead()'s answer: why the epoch last moved.
Changed
- The resync instruction adds the hidden mark's reasons to 4.36.1's keep (the Captain, 2026-10-20): after a
409resync_required, walk again from the start; reasonrole(the key's own role or membership moved):
keep what the local copy holds that the walk no longer names; reasonview, or a delete row with reason
hidden: drop it; no reason (keel's hidden mark off): keep it, a reset never empties a copy. A tool never
empties a copy on its own.isResyncRequired's comment and thechanges,
changesHeadandOwChangesPagecomments say so.