mirror of
https://github.com/block/buzz.git
synced 2026-10-28 04:51:40 +00:00
Every kind:44100/44101 notice now carries `["t", <channel_type>]`. A filter sees a notice only if it knows the type: a filter with `#t` sees the types it names, and a filter without `#t` sees only the frozen legacy types (stream, forum, dm, workflow). A type added later is hidden from old clients by default, so a read path that is not updated fails closed. An untagged notice, stored before this change, counts as a legacy type, so replay across the upgrade stays complete. One filter that names every type reads all notices. The rule lives in buzz-core (`notice_visible`) and in one SQL predicate (`push_notice_visibility`), which defaults to legacy types. The relay reads the channel type in one place, `emit_membership_notification`, and sends no notice when the channel row is missing. Co-authored-by: Larry <627498bd4bd1f281a16431e3c6cce3b5c25b6692798c78672298aefbf2f8f8b5@buzz.block.builderlab.xyz> Signed-off-by: Logan Johnson <loganj@squareup.com>