Files
buzz/crates/buzz-db
Logan Johnson 9d97eb24e5 fix(relay): rename duplicate channel names through the relay
Replace the direct-SQL repair, which needed every relay pod stopped, with
renames that go through the relay's normal kind:9002 path:

- A relay operator may send a name-only kind:9002 for any channel. Every
  other privileged change still needs a channel owner or admin. A
  moderator gets no new right.
- scripts/maintenance/plan_duplicate_listed_channel_renames.sql lists the
  renames (read-only). rename_duplicate_listed_channel_names.sh sends each
  one with `buzz channels update`, signed by an operator key, then reads
  the plan again and fails if any rename remains. The relay enforces the
  name rule and publishes kind:39000 as for any rename, so relays keep
  serving while it runs.
- Remove `buzz-admin reconcile-channel-groups --metadata` and the SQL
  repair script; nothing needs them now.
- Refuse a kind:9007 with no h tag at ingest, before it is stored. Such a
  create used to run in side effects, so a refusal there (a taken name)
  still answered accepted. Every first-party client sends h.

Co-authored-by: Larry <627498bd4bd1f281a16431e3c6cce3b5c25b6692798c78672298aefbf2f8f8b5@buzz.block.builderlab.xyz>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Logan Johnson <loganj@squareup.com>
2026-10-30 16:44:41 -04:00
..