From 18bf041575bef7b2f8e37ad21a30d5e9dba82711 Mon Sep 17 00:00:00 2001 From: Tom Milewski Date: Mon, 7 Oct 2024 12:39:04 -0400 Subject: [PATCH 1/2] fix(elements): Remove example mode guard from passkey event in verifications --- .changeset/little-adults-end.md | 5 +++++ .../internals/machines/sign-in/verification.machine.ts | 9 ++++----- 2 files changed, 9 insertions(+), 5 deletions(-) create mode 100644 .changeset/little-adults-end.md diff --git a/.changeset/little-adults-end.md b/.changeset/little-adults-end.md new file mode 100644 index 00000000000..01e109f7e06 --- /dev/null +++ b/.changeset/little-adults-end.md @@ -0,0 +1,5 @@ +--- +"@clerk/elements": patch +--- + +Remove "example mode" guard form "AUTHENICTATE.PASSKEY" event in verification flow diff --git a/packages/elements/src/internals/machines/sign-in/verification.machine.ts b/packages/elements/src/internals/machines/sign-in/verification.machine.ts index 0ae248f3c3f..acb2104db53 100644 --- a/packages/elements/src/internals/machines/sign-in/verification.machine.ts +++ b/packages/elements/src/internals/machines/sign-in/verification.machine.ts @@ -14,7 +14,7 @@ import type { Web3Attempt, } from '@clerk/types'; import type { DoneActorEvent } from 'xstate'; -import { assign, fromPromise, log, not, sendTo, setup } from 'xstate'; +import { assign, fromPromise, log, sendTo, setup } from 'xstate'; import { MAGIC_LINK_VERIFY_PATH_ROUTE, @@ -270,7 +270,6 @@ const SignInVerificationMachine = setup({ description: 'Waiting for user input', on: { 'AUTHENTICATE.PASSKEY': { - guard: not('isExampleMode'), target: 'AttemptingPasskey', reenter: true, }, @@ -411,8 +410,8 @@ export const SignInFirstFactorMachine = SignInVerificationMachine.provide({ // prepareFirstFactor, we need to assert that the input is a PrepareFirstFactor. For some reason, ESLint thinks // the assertion is unnecessary, and will remove it during the pre-commit hook. To prevent that, we disable the // rule for the line. - // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion - const { params, parent, resendable } = input as PrepareFirstFactorInput; + + const { params, parent, resendable } = input; const clerk = parent.getSnapshot().context.clerk; // If a prepare call has already been fired recently, don't re-send @@ -515,7 +514,7 @@ export const SignInSecondFactorMachine = SignInVerificationMachine.provide({ ), ), prepare: fromPromise(async ({ input }) => { - const { params, parent, resendable } = input as PrepareSecondFactorInput; + const { params, parent, resendable } = input; const clerk = parent.getSnapshot().context.clerk; // If a prepare call has already been fired recently, don't re-send From 563b9eae8f772edcb756a15dee3893a782ab17bb Mon Sep 17 00:00:00 2001 From: Tom Milewski Date: Mon, 7 Oct 2024 12:50:06 -0400 Subject: [PATCH 2/2] Fix auto-formatting --- .../src/internals/machines/sign-in/verification.machine.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/elements/src/internals/machines/sign-in/verification.machine.ts b/packages/elements/src/internals/machines/sign-in/verification.machine.ts index acb2104db53..eeedd8c2de8 100644 --- a/packages/elements/src/internals/machines/sign-in/verification.machine.ts +++ b/packages/elements/src/internals/machines/sign-in/verification.machine.ts @@ -411,7 +411,7 @@ export const SignInFirstFactorMachine = SignInVerificationMachine.provide({ // the assertion is unnecessary, and will remove it during the pre-commit hook. To prevent that, we disable the // rule for the line. - const { params, parent, resendable } = input; + const { params, parent, resendable } = input as PrepareFirstFactorInput; const clerk = parent.getSnapshot().context.clerk; // If a prepare call has already been fired recently, don't re-send @@ -514,7 +514,7 @@ export const SignInSecondFactorMachine = SignInVerificationMachine.provide({ ), ), prepare: fromPromise(async ({ input }) => { - const { params, parent, resendable } = input; + const { params, parent, resendable } = input as PrepareSecondFactorInput; const clerk = parent.getSnapshot().context.clerk; // If a prepare call has already been fired recently, don't re-send