Files
buzz/docs
Logan Johnson f24f8e7ba3 feat(relay): tag every membership notice with its channel type
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>
2026-10-19 15:54:19 -04:00
..
2026-07-21 17:16:23 +00:00