From fa3915e1ef5ccaa07ed62bdbb1f69acfaafa13e0 Mon Sep 17 00:00:00 2001 From: wobsoriano Date: Tue, 4 Aug 2026 07:42:40 -0700 Subject: [PATCH 1/2] ci(repo): retrigger release --- .changeset/retrigger-core-2-release.md | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 .changeset/retrigger-core-2-release.md diff --git a/.changeset/retrigger-core-2-release.md b/.changeset/retrigger-core-2-release.md new file mode 100644 index 00000000000..a845151cc84 --- /dev/null +++ b/.changeset/retrigger-core-2-release.md @@ -0,0 +1,2 @@ +--- +--- From 29ae2be158a23ccb10196f9e7eed9811efc0396e Mon Sep 17 00:00:00 2001 From: Robert Soriano Date: Thu, 30 Jul 2026 12:56:27 -0700 Subject: [PATCH 2/2] fix(e2e): Stop relying on startVerification to reset fva in reverification tests (#9291) --- integration/tests/reverification.test.ts | 43 +++++++++++++++++------- 1 file changed, 31 insertions(+), 12 deletions(-) diff --git a/integration/tests/reverification.test.ts b/integration/tests/reverification.test.ts index da72fa563d4..3b41897be81 100644 --- a/integration/tests/reverification.test.ts +++ b/integration/tests/reverification.test.ts @@ -231,13 +231,22 @@ testAgainstRunningApps({ withEnv: [appConfigs.envs.withReverification] })( await u.page.getByRole('button', { name: /LogUserId/i }).click(); await expect(u.page.getByText(/\{\s*"userId"\s*:\s*"user_[^"]+"\s*\}/i)).toBeVisible(); - // Hack to reset fva + // startVerification no longer resets fva server-side, so age the signed-in factor past afterMinutes await u.po.expect.toBeSignedIn(); - await page.evaluate(async () => { - return window.Clerk.session.startVerification({ - level: 'first_factor', - }); - }); + await expect + .poll( + () => + page.evaluate(async () => { + const token = await window.Clerk.session?.getToken({ skipCache: true }); + if (!token) { + return -1; + } + const payload = token.split('.')[1].replace(/-/g, '+').replace(/_/g, '/'); + return JSON.parse(atob(payload)).fva?.[0] ?? -1; + }), + { intervals: [5_000], timeout: 120_000 }, + ) + .toBeGreaterThanOrEqual(1); await u.page.goToRelative(`/requires-re-verification`); await u.page.getByRole('button', { name: /LogUserId/i }).click(); await expect( @@ -248,6 +257,7 @@ testAgainstRunningApps({ withEnv: [appConfigs.envs.withReverification] })( }); test(`reverification recovery from ${capitalize(type)}`, async ({ page, context }) => { + test.setTimeout(270_000); const u = createTestUtils({ app, page, context }); await u.po.signIn.goTo(); @@ -263,13 +273,22 @@ testAgainstRunningApps({ withEnv: [appConfigs.envs.withReverification] })( await u.page.getByRole('button', { name: /LogUserId/i }).click(); await expect(u.page.getByText(/\{\s*"userId"\s*:\s*"user_[^"]+"\s*\}/i)).toBeVisible(); - // Hack to reset fva + // startVerification no longer resets fva server-side, so age the signed-in factor past afterMinutes await u.po.expect.toBeSignedIn(); - await page.evaluate(async () => { - return window.Clerk.session.startVerification({ - level: 'first_factor', - }); - }); + await expect + .poll( + () => + page.evaluate(async () => { + const token = await window.Clerk.session?.getToken({ skipCache: true }); + if (!token) { + return -1; + } + const payload = token.split('.')[1].replace(/-/g, '+').replace(/_/g, '/'); + return JSON.parse(atob(payload)).fva?.[0] ?? -1; + }), + { intervals: [5_000], timeout: 120_000 }, + ) + .toBeGreaterThanOrEqual(1); await u.page.goToRelative(`/action-with-use-reverification`); await u.po.expect.toBeSignedIn();