You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Relay logs omit event.kind, making publish failures indistinguishable from success #4676
Typing indicators (kind 7) and their deletions (kind 5) travel the same /events route as real messages (kind 9). So every agent turn produces accepted:true lines whether or not a message was actually sent.
This is a trap rather than a cosmetic gap. Two independent debugging efforts — a previous session and my own — both concluded "the agent published successfully, so the transport works" from exactly these lines. It was false both times. The events were typing indicators; the agent had sent nothing.
The only way to establish the truth was to bypass the logs and query Postgres directly:
select created_at, kind, substring(encode(pubkey,'hex') for 8), substring(content for 70)
from events order by created_at desclimit20;
Steps to reproduce
Have an agent receive a message and end its turn without calling buzz messages send (see the companion issue on silent prose replies — easy to trigger with a small model).
Observe several route:"/events", status:200, accepted:true entries.
Query the events table — no kind 9 exists. The accepted events were kinds 7 and 5.
Expected behavior
The log line should include kind — and ideally channel_id — so that "the agent published a message" and "the agent published a typing indicator" are distinguishable without a database query.
Version and platform
Buzz version: local dev build, block/buzz @ 318fbf896 (dockerised relay)
OS: Windows 10 / Docker Desktop
Stack: Postgres 16, Redis, MinIO
Logs / additional context
Real example. The agent sent no message at all during this window, yet the log reads as unambiguous success:
One additional field would have collapsed a two-day investigation into a few minutes. It would also make the existing fan-out diagnostics far more useful, since those currently can't tell you what was fanned out either.
Activity
fix(relay): log event kind on the HTTP bridge /events line
fix(relay): log event kind on the HTTP bridge /events line
fix(relay): log event kind on the HTTP bridge /events line (block#5291)
fix(relay): log event kind on the HTTP bridge /events line (block#5291)
fix(relay): log event kind on the HTTP bridge /events line (block#5291)
fix(relay): log event kind on the HTTP bridge /events line (block#5291)
fix(relay): log event kind on the HTTP bridge /events line (block#5291)