From 889dfc0a31673bc39ea1b9fa684eeda70ba4f2df Mon Sep 17 00:00:00 2001 From: Maciek Date: Mon, 23 Mar 2026 16:15:11 +0100 Subject: [PATCH] fix(frontend): Add user friendly message when webauthn is cancelled Signed-off-by: Maciek --- app/src/lib/webauthn.ts | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/app/src/lib/webauthn.ts b/app/src/lib/webauthn.ts index 095fb725..61040ccc 100644 --- a/app/src/lib/webauthn.ts +++ b/app/src/lib/webauthn.ts @@ -298,10 +298,13 @@ export async function beginEmailChangeReauth(): Promise { return token; } catch (err: unknown) { const webauthnErr = err as WebAuthnError; + if (webauthnErr.name === 'NotAllowedError') { + throw new Error('Passkey verification was cancelled or timed out.'); + } if (webauthnErr.response?.data?.error) { throw new Error(webauthnErr.response.data.error); } - throw new Error(webauthnErr.message || 'Passkey reauthentication failed'); + throw new Error(webauthnErr.message || 'Passkey reauthentication failed.'); } } @@ -322,9 +325,12 @@ export async function beginAccountDeletionReauth(): Promise { return token; } catch (err: unknown) { const webauthnErr = err as WebAuthnError; + if (webauthnErr.name === 'NotAllowedError') { + throw new Error('Passkey verification was cancelled or timed out.'); + } if (webauthnErr.response?.data?.error) { throw new Error(webauthnErr.response.data.error); } - throw new Error(webauthnErr.message || 'Passkey reauthentication failed'); + throw new Error(webauthnErr.message || 'Passkey reauthentication failed.'); } }