mirror of
https://github.com/block/buzz.git
synced 2026-10-31 14:31:02 +00:00
Close the pass-3 review blocker and Carl's four P1s on the channel sections/sort/stars/mutes relay sync, all in the sidebar lib: - Gate the legacy-consumed marker on a proven v2 transfer. writeOwnOutbox now returns whether the fresh key's setItem succeeded; the whole-blob hooks write the marker only when durable, so a quota failure leaves the legacy record replayable instead of silently suppressing the only copy. - Reconnect wakes the existing pending edit (retryPendingPublish) rather than re-queueing via publish*(), which reset the frozen baseline and published a stale edit over an advanced remote. - Merge lanes clear an own outbox only after an authoritative retained-head fetch proves the head subsumes the attempted store; a bare EVENT OK on a superseded NIP-33 write no longer drops the loser's durable click. - An unreadable/unsupported pre-publish head retains the pending edit and retries rather than overwriting state the client could not inspect. - Document the accepted mixed-fleet residual (a same-second old-build click reads rev 0 and loses to an earlier new-build rev, healing on the next later-second click) and pin it with a test; no protocol change. Regressions added for each item, mutation-verified where the fix lives in the hook. Co-authored-by: Will Pfleger <pfleger.will@gmail.com> Signed-off-by: Will Pfleger <pfleger.will@gmail.com>