Skip to content

feat(cli): include display names in channel members - #4461

Open
kiranmagic7 wants to merge 1 commit into
block:mainfrom
kiranmagic7:fix/channel-member-display-names
Open

feat(cli): include display names in channel members#4461
kiranmagic7 wants to merge 1 commit into
block:mainfrom
kiranmagic7:fix/channel-member-display-names

Conversation

@kiranmagic7

Copy link
Copy Markdown
Contributor

Summary

buzz channels members serialized the channel membership tags directly, so each record contained only pubkey and role. This change loads member profiles with one batched kind:0 filter and adds a nullable display_name to each record while preserving membership order and roles. The profile projection uses the relay's existing name fallback; missing or malformed profiles produce null.

Related issue

Fixes #4437. No duplicate implementation was found; the closest prior CLI mention work is #3330, which does not change channels members output.

Testing

  • cargo test -p buzz-cli channel_member -- --nocapture
  • cargo test -p buzz-cli
  • cargo clippy -p buzz-cli --all-targets --all-features -- -D warnings
  • cargo fmt --all -- --check
  • just ci

All checks passed. No screenshots are needed for this CLI JSON change.

Signed-off-by: kiranmagic7 <262980978+kiranmagic7@users.noreply.github.com>
@kiranmagic7
kiranmagic7 requested a review from a team as a code owner August 3, 2026 03:10
@Chessing234

Copy link
Copy Markdown
Contributor

looking at this for #4437 — if you're joining display names via users bulk on the same pubkeys from the membership event, that matches how the relay does mention routing. please keep display_name nullable when a profile is missing so tooling can tell "no name" from "not returned".

@kiranmagic7

Copy link
Copy Markdown
Contributor Author

Thanks, that is the contract in this branch now. display_name is added as JSON null when no profile/name is available, so callers can distinguish a missing profile from a returned empty string. The regression channel_members_include_nullable_profile_display_names covers that nullable path and I will keep it unchanged.

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.

channels members omits display_name, so duplicate-name conditions are undetectable from that endpoint

2 participants