From cb80e4fdcf1aa806175e361b4962ce3abb4a9213 Mon Sep 17 00:00:00 2001 From: Giancarlo Buomprisco Date: Wed, 28 May 2025 08:27:45 +0700 Subject: [PATCH] Sign in fails when the next parameter is empty (#261) * Refactor sign-in flow to ensure fallback return paths Updated logic to use fallback values for `returnPath` to prevent potential undefined behavior. Improved consistency in handling default paths during sign-in and redirection processes. --- apps/web/app/auth/sign-in/page.tsx | 4 ++-- .../auth/src/components/sign-in-methods-container.tsx | 4 +++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/apps/web/app/auth/sign-in/page.tsx b/apps/web/app/auth/sign-in/page.tsx index 16ad40c52..93a97cf05 100644 --- a/apps/web/app/auth/sign-in/page.tsx +++ b/apps/web/app/auth/sign-in/page.tsx @@ -26,7 +26,7 @@ export const generateMetadata = async () => { }; async function SignInPage({ searchParams }: SignInPageProps) { - const { invite_token: inviteToken, next = '' } = await searchParams; + const { invite_token: inviteToken, next } = await searchParams; const signUpPath = pathsConfig.auth.signUp + @@ -34,7 +34,7 @@ async function SignInPage({ searchParams }: SignInPageProps) { const paths = { callback: pathsConfig.auth.callback, - returnPath: next ?? pathsConfig.app.home, + returnPath: next || pathsConfig.app.home, joinTeam: pathsConfig.app.joinTeam, }; diff --git a/packages/features/auth/src/components/sign-in-methods-container.tsx b/packages/features/auth/src/components/sign-in-methods-container.tsx index c2c558e27..083f379f2 100644 --- a/packages/features/auth/src/components/sign-in-methods-container.tsx +++ b/packages/features/auth/src/components/sign-in-methods-container.tsx @@ -45,8 +45,10 @@ export function SignInMethodsContainer(props: { router.replace(joinTeamPath); } else { + const returnPath = props.paths.returnPath || '/home'; + // otherwise, we should redirect to the return path - router.replace(props.paths.returnPath); + router.replace(returnPath); } };