From 0c2868257c855f5c2e666bd2b6ed8f4fc64dc0bf Mon Sep 17 00:00:00 2001 From: waleed Date: Wed, 21 Jan 2026 17:42:03 -0800 Subject: [PATCH 1/2] fix(auth): handle EMAIL_NOT_VERIFIED in onError callback --- apps/sim/app/(auth)/login/login-form.tsx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/apps/sim/app/(auth)/login/login-form.tsx b/apps/sim/app/(auth)/login/login-form.tsx index a259a036fc..6502c1c931 100644 --- a/apps/sim/app/(auth)/login/login-form.tsx +++ b/apps/sim/app/(auth)/login/login-form.tsx @@ -213,9 +213,12 @@ export default function LoginPage({ onError: (ctx) => { logger.error('Login error:', ctx.error) - // EMAIL_NOT_VERIFIED is handled by the catch block which redirects to /verify if (ctx.error.code?.includes('EMAIL_NOT_VERIFIED')) { errorHandled = true + if (typeof window !== 'undefined') { + sessionStorage.setItem('verificationEmail', email) + } + router.push('/verify') return } From c270b107ff02cbe0149bc4e00fcecfee3a716a3d Mon Sep 17 00:00:00 2001 From: waleed Date: Wed, 21 Jan 2026 18:25:46 -0800 Subject: [PATCH 2/2] refactor(auth): extract redirectToVerify helper to reduce duplication --- apps/sim/app/(auth)/login/login-form.tsx | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/apps/sim/app/(auth)/login/login-form.tsx b/apps/sim/app/(auth)/login/login-form.tsx index 6502c1c931..c58b102bc5 100644 --- a/apps/sim/app/(auth)/login/login-form.tsx +++ b/apps/sim/app/(auth)/login/login-form.tsx @@ -182,6 +182,13 @@ export default function LoginPage({ e.preventDefault() setIsLoading(true) + const redirectToVerify = (emailToVerify: string) => { + if (typeof window !== 'undefined') { + sessionStorage.setItem('verificationEmail', emailToVerify) + } + router.push('/verify') + } + const formData = new FormData(e.currentTarget) const emailRaw = formData.get('email') as string const email = emailRaw.trim().toLowerCase() @@ -215,10 +222,7 @@ export default function LoginPage({ if (ctx.error.code?.includes('EMAIL_NOT_VERIFIED')) { errorHandled = true - if (typeof window !== 'undefined') { - sessionStorage.setItem('verificationEmail', email) - } - router.push('/verify') + redirectToVerify(email) return } @@ -286,10 +290,7 @@ export default function LoginPage({ router.push(safeCallbackUrl) } catch (err: any) { if (err.message?.includes('not verified') || err.code?.includes('EMAIL_NOT_VERIFIED')) { - if (typeof window !== 'undefined') { - sessionStorage.setItem('verificationEmail', email) - } - router.push('/verify') + redirectToVerify(email) return }