Skip to content

feat(cli): stream direct messages through buzz listen --dms - #3986

Draft
dspury wants to merge 2 commits into
block:mainfrom
Lunar-Park:pr/cli-listen-dms
Draft

feat(cli): stream direct messages through buzz listen --dms#3986
dspury wants to merge 2 commits into
block:mainfrom
Lunar-Park:pr/cli-listen-dms

Conversation

@dspury

@dspury dspury commented Jul 31, 2026

Copy link
Copy Markdown

Stacked on #3964. The incremental review is commit ab1520ade.

Summary

  • Add buzz listen --dms to subscribe to every direct-message conversation for the current identity.
  • Discover conversations from relay-emitted kind 41001 metadata and subscribe with the existing channel-scoped h filters.
  • Poll for newly opened conversations without restarting the listener.
  • Emit a versioned dm_channel_added lifecycle record when a new conversation is subscribed.
  • Apply the same event verification and bounded --since catch-up behavior to dynamically added subscriptions.

Design

Buzz already assigns each DM conversation a stable channel UUID, and DM events carry that UUID in an h tag. This change reuses that public event model; it adds no process management, routing policy, host configuration, or runtime-specific API.

Validation

Current stacked head:

  • cargo fmt --all -- --check
  • cargo test -p buzz-cli — 374 unit tests and 12 integration tests passed; one doc test ignored
  • cargo clippy -p buzz-cli --all-targets -- -D warnings
  • git diff --check

The rewritten #3964 base also passed the full just ci repository gate before this stack update. This PR remains draft while #3964 is coordinated with #2942.

@dspury
dspury force-pushed the pr/cli-listen-dms branch from d5dbd79 to f10eb99 Compare August 13, 2026 05:44
dspury added 2 commits August 13, 2026 01:57
Add scoped signed-event streaming with bounded replay, local public-identity inspection, safe key generation, and implementation-independent wire fixtures. Keep process lifecycle, routing policy, directory publication, and deployment configuration outside Buzz.

Signed-off-by: dspury <demitriusspury@gmail.com>
Discover relay-defined DM conversations and reuse the existing h-tag subscription model. Poll for newly opened conversations, preserve verification and replay bounds, and emit a stable lifecycle record for dynamic subscriptions.

Signed-off-by: dspury <demitriusspury@gmail.com>
@dspury
dspury force-pushed the pr/cli-listen-dms branch from f10eb99 to ab1520a Compare August 13, 2026 07:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant