mirror of
https://github.com/block/buzz.git
synced 2026-08-18 06:50:31 +02:00
The inbound reconcile resolved the retention scope at processing time from whichever workspace was active. A community switch while an event was in flight retained it into the new community's scoped store, attributing another community's agent to the wrong one. The subscription now forwards the relay it was opened on, and the reconcile resolves the write target from that arrival relay instead. A mismatch drops the event: it was already durable in its own community's store, whose next boot reconcile refetches it. Only inbound paths are arrival-scoped; owner authored publishes still target the active scope. Relay-URL normalization is shared with the path hash so "same relay" and "same database" cannot drift, and the arrival check is a pure function over RetentionScope so it is testable without an AppHandle. The reconcile moves to personas/inbound.rs, retiring mod.rs's file-size exception rather than raising it. Co-authored-by: Will Pfleger <pfleger.will@gmail.com> Signed-off-by: Will Pfleger <pfleger.will@gmail.com>