diff --git a/src/shared/services/UserService.ts b/src/shared/services/UserService.ts index e4ec5f98..16540f23 100644 --- a/src/shared/services/UserService.ts +++ b/src/shared/services/UserService.ts @@ -5,7 +5,7 @@ import { LoginResponse, MyUserInfo } from "lemmy-js-client"; import { BehaviorSubject } from "rxjs"; import { isHttps } from "../env"; import { i18n } from "../i18next"; -import { isBrowser, toast } from "../utils"; +import { isAuthPath, isBrowser, toast } from "../utils"; interface Claims { sub: number; @@ -48,7 +48,11 @@ export class UserService { this.myUserInfo = undefined; IsomorphicCookie.remove("jwt"); // TODO is sometimes unreliable for some reason document.cookie = "jwt=; Max-Age=0; path=/; domain=" + location.hostname; - location.reload(); + if (isAuthPath(location.pathname)) { + location.replace("/"); + } else { + location.reload(); + } } public auth(throwErr = true): string | undefined { diff --git a/src/shared/utils.ts b/src/shared/utils.ts index 4e5f74b4..d65d2d37 100644 --- a/src/shared/utils.ts +++ b/src/shared/utils.ts @@ -1589,3 +1589,9 @@ export function getQueryString>( "?" ); } + +export function isAuthPath(pathname: string) { + return /create_.*|inbox|settings|setup|admin|reports|registration_applications/g.test( + pathname + ); +}