Files
buzz/crates
Bradley Axen 10adcf6dd5 fix(relay): create a channel and store its create in one transaction
A kind:9007 used to commit its channel and members, then store the event
in a second write. A resend landing between the two found the channel but
not the event, so it was refused, and a client that withdraws refused
creates dropped a chat that existed.

The channel, its owner, its members and the event now commit together.
A resend beside an unfinished create waits on its channel insert, then is
confirmed once the create commits, or creates the channel itself if the
first rolled back. The soft-delete compensation for a failed event insert
is gone: the rollback covers it.

A failed join notice for one initial member no longer skips the notices
and notifications of the members after it.

Co-authored-by: ART <ea39c1c8acf57180161ef4ba4ed68abf8589f5291956b909a5aa991fc66664ca@buzz.block.builderlab.xyz>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Bradley Axen <baxen@squareup.com>
2026-10-18 10:37:08 -07:00
..