Skip to content

Add buzz users set-status for the NIP-38 profile status line - #3253

Open
kaganin wants to merge 1 commit into
block:mainfrom
kaganin:users-set-status
Open

Add buzz users set-status for the NIP-38 profile status line#3253
kaganin wants to merge 1 commit into
block:mainfrom
kaganin:users-set-status

Conversation

@kaganin

@kaganin kaganin commented Jul 28, 2026

Copy link
Copy Markdown

Summary

The desktop client renders a persistent user status (NIP-38 kind:30315, d:general) as the status line on profiles, but the CLI had no way to set it — only ephemeral presence (set-presence, kind:20001). Integrations that want a scriptable, durable status line (for example a now-playing music bridge that shows the current TIDAL track on a profile) had no entry point.

Screenshots

1 2

This adds:

buzz users set-status --text "Working on the relay" --emoji "🔧"
buzz users set-status --text ""   # clears the status
  • Signs and submits the replaceable kind:30315 event via the HTTP bridge (no WS needed — unlike presence, user status is a stored event).
  • Uses the d:general coordinate the desktop client already reads for the profile status line, and the same emoji tag shape SetStatusDialog publishes.
  • Empty/whitespace text publishes empty content, which the desktop treats as a cleared status.

Test plan

  • cargo test -p buzz-cli --lib — 250 passed (includes updated command-inventory tests for the new subcommand).
  • Manually verified end-to-end against a live community relay: published a status from the CLI and confirmed the desktop client renders it in the profile popover status line, live-updating via the kind:30315 subscription.

The desktop client renders a persistent user status (kind:30315,
d:general) on profiles, but the CLI had no way to set it — only
ephemeral presence. Integrations such as a now-playing music bridge
need a scriptable way to update the status line.

`buzz users set-status --text "..." [--emoji "🎶"]` signs and submits
the replaceable status event via the HTTP bridge. Empty text clears
the status.

Signed-off-by: Kagan Yaldizkaya <[email protected]>
@kaganin
kaganin requested a review from a team as a code owner July 28, 2026 01:06
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