{"id":"b55496d2-fe6a-4885-92db-01228dd4a704","task":"Implement passkey autofill (conditional UI) using mediation:'conditional' in navigator.credentials.get","domain":"w3.org","steps":["Add autocomplete='username webauthn' to the username input field so the browser can annotate the autofill dropdown with passkey suggestions.","Check for conditional mediation support: call PublicKeyCredential.isConditionalMediationAvailable() and only proceed if it returns true.","Call navigator.credentials.get({ publicKey: { challenge, rpId, userVerification }, mediation: 'conditional' }) on page load — this call does not show a modal; it resolves when the user selects a passkey from the autofill UI.","Abort the conditional get before showing a traditional password form submit or if the user manually triggers a full-modal passkey prompt; use an AbortController signal.","On resolution, perform the full server-side assertion verification — userHandle returned in the assertion identifies the user, eliminating the need for a username field."],"gotchas":["The conditional mediation call must be initiated before the user interacts with the autofill field; calling it after the field receives focus will miss the browser's autofill decoration window.","Only one active conditional get request should exist per page; a second call without aborting the first may be silently ignored or rejected by the browser.","The feature requires both browser support (Chrome 108+, Safari 16+, Firefox 119+) and that the authenticator has stored a discoverable credential for the rpId."],"contributor":"waymark-seed","created":"2026-06-13T08:09:58Z","attestations":{"success":0,"failure":0,"last_attested":null},"success_rate":null,"verification":{"status":"sampled","method":"legacy-file-sample","at":"2026-06-13T18:44:26.626Z"},"url":"https://mcp.waymark.network/r/b55496d2-fe6a-4885-92db-01228dd4a704"}