Skip to content

feat: connection page - #755

Draft
coplat wants to merge 54 commits into
fix/add-vc-sd-jwtfrom
feat/connection-page
Draft

feat: connection page#755
coplat wants to merge 54 commits into
fix/add-vc-sd-jwtfrom
feat/connection-page

Conversation

@coplat

@coplat coplat commented Aug 20, 2026

Copy link
Copy Markdown
Contributor

Description of change

Please write a summary of your changes and why you made them.

Links to any relevant issues

Be sure to reference any related issues by adding fixes issue #.

How the change has been tested

Describe the tests that you ran to verify your changes.
Make sure to provide instructions for the maintainer as well as any relevant configurations.

Definition of Done checklist

Add an x to the boxes that are relevant to your changes.

  • I have followed the contribution guidelines for this project
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes

Oran-Dan and others added 30 commits August 17, 2026 17:45
@coplat coplat changed the title Feat/connection page feat: connection page Aug 26, 2026

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

Introduces a redesigned connection-acceptance flow shared across SIOPv2, OID4VP, and OID4VCI, including connection history and certification details.

Changes:

  • Adds connection trust, interaction, domain-validation, and certification interfaces.
  • Refactors QR processing through an acceptance stage and extends prompt metadata.
  • Adds localization, generated bindings, mocks, and utility tests.

Reviewed changes

Copilot reviewed 60 out of 60 changed files in this pull request and generated 19 comments.

Show a summary per file
File Description
unime/src/routes/prompt/share-credentials/+page.svelte Updates logo presentation.
unime/src/routes/prompt/credential-offer/+page.svelte Updates issuer logo presentation.
unime/src/routes/prompt/accept-connection/SectionHeader.svelte Adds reusable section headings.
unime/src/routes/prompt/accept-connection/InteractionTiles.svelte Displays interaction counts.
unime/src/routes/prompt/accept-connection/DomainPill.svelte Displays domain status badges.
unime/src/routes/prompt/accept-connection/CertificationsSummary.svelte Adds collapsed certification count.
unime/src/routes/prompt/accept-connection/certifications/+page.ts Configures certification-list layout.
unime/src/routes/prompt/accept-connection/certifications/+page.svelte Adds certification list page.
unime/src/routes/prompt/accept-connection/certifications/[id]/CertificationOverview.svelte Adds certification status overview.
unime/src/routes/prompt/accept-connection/certifications/[id]/+page.ts Configures certification-detail layout.
unime/src/routes/prompt/accept-connection/certifications/[id]/+page.svelte Adds certification detail page.
unime/src/routes/prompt/accept-connection/CertificationCard.svelte Adds certification cards.
unime/src/routes/prompt/accept-connection/+page.svelte Redesigns the connection prompt.
unime/src/routes/prompt/accept-connection/+layout.svelte Manages prompt cancellation across subroutes.
unime/src/routes/+layout.svelte Preserves prompt subroute navigation.
unime/src/lib/utils/url.ts Adds safe hostname parsing.
unime/src/lib/utils/history.ts Adds interaction aggregation.
unime/src/lib/utils/history.test.ts Tests interaction aggregation.
unime/src/lib/utils.ts Adds optional relative-date capitalization.
unime/src/lib/utils.test.ts Tests uncapitalized relative dates.
unime/src/lib/icons/index.ts Exports a shield icon.
unime/src/lib/dev/mocks/resolve.ts Resolves development connection fixtures.
unime/src/lib/dev/mocks/accept-connection.ts Adds connection-page fixtures.
unime/src/i18n/sv-FI/index.ts Adds Swedish translations.
unime/src/i18n/nl-NL/index.ts Adds Dutch translations.
unime/src/i18n/i18n-types.ts Updates generated translation types.
unime/src/i18n/fi-FI/index.ts Adds Finnish translations.
unime/src/i18n/es-ES/index.ts Adds Spanish translations.
unime/src/i18n/en/index.ts Adds English translations.
unime/src/i18n/de-DE/index.ts Adds German translations.
unime/src-tauri/tests/tests/qr_code_scanned.rs Changes QR integration-test execution.
unime/src-tauri/tests/tests/credential_offer.rs Changes offer integration-test execution.
unime/src-tauri/tests/fixtures/states/accept_connection.json Updates prompt fixture shape.
unime/.typesafe-i18n.json Updates the translation schema reference.
identity-wallet/src/state/user_prompt.rs Extends connection prompt data models.
identity-wallet/src/state/search/reducers/search_query.rs Updates credential fixtures for issuer logos.
identity-wallet/src/state/qr_code/reducers/search_query.rs Updates credential fixtures for issuer logos.
identity-wallet/src/state/qr_code/reducers/read_credential_offer.rs Processes accepted credential offers.
identity-wallet/src/state/qr_code/reducers/read_authorization_request.rs Processes accepted OID4VP requests.
identity-wallet/src/state/qr_code/reducers/mod.rs Exports the acceptance reducer.
identity-wallet/src/state/qr_code/reducers/accept_connection.rs Adds the shared QR trust stage.
identity-wallet/src/state/qr_code/actions/qrcode_scanned.rs Routes scans through connection acceptance.
identity-wallet/src/state/did/validate_linked_verifiable_presentations.rs Builds detailed certification records.
identity-wallet/src/state/did/validate_domain_linkage.rs Includes validated URLs in results.
identity-wallet/src/state/credentials/reducers/share_to_linkedin.rs Renames a test environment variable.
identity-wallet/src/state/credentials/reducers/send_token_request.rs Generalizes credential-status lookup.
identity-wallet/src/state/credentials/reducers/send_interactive_authorization_request_follow_up.rs Propagates history-update failures.
identity-wallet/src/state/credentials/reducers/send_credential_request.rs Uses asynchronous client metadata.
identity-wallet/src/state/credentials/reducers/refresh_credential_status.rs Resolves status through Subject.
identity-wallet/src/state/credentials/reducers/handle_oid4vp_authorization_request.rs Refactors metadata and VC handling.
identity-wallet/src/state/credentials/mod.rs Adds issuer logos to display credentials.
identity-wallet/src/state/credentials/actions/credential_offers_selected.rs Documents temporary connection sorting.
identity-wallet/src/state/connections/reducers/handle_siopv2_authorization_request.rs Refactors SIOPv2 client metadata.
identity-wallet/src/state/connections/actions/connection_accepted.rs Continues accepted protocol flows.
identity-wallet/bindings/user_prompt/ValidationResult.ts Adds validation URLs.
identity-wallet/bindings/user_prompt/Member.ts Adds generated member binding.
identity-wallet/bindings/user_prompt/LinkedVerifiableCredentialData.ts Expands certification binding.
identity-wallet/bindings/user_prompt/EcosystemProfile.ts Adds ecosystem binding.
identity-wallet/bindings/user_prompt/CurrentUserPrompt.ts Updates generated prompt union.
identity-wallet/bindings/user_prompt/ConnectionData.ts Adds connection-history binding.
identity-wallet/bindings/credentials/DisplayCredential.ts Adds issuer-logo binding.
Suppressed comments (4)

unime/src-tauri/tests/tests/qr_code_scanned.rs:63

  • This disables the OID4VP scan integration test while the reducer/action sequence is being substantially changed. Adapt it to assert the new accept-connection prompt before credential selection, then re-enable it so the end-to-end flow remains covered.
#[ignore = "TODO: fix this test"]

unime/src-tauri/tests/tests/credential_offer.rs:127

  • Ignoring this test removes the only integration coverage shown here for issuer-logo metadata handling while that logic is being rewritten. Update its state/setup for the new connection stage and re-enable it.
#[ignore = "TODO: fix this test"]

unime/src-tauri/tests/tests/credential_offer.rs:211

  • Ignoring this test removes coverage for the no-logo metadata path while the same metadata parsing is changing. Adapt it to the new active-flow/accept-prompt contract and keep it active.
#[ignore = "TODO: fix this test"]

identity-wallet/src/state/qr_code/reducers/accept_connection.rs:48

  • The active flow contains the complete authorization request/credential offer, so this info-level debug dump persists protocol request material in production logs. Replace it with a variant-only message.
        info!("Initializing active flow: {active_flow:?}");

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread identity-wallet/src/state/did/validate_linked_verifiable_presentations.rs Outdated
Comment thread identity-wallet/src/state/did/validate_linked_verifiable_presentations.rs Outdated
Comment thread identity-wallet/src/state/qr_code/reducers/accept_connection.rs Outdated
Comment on lines +162 to +166
let did_doc = get_http_client()
.await
.get(format!(
"{}/.well-known/did.json",
credential_issuer_url.to_string().trim_end_matches('/')
Comment thread identity-wallet/src/state/did/validate_linked_verifiable_presentations.rs Outdated
Comment thread unime/src/routes/prompt/accept-connection/CertificationCard.svelte
Comment on lines +114 to +118
let origin = credential_issuer_url.origin().ascii_serialization();
let connection_url = if origin == "null" {
credential_issuer_url.to_string()
} else {
origin
Comment thread identity-wallet/src/state/did/validate_linked_verifiable_presentations.rs Outdated
@nanderstabel
nanderstabel changed the base branch from dev to fix/add-vc-sd-jwt August 27, 2026 13:44
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.

4 participants