Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .sources/VERSIONS
Original file line number Diff line number Diff line change
Expand Up @@ -62,4 +62,4 @@ motoko-core v2.4.0
cdk-rs ic-cdk v0.20.1 / ic-cdk-timers v1.0.0 / ic-cdk-executor v2.0.0 317f55c
candid 2025-12-18 # candid v0.10.20, didc v0.5.4 2e4a2cf
response-verification v3.1.0 18c5a37
internetidentity release-2026-08-07 c78d1b99
internetidentity release-2026-08-14 21ab317d
2 changes: 1 addition & 1 deletion .sources/internetidentity
Submodule internetidentity updated 83 files
+109 −95 Cargo.lock
+1 −1 Dockerfile
+868 −689 package-lock.json
+24 −28 package.json
+12 −0 src/frontend/src/hooks.client.ts
+1 −4 src/frontend/src/lib/assets/aaguid/index.ts
+1 −3 src/frontend/src/lib/components/ui/AuthMethodBadge.svelte
+12 −15 src/frontend/src/lib/components/wizards/emailRecovery/shared/poll.test.ts
+3 −2 src/frontend/src/lib/components/wizards/migration/MigrationWizard.svelte
+3 −2 src/frontend/src/lib/components/wizards/migration/views/EnterIdentityNumber.svelte
+5 −4 src/frontend/src/lib/generated/internet_identity_idl.js
+28 −3 src/frontend/src/lib/generated/internet_identity_types.d.ts
+1 −3 src/frontend/src/lib/globals.ts
+6 −17 src/frontend/src/lib/legacy/flows/verifiableCredentials/allowCredentials.ts
+1 −2 src/frontend/src/lib/legacy/flows/verifiableCredentials/index.ts
+10 −0 src/frontend/src/lib/legacy/styles/main.css
+5 −3 src/frontend/src/lib/templates/anchorInput.ts
+1 −2 src/frontend/src/lib/templates/authenticateBox/errorToast.ts
+1 −2 src/frontend/src/lib/templates/displayError.ts
+11 −9 src/frontend/src/lib/templates/loader.ts
+5 −3 src/frontend/src/lib/templates/warnBox.ts
+34 −0 src/frontend/src/lib/utils/discoverablePasskeyIdentity.test.ts
+29 −0 src/frontend/src/lib/utils/discoverablePasskeyIdentity.ts
+0 −109 src/frontend/src/lib/utils/html.ts
+2 −4 src/frontend/src/lib/utils/iiConnection.ts
+26 −80 src/frontend/src/lib/utils/mcpConfig.test.ts
+31 −74 src/frontend/src/lib/utils/mcpConfig.ts
+1 −3 src/frontend/src/lib/utils/multiWebAuthnIdentity.ts
+55 −0 src/frontend/src/lib/utils/primaryOrigin.ts
+1 −2 src/frontend/src/lib/utils/validateDerivationOrigin.ts
+6 −3 src/frontend/src/routes/(new-styling)/+page.svelte
+18 −4 src/frontend/src/routes/(new-styling)/authorize/+page.svelte
+1 −1 src/frontend/src/routes/(new-styling)/manage/(authenticated)/(home)/+page.svelte
+1 −0 src/frontend/src/routes/(new-styling)/manage/(authenticated)/(home)/smartActions.test.ts
+5 −2 src/frontend/src/routes/(new-styling)/manage/(authenticated)/access/+page.svelte
+15 −8 src/frontend/src/routes/(new-styling)/manage/(authenticated)/access/components/PasskeyItem.svelte
+40 −1 src/frontend/src/routes/(new-styling)/manage/(authenticated)/access/utils.test.ts
+9 −2 src/frontend/src/routes/(new-styling)/manage/(authenticated)/access/utils.ts
+12 −0 src/frontend/src/routes/(new-styling)/manage/(authenticated)/settings/+page.svelte
+54 −76 ...rontend/src/routes/(new-styling)/manage/(authenticated)/settings/components/McpTrustedServersSection.svelte
+66 −2 src/frontend/src/routes/(new-styling)/manage/(authenticated)/settings/utils.test.ts
+27 −0 src/frontend/src/routes/(new-styling)/manage/(authenticated)/settings/utils.ts
+9 −1 src/frontend/src/routes/(new-styling)/recovery/+page.svelte
+4 −33 src/frontend/src/routes/+layout.svelte
+3 −3 src/frontend/tests/e2e-playwright/fixtures/identity.ts
+78 −0 src/frontend/tests/e2e-playwright/routes/authorize/legacy.spec.ts
+0 −23 src/frontend/tests/e2e-playwright/routes/cli.spec.ts
+14 −0 src/frontend/tests/e2e-playwright/routes/manage/access.spec.ts
+19 −0 src/frontend/tests/e2e-playwright/routes/recovery.spec.ts
+20 −10 src/frontend/tests/e2e-playwright/utils.ts
+14 −3 src/internet_identity/internet_identity.did
+19 −1 src/internet_identity/src/anchor_management.rs
+44 −0 src/internet_identity/src/authz_utils.rs
+65 −12 src/internet_identity/src/dmarc/from_header.rs
+1 −0 src/internet_identity/src/dmarc/mod.rs
+8 −0 src/internet_identity/src/email_inbound/mod.rs
+150 −5 src/internet_identity/src/email_inbound/pending.rs
+66 −4 src/internet_identity/src/email_inbound/prepare.rs
+183 −22 src/internet_identity/src/email_inbound/smtp.rs
+74 −19 src/internet_identity/src/email_inbound/submit_leaf.rs
+77 −21 src/internet_identity/src/email_recovery/prepare.rs
+5 −0 src/internet_identity/src/email_recovery/remove.rs
+51 −10 src/internet_identity/src/main.rs
+3 −2 src/internet_identity/src/mcp.rs
+15 −2 src/internet_identity/src/openid/configured.rs
+27 −3 src/internet_identity/src/openid/verify.rs
+3 −2 src/internet_identity/src/storage/storable/mcp_config.rs
+10 −2 src/internet_identity/src/verified_emails/prepare.rs
+5 −0 src/internet_identity/src/verified_emails/remove.rs
+608 −2 src/internet_identity/tests/integration/email_recovery.rs
+50 −4 src/internet_identity/tests/integration/mcp.rs
+1 −0 src/internet_identity_interface/src/internet_identity/types.rs
+10 −0 src/internet_identity_interface/src/internet_identity/types/api_v2.rs
+1 −1 src/sig-verifier-js/package.json
+9 −11 src/sig-verifier-js/vitest.config.ts
+183 −147 src/test_openid_provider/package-lock.json
+2 −2 src/test_openid_provider/package.json
+469 −405 src/try-ii/package-lock.json
+1 −1 src/try-ii/src/try-ii-frontend/package.json
+1 −1 src/vc-api/package.json
+4 −4 src/vite-plugins/package.json
+11 −2 vite.config.ts
+31 −33 vitest.config.ts
17 changes: 14 additions & 3 deletions public/references/internet-identity.did
Original file line number Diff line number Diff line change
Expand Up @@ -1026,6 +1026,13 @@ type IdentityInfo = record {
// shows a "limit reached" notice in the wizard when adding
// beyond the cap.
verified_emails : opt vec VerifiedEmail;
// The anchor's synced trusted-MCP-server config (absent when the
// anchor never wrote one). Carried here rather than read from the
// mcp_get_config query so the Settings UI has a certified value to
// render and to base its writes on: identity_info is an update
// call, so its response is certified through consensus, whereas a
// query reply a single malicious node could forge is not.
mcp_config : opt McpConfig;
};

type IdentityInfoError = variant {
Expand Down Expand Up @@ -1876,9 +1883,13 @@ service : (opt InternetIdentityInit) -> {

// Read the identity's synced trusted-MCP-server config (master toggle + the
// trusted server URL). Persisted on-chain, so it follows the identity across
// devices. Read by the Settings UI and the /mcp connect flow (which verifies
// the connecting origin against it). Returns the disabled, no-server default
// for an unauthorized caller or an anchor that never wrote a config.
// devices. Being a query, the reply is signed by a single node: the /mcp
// connect flow uses it only to pick which screen to show, and gates delivery
// on the certified trusted_url from prepare_mcp_registration_delegation.
// Callers that render trust, or write the config back, take it from
// IdentityInfo.mcp_config on the identity_info update call instead. Returns
// the disabled, no-server default for an unauthorized caller or an anchor
// that never wrote a config.
// `null` means the identity has never written a config — distinct from a
// stored one that is switched off. The two behave differently at /mcp: the
// first may connect the deployment's official connector (completing the
Expand Down
Loading