ai-chatbot icon indicating copy to clipboard operation
ai-chatbot copied to clipboard

Attempting to log out right after logging in does not work

Open athrael-soju opened this issue 1 year ago • 2 comments

If you click log out right after logging in it will not work.

When checking the network in devtools, the call being made is to the login api image

If we log inside auth.config.ts we can see that the redirect pathname is still /login until the page is refreshed, or user sends a message (which will cause a re-render). Then the logout will work fine and pathname will be /

Commenting out this code seems to fix it, but I don't have the time to verify.

  // if (isLoggedIn) {        
  //   if (isOnLoginPage || isOnSignupPage) {
  //     return Response.redirect(new URL('/', nextUrl))
  //   }
  // }

I will try find the time to fix it properly, but if anyone gets to it first, even better. Should be a quick fix.

athrael-soju avatar Apr 03 '24 16:04 athrael-soju

I faced the same issue here. In fact, not only the logout is not working correctly, the clear history action is also not working just after the login!

Commenting out this code seems to fix it, but I don't have the time to verify.

This is not working, it will block the redirect after the login completly, and user may think he/she has not login yet...

I am fixing this issue for the moment.

gchust avatar Apr 04 '24 09:04 gchust

I have created a PR for this issue https://github.com/vercel/ai-chatbot/pull/301

The root cause is Response.redirect(new URL('/', nextUrl)) is a 302 redirection, makes Post method not working correctly.

Traditionally a 302 was used for a temporary redirect, and a 301 for a permanent redirect, but many browsers changed the request method of the redirect to GET, regardless of the original method.

gchust avatar Apr 04 '24 09:04 gchust