Fix terminal auth bootstrap and account checkout gate
This commit is contained in:
@@ -96,6 +96,7 @@ export async function loadTerminalAuthProfile({
|
||||
| null = null;
|
||||
let latestCookiePayload: TerminalAuthProfilePayload | null = null;
|
||||
let latestBearerPayload: TerminalAuthProfilePayload | null = null;
|
||||
let sessionSettled = !hasSupabasePublicEnv;
|
||||
|
||||
const authenticatedProfile = new Promise<TerminalAuthProfilePayload>((resolve) => {
|
||||
resolveAuthenticated = resolve;
|
||||
@@ -119,6 +120,7 @@ export async function loadTerminalAuthProfile({
|
||||
(async () => {
|
||||
if (!hasSupabasePublicEnv) return null;
|
||||
const sessionResult = await getSession();
|
||||
sessionSettled = true;
|
||||
if (resolvedAuthenticated) return null;
|
||||
const accessToken = String(
|
||||
sessionResult?.data?.session?.access_token || "",
|
||||
@@ -142,6 +144,14 @@ export async function loadTerminalAuthProfile({
|
||||
resolve(latestBearerPayload);
|
||||
return;
|
||||
}
|
||||
if (
|
||||
latestCookiePayload?.authenticated === false &&
|
||||
hasSupabasePublicEnv &&
|
||||
!sessionSettled
|
||||
) {
|
||||
reject(new Error("Terminal auth bootstrap timeout"));
|
||||
return;
|
||||
}
|
||||
if (latestCookiePayload) {
|
||||
resolve(latestCookiePayload);
|
||||
return;
|
||||
|
||||
Reference in New Issue
Block a user