Skip to content

feat: Add schema selection to challenge creation dialog#197

Merged
macterra merged 4 commits intomainfrom
129-challenge-schemas
Mar 13, 2026
Merged

feat: Add schema selection to challenge creation dialog#197
macterra merged 4 commits intomainfrom
129-challenge-schemas

Conversation

@macterra
Copy link
Copy Markdown
Collaborator

@macterra macterra commented Mar 12, 2026

Summary

  • "New" challenge button now opens a dialog with schema selection
  • Users can add one or more schemas from their schema list to request specific credentials
  • Selected schemas displayed as removable Chips; resolved to DIDs via lookupDID on create
  • Empty schema list creates an open challenge (backwards compatible)
  • Fix: "Response is VALID" now shows green success notification instead of red error
  • Applied to all four UIs: gatekeeper client, keymaster client, react-wallet, chrome extension

Closes #129

Test plan

  • Open Auth tab, click "New..." — dialog opens
  • Add schemas from dropdown, verify chips appear and can be removed
  • Create challenge with schemas — resolve to confirm credentials array in asset
  • Create challenge with no schemas — confirm open challenge (empty object)
  • Verify response shows green notification for valid, red for invalid

🤖 Generated with Claude Code

macterra and others added 3 commits March 12, 2026 17:07
New Challenge button now opens a dialog where users can add schemas to
request specific credentials. Selected schemas shown as removable chips.
Empty schema list creates an open challenge as before. Also fixes verify
response notification to use success (green) instead of error (red).

Closes #129

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace issuer text field with a dropdown populated from agent list.
Defaults to "Any issuer" when no specific issuer is required.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Adds schema/issuer selection to the “New Challenge” flow so challenges can optionally request specific credential presentations, and wires this UX into multiple front-ends.

Changes:

  • Introduces a “New Challenge” dialog that lets users add one or more (schema, optional issuer) requirements and displays them as removable Chips.
  • On creation, resolves selected schema/issuer aliases to DIDs via lookupDID and passes a challenge.credentials spec to createChallenge.
  • Updates UI navigation (Chrome extension adds an Auth tab) and adjusts VALID response notification behavior in the Keymaster/Gatekeeper UIs.

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated 10 comments.

Show a summary per file
File Description
services/keymaster/client/src/KeymasterUI.js Adds challenge-creation dialog w/ schema+issuer selection and passes credential spec into createChallenge; adjusts VALID notification.
services/gatekeeper/client/src/KeymasterUI.js Mirrors Keymaster UI changes for challenge dialog/spec + VALID notification.
apps/react-wallet/src/components/AuthTab.tsx Adds challenge dialog/spec-building via lookupDID + createChallenge; updates “New…” button UX.
apps/chrome-extension/src/components/BrowserContent.tsx Adds an Auth tab entry and renders the Auth panel in the extension sidebar.
apps/chrome-extension/src/components/AuthTab.tsx Adds challenge dialog/spec-building via lookupDID + createChallenge; updates “New…” button UX.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

You can also share your feedback on Copilot code review. Take the survey.

Comment thread apps/react-wallet/src/components/AuthTab.tsx
Comment thread apps/react-wallet/src/components/AuthTab.tsx
Comment thread apps/react-wallet/src/components/AuthTab.tsx
Comment thread apps/chrome-extension/src/components/AuthTab.tsx
Comment thread apps/chrome-extension/src/components/AuthTab.tsx
Comment thread services/keymaster/client/src/KeymasterUI.js
Comment thread services/keymaster/client/src/KeymasterUI.js Outdated
Comment thread services/gatekeeper/client/src/KeymasterUI.js
Comment thread services/gatekeeper/client/src/KeymasterUI.js Outdated
Comment thread apps/chrome-extension/src/components/AuthTab.tsx
…fications

Close challenge dialog only after successful creation so users keep their
selections on error. Use setSuccess/setError for verify response instead
of setWarning in react-wallet and chrome-extension AuthTabs.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@macterra macterra merged commit 427e4e5 into main Mar 13, 2026
13 checks passed
@macterra macterra deleted the 129-challenge-schemas branch March 13, 2026 00:02
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.

Improved Auth GUIs with Challenge Edit Functionality

2 participants