Skip to content

fix(eid-wallet): show the role once, and a real message for an unknown eName - #1165

Merged
Sahil2004 merged 2 commits into
mainfrom
Bekiboo/social-binding-details-and-errors
Sep 25, 2026
Merged

Sahil2004 merged 2 commits into
mainfrom
Bekiboo/social-binding-details-and-errors

Conversation

@Bekiboo

@Bekiboo Bekiboo commented Sep 25, 2026 •

Copy link
Copy Markdown
Collaborator

Description of change

The social binding details sheet showed the role twice — as a badge and again as each entry's heading. It now appears once, and the entry repeats it only when bindings with that contact run in both directions, or when it prefixes an awaiting note.

Scanning a QR code for an eName that isn't in the registry showed Registry could not resolve @…: 404 — internal wording, an HTTP status, and untranslated. resolveVaultUri now throws an ENAME_NOT_FOUND code, following the CANCEL_NOT_PENDING pattern from #1147; callers word it from the message catalog and the status stays in console.error.

Issue Number

Closes #1160
Closes #1151

Type of change

  • Fix (a change which fixes an issue)

Design decisions

Two catalog keys rather than one. The scan screen says "check the QR code"; the details sheet does not, because the same code surfaces there when cancelling an invite whose counterparty won't resolve, where no QR code is involved. Without the second mapping the raw sentinel string would have reached that error box.

The per-entry role is dropped on !binding.mutuallySigned rather than the contact-level pending flag, so a contact with one confirmed and one pending binding still shows the role on the pending entry, where it prefixes the "· Awaiting confirmation" suffix.

#1151 also suggests flagging the unknown eName on the review screen before the user taps Sign Binding. That is a larger change and is not included — worth a follow-up issue.

How the change has been tested

pnpm run check clean. pnpm run test green for the eid-wallet node project, with two new resolveVaultUri tests asserting the thrown code carries no HTTP status.

The storybook vitest project did not run: installing the Playwright browser hangs at extraction on this machine. It smoke-runs src/**/*.stories.* for $lib/ui primitives only, none of which this PR touches.

Change checklist

  • I have ensured that the CI Checks pass locally
  • I have removed any unnecessary logic
  • My code is well documented
  • I have signed my commits
  • My code follows the pattern of the application
  • I have self reviewed my code

…n eName

The details sheet printed the role as a badge and again as each entry's
heading. The entry now repeats it only when it differs between entries or
when it prefixes an awaiting note.

resolveVaultUri threw "Registry could not resolve @…: 404", which scanLogic
showed verbatim: internal wording, an HTTP status, and untranslated. It now
throws an ENAME_NOT_FOUND code, callers word it from the message catalog, and
the status stays in console.error.
@Bekiboo
Bekiboo requested a review from coodos as a code owner September 25, 2026 10:48
@coderabbitai

coderabbitai Bot commented Sep 25, 2026 •

Copy link
Copy Markdown
Contributor

Warning

Review limit reached

Next included review available in 4 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Learn how review limits work.

Review configuration:

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Advanced

Run ID: cfabbe2b-0d42-4aba-b286-9a46479ae4a1

📥 Commits

Reviewing files that changed from the base of the PR and between 4ed6ebb and 6b04b78.

📒 Files selected for processing (8)
  • docs/static/translations.json
  • infrastructure/eid-wallet/messages/en.json
  • infrastructure/eid-wallet/messages/ru.json
  • infrastructure/eid-wallet/messages/uk.json
  • infrastructure/eid-wallet/src/lib/utils/socialBinding.spec.ts
  • infrastructure/eid-wallet/src/lib/utils/socialBinding.ts
  • infrastructure/eid-wallet/src/routes/(app)/main/components/SocialBindingDetailsSheet.svelte
  • infrastructure/eid-wallet/src/routes/(app)/scan-qr/scanLogic.ts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@Bekiboo Bekiboo self-assigned this Sep 25, 2026
resolveVaultUri mapped every failed registry response to ENAME_NOT_FOUND, so
a registry outage (500, or a proxy's 502/503) told the user the eID did not
exist and to check a QR code that was fine. Any status other than 404 now
throws REGISTRY_UNAVAILABLE, which callers word with the existing generic
messages.
@Sahil2004
Sahil2004 merged commit 05520ef into main Sep 25, 2026
4 checks passed
@Sahil2004
Sahil2004 deleted the Bekiboo/social-binding-details-and-errors branch September 25, 2026 13:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

2 participants