Skip to content

feat(profiles): show agent metadata and copyable nip05 - #253

Open
kalvinnchau wants to merge 5 commits into
mainfrom
cid/profile-agent-metadata
Open

kalvinnchau wants to merge 5 commits into
mainfrom
cid/profile-agent-metadata

Conversation

@kalvinnchau

Copy link
Copy Markdown
Contributor

Summary

  • Show public agent type and capabilities using verified session metadata and managed-owner precedence.
  • Add copyable NIP-05, agent type and capabilities rows with shared toast feedback, preserving the unverified identifier label and existing public-key copy behavior.
  • Keep metadata withheld until ownership settles and recover through the existing profile retry control.

Verification

  • Node integration: 133 passed; Vitest: 3,729 passed; Rust: 25 passed.
  • TypeScript, formatting, design checks and pre-push hooks passed.
  • Profile navigation, recovery, appearance and clipboard-boundary journeys passed in Chromium and WebKit.
  • Full browser comparison: candidate 664/668 passed; clean main 666/668 passed. Kalvin authorized ready-for-review delivery with the aggregate results disclosed in the originating review thread.
  • Extended the existing browser profile journey for keyboard copy affordances and host-toast wiring; metadata matrices remain in colocated tests.

cid added 4 commits September 24, 2026 20:58
Signed-off-by: cid <d9f92a72922bf45c17379a47d64dae84b6020397c2d5a52b5317d512068cd9d3@buzz.block.builderlab.xyz>
Signed-off-by: cid <d9f92a72922bf45c17379a47d64dae84b6020397c2d5a52b5317d512068cd9d3@buzz.block.builderlab.xyz>
Signed-off-by: cid <d9f92a72922bf45c17379a47d64dae84b6020397c2d5a52b5317d512068cd9d3@buzz.block.builderlab.xyz>
Signed-off-by: cid <d9f92a72922bf45c17379a47d64dae84b6020397c2d5a52b5317d512068cd9d3@buzz.block.builderlab.xyz>
@kalvinnchau
kalvinnchau requested review from a team, comp615 and wesbillman as code owners September 25, 2026 05:14

@wesbillman wesbillman left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Carl, an automated reviewer, commenting via Wes’s GitHub account.

Changes requested: one accessibility regression in the copy-row presentation (inline). Resolve it with coverage of the announced values and NIP-05 qualifier. The reviewed metadata provenance, owner precedence, recovery and shared transport paths need no redesign.

Existing CI run 36097758499 tested this head merged into df7b7e7f45739f3e06e12d81623385701acdc51d: JavaScript failed only at the unrelated AgentModelPicker cancel-lookup case (3728/3729); hosted browser passed 658 functional cases plus 7 measurements. That required CI gate remains separate from this finding. No rerun requested.

Source-only review on isolated Blox; no PR code executed. Ownership-transition coverage is jsdom-level; browser coverage exercises copy/host-toast wiring, not live ownership transitions. No real clipboard, assistive-technology session, live-relay or native acceptance was performed; compatibility with the external base-Buzz serializer was not independently established.

tabIndex={0}
type="button"
className={styles.copyField}
aria-label={`Copy ${label}`}

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[P2] Preserve the values and unverified qualifier in the copy rows’ accessible text.

The explicit aria-label ("Copy" plus the field label) overrides the button’s descendant text when computing its accessible name. A user focusing these controls hears only “Copy NIP-05”, “Copy Agent type” or “Copy Capabilities”, without the identifier/type/capabilities value. For NIP-05 this also loses the “unverified” qualifier previously exposed as ordinary paragraph text; its presence inside the button is not enough to include it in the announced name.

Include the displayed value and, for NIP-05, the unverified qualifier in the accessible name or description (or retain them as separate accessible text). Add assertions for those accessible names/descriptions across all three rows; the current text-content assertions do not cover this regression. No metadata/lifecycle redesign is needed.

Signed-off-by: am <6e30cd56c30e030cd31bb0939b94a7c257c9a09d5ba2d92cf2735da45629f248@buzz.block.builderlab.xyz>

@wesbillman wesbillman left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Carl, an automated reviewer, commenting via Wes’s GitHub account.

Clear on focused re-review; no remaining code blockers found. The prior P2 is resolved: each copy control’s accessible name now includes its displayed value, and NIP-05 retains “unverified”. Three exact computed-name assertions cover the regression. Raw clipboard values, keyboard activation, host toasts and existing lifecycle behavior are preserved; metadata provenance/ownership needs no redesign.

Existing CI run 36122245907, attempt 1, passed for this head merged into df7b7e7f45739f3e06e12d81623385701acdc51d: Vitest 3729/3729, hosted Chromium/WebKit journeys 658/658, measurements 7/7, and CI required green. The unrelated AgentModelPicker failure from the previous run passed this time; this PR does not fix that test.

Source-only review on isolated Blox; no PR code executed by reviewers. Exact-name coverage is jsdom-level, not native screen-reader acceptance. Real OS clipboard, live-relay ownership transitions, native/package acceptance and external base-Buzz serializer parity remain unverified. This is a COMMENTED review, not approval or dismissal of the previous review.

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.

2 participants