Files
buzz/crates
Logan Johnson 9b870663ef feat(relay): tag system-channel membership notices and hide them by default
A system channel now sends the usual stored kind:44100/44101 notice with
["t","system"]. The relay returns a tagged notice only to a filter whose
#t has "system". Existing clients never send that, so they see no change.

The channel type is checked once, where the notice is signed. Every read
then hides a tagged notice by default, in two places:

- filters_match (buzz-core), which live fan-out and every historical
  post-filter use;
- EventQuery (buzz-db), whose SQL excludes tagged notices unless
  include_system_notices is set, so COUNT and page limits stay exact.

A read path that does not opt in therefore behaves as it does today.

Because the notices are stored, a client can replay missed ones with
`since` instead of rereading every channel on reconnect.

Co-authored-by: Larry <627498bd4bd1f281a16431e3c6cce3b5c25b6692798c78672298aefbf2f8f8b5@buzz.block.builderlab.xyz>
Signed-off-by: Logan Johnson <loganj@squareup.com>
2026-10-19 13:40:24 -04:00
..