fix(admin): avoid locally caught exception in PasskeyLogin (#268)

* fix(admin): avoid locally caught exception in PasskeyLogin

Why:

The passkey login flow threw an error when navigator.credentials.get()
returned no credential, but that exception was immediately caught by the
local catch block in the same function. This triggered a
"throw of exception caught locally" warning and made the failure path
less direct.

What:

- Handle the missing credential case inline instead of throwing locally
- Preserve the existing error message shown to the user
- Keep the onError callback behavior unchanged

* Add changeset

---------

Co-authored-by: Matt Kane <m@mk.gg>
Co-authored-by: Matt Kane <mkane@cloudflare.com>
This commit is contained in:
Doğu Abaris
2026-04-06 22:05:16 +02:00
committed by GitHub
parent b297fdd88d
commit ab21f29f71
2 changed files with 9 additions and 1 deletions

View File

@@ -200,7 +200,10 @@ export function PasskeyLogin({
const rawCredential = await navigator.credentials.get(credentialOptions);
if (!rawCredential) {
throw new Error("No credential returned from authenticator");
const message = "No credential returned from authenticator";
setState({ status: "error", message });
onError?.(new Error(message));
return;
}
// Step 3: Send credential to server for verification