From fc4ac68b64bc97a2969cfb44b115fe034d2c8851 Mon Sep 17 00:00:00 2001 From: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Thu, 19 Feb 2026 06:55:41 +0000 Subject: [PATCH] fix(web): strip auth search params from URL after callback redirect Co-Authored-By: Sungbin Jo --- apps/web/src/routes/_view/callback/auth.tsx | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/apps/web/src/routes/_view/callback/auth.tsx b/apps/web/src/routes/_view/callback/auth.tsx index c7f4fdee15..4f58e995bc 100644 --- a/apps/web/src/routes/_view/callback/auth.tsx +++ b/apps/web/src/routes/_view/callback/auth.tsx @@ -36,9 +36,12 @@ export const Route = createFileRoute("/_view/callback/auth")({ if (result.success) { if (search.type === "recovery") { - throw redirect({ to: "/update-password/" }); + throw redirect({ to: "/update-password/", search: {} }); } - throw redirect({ to: search.redirect || "/app/account/" }); + throw redirect({ + to: search.redirect || "/app/account/", + search: {}, + }); } else { console.error(result.error); } @@ -75,7 +78,7 @@ export const Route = createFileRoute("/_view/callback/auth")({ }); if (result.success) { - throw redirect({ to: "/update-password/" }); + throw redirect({ to: "/update-password/", search: {} }); } else { console.error(result.error); } @@ -90,7 +93,10 @@ export const Route = createFileRoute("/_view/callback/auth")({ if (result.success) { if (search.flow === "web") { - throw redirect({ to: search.redirect || "/app/account/" }); + throw redirect({ + to: search.redirect || "/app/account/", + search: {}, + }); } if (search.flow === "desktop") { @@ -173,7 +179,10 @@ function Component() { useEffect(() => { if (search.flow === "web" && !search.error) { - navigate({ to: search.redirect || "/app/account/" }); + navigate({ + to: search.redirect || "/app/account/", + replace: true, + }); } }, [search, navigate]);