Skip to content

fix(e2e): use local webauthn ceremony in E2E tests#279

Merged
brendanjryan merged 1 commit intomainfrom
fix/e2e-local-webauthn
Apr 10, 2026
Merged

fix(e2e): use local webauthn ceremony in E2E tests#279
brendanjryan merged 1 commit intomainfrom
fix/e2e-local-webauthn

Conversation

@brendanjryan
Copy link
Copy Markdown
Contributor

Problem

All E2E tests on main have been failing since PR #259 (accounts 0.5.1 → 0.5.4). Every test fails at the sign-in step — clicking "Sign in"/"Sign up" never produces a "Sign out" button.

Root Cause

In accounts@0.5.1, the wagmi webAuthn() connector had a bug where the authUrl option was silently ignored — it wasn't destructured or forwarded to the adapter. This meant the E2E config accidentally used WebAuthnCeremony.local() (browser-side passkey ceremonies), which worked perfectly with Playwright's CDP virtual authenticator.

In accounts@0.5.4, this was fixed — authUrl is now properly forwarded. So the E2E tests started hitting https://keys.tempo.xyz/register/options, /login/options, etc. But keys.tempo.xyz runs Handler.keyManager (from tempo.ts), which serves completely different routes (GET /challenge, GET /:id). All ceremony requests 404, sign-in fails silently, and tests time out.

Fix

Remove authUrl from the VITE_E2E branch of the wagmi config. This makes the E2E connector use WebAuthnCeremony.local() — the correct behavior for tests with a CDP virtual authenticator. The production config is unchanged.

@vercel
Copy link
Copy Markdown

vercel bot commented Apr 10, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
tempo-docs Ready Ready Preview, Comment Apr 10, 2026 4:01pm

Request Review

Remove authUrl from the E2E webAuthn connector config so it falls back
to WebAuthnCeremony.local() instead of hitting keys.tempo.xyz.

In accounts@0.5.4+, the authUrl option is now correctly forwarded to
the adapter (previously silently ignored), which causes E2E tests to
call keys.tempo.xyz/register/options — a route that doesn't exist on
the key-manager worker. Local ceremonies work with Playwright's CDP
virtual authenticator and don't depend on external services.
@brendanjryan brendanjryan force-pushed the fix/e2e-local-webauthn branch from f989c8c to a1c8fa3 Compare April 10, 2026 15:57
@brendanjryan brendanjryan merged commit 5a082cf into main Apr 10, 2026
9 checks passed
@brendanjryan brendanjryan deleted the fix/e2e-local-webauthn branch April 10, 2026 16:06
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.

1 participant