From 48d7fd83b16eb1e3a6d5e052689bcda3e37425f6 Mon Sep 17 00:00:00 2001 From: Laura Beatris <48022589+LauraBeatris@users.noreply.github.com> Date: Fri, 8 Aug 2025 19:17:54 -0300 Subject: [PATCH] Remove `treatPendingAsSignedOut` as Clerk option --- .changeset/shiny-pants-jump.md | 9 +++++++++ packages/astro/src/env.d.ts | 1 - packages/astro/src/integration/create-integration.ts | 11 +---------- packages/astro/src/react/hooks.ts | 9 ++------- packages/clerk-js/src/core/clerk.ts | 5 +---- packages/react/src/hooks/useAuth.ts | 3 +-- packages/types/src/clerk.ts | 5 ++--- packages/vue/src/composables/useAuth.ts | 4 ++-- packages/vue/src/plugin.ts | 2 -- 9 files changed, 18 insertions(+), 31 deletions(-) create mode 100644 .changeset/shiny-pants-jump.md diff --git a/.changeset/shiny-pants-jump.md b/.changeset/shiny-pants-jump.md new file mode 100644 index 00000000000..d515f1f15b2 --- /dev/null +++ b/.changeset/shiny-pants-jump.md @@ -0,0 +1,9 @@ +--- +'@clerk/clerk-js': minor +'@clerk/astro': minor +'@clerk/clerk-react': minor +'@clerk/types': minor +'@clerk/vue': minor +--- + +Remove `treatPendingAsSignedOut` from Clerk options diff --git a/packages/astro/src/env.d.ts b/packages/astro/src/env.d.ts index 601eb6b7891..6087615675e 100644 --- a/packages/astro/src/env.d.ts +++ b/packages/astro/src/env.d.ts @@ -19,7 +19,6 @@ interface InternalEnv { readonly PUBLIC_CLERK_SIGN_UP_URL?: string; readonly PUBLIC_CLERK_TELEMETRY_DISABLED?: string; readonly PUBLIC_CLERK_TELEMETRY_DEBUG?: string; - readonly PUBLIC_CLERK_TREAT_PENDING_AS_SIGNED_OUT?: string; } interface ImportMeta { diff --git a/packages/astro/src/integration/create-integration.ts b/packages/astro/src/integration/create-integration.ts index 4c23c723154..235484e40b2 100644 --- a/packages/astro/src/integration/create-integration.ts +++ b/packages/astro/src/integration/create-integration.ts @@ -19,15 +19,7 @@ type HotloadAstroClerkIntegrationParams = AstroClerkIntegrationParams & { function createIntegration() { return (params?: Params): AstroIntegration => { - const { - proxyUrl, - isSatellite, - domain, - signInUrl, - signUpUrl, - enableEnvSchema = true, - treatPendingAsSignedOut, - } = params || {}; + const { proxyUrl, isSatellite, domain, signInUrl, signUpUrl, enableEnvSchema = true } = params || {}; // These are not provided when the "bundled" integration is used const clerkJSUrl = (params as any)?.clerkJSUrl as string | undefined; @@ -65,7 +57,6 @@ function createIntegration() /** * Convert the integration params to environment variable in order for it to be readable from the server */ - ...buildEnvVarFromOption(treatPendingAsSignedOut, 'PUBLIC_CLERK_TREAT_PENDING_AS_SIGNED_OUT'), ...buildEnvVarFromOption(signInUrl, 'PUBLIC_CLERK_SIGN_IN_URL'), ...buildEnvVarFromOption(signUpUrl, 'PUBLIC_CLERK_SIGN_UP_URL'), ...buildEnvVarFromOption(isSatellite, 'PUBLIC_CLERK_IS_SATELLITE'), diff --git a/packages/astro/src/react/hooks.ts b/packages/astro/src/react/hooks.ts index ad4b119f01d..6da57e2b575 100644 --- a/packages/astro/src/react/hooks.ts +++ b/packages/astro/src/react/hooks.ts @@ -15,7 +15,7 @@ import { useCallback, useSyncExternalStore } from 'react'; import { authAsyncStorage } from '#async-local-storage'; -import { $authStore, $clerkStore } from '../stores/external'; +import { $authStore } from '../stores/external'; import { $clerk, $csrState } from '../stores/internal'; /** @@ -87,7 +87,6 @@ type UseAuth = (options?: PendingSessionOptions) => UseAuthReturn; */ export const useAuth: UseAuth = ({ treatPendingAsSignedOut } = {}) => { const authContext = useAuthStore(); - const clerkContext = useStore($clerkStore); const getToken: GetToken = useCallback(createGetToken(), []); const signOut: SignOut = useCallback(createSignOut(), []); @@ -117,11 +116,7 @@ export const useAuth: UseAuth = ({ treatPendingAsSignedOut } = {}) => { has, }, options: { - treatPendingAsSignedOut: - // Fallback from option provided via SSR / CSR contexts - treatPendingAsSignedOut ?? - clerkContext?.__internal_getOption?.('treatPendingAsSignedOut') ?? - import.meta.env.PUBLIC_CLERK_TREAT_PENDING_AS_SIGNED_OUT, + treatPendingAsSignedOut, }, }); diff --git a/packages/clerk-js/src/core/clerk.ts b/packages/clerk-js/src/core/clerk.ts index 84f6ce868d4..b90343e8806 100644 --- a/packages/clerk-js/src/core/clerk.ts +++ b/packages/clerk-js/src/core/clerk.ts @@ -189,7 +189,6 @@ const defaultOptions: ClerkOptions = { signUpFallbackRedirectUrl: undefined, signInForceRedirectUrl: undefined, signUpForceRedirectUrl: undefined, - treatPendingAsSignedOut: true, newSubscriptionRedirectUrl: undefined, }; @@ -360,10 +359,8 @@ export class Clerk implements ClerkInterface { } get isSignedIn(): boolean { - const { treatPendingAsSignedOut } = this.#options; - const hasPendingSession = this?.session?.status === 'pending'; - if (treatPendingAsSignedOut && hasPendingSession) { + if (hasPendingSession) { return false; } diff --git a/packages/react/src/hooks/useAuth.ts b/packages/react/src/hooks/useAuth.ts index 9e0caf92e44..166fe93980e 100644 --- a/packages/react/src/hooks/useAuth.ts +++ b/packages/react/src/hooks/useAuth.ts @@ -118,8 +118,7 @@ export const useAuth = (initialAuthStateOrOptions: UseAuthOptions = {}): UseAuth signOut, }, { - treatPendingAsSignedOut: - treatPendingAsSignedOut ?? isomorphicClerk.__internal_getOption?.('treatPendingAsSignedOut'), + treatPendingAsSignedOut, }, ); }; diff --git a/packages/types/src/clerk.ts b/packages/types/src/clerk.ts index 2d55fd4341b..bb5ab633869 100644 --- a/packages/types/src/clerk.ts +++ b/packages/types/src/clerk.ts @@ -49,7 +49,7 @@ import type { SignUpFallbackRedirectUrl, SignUpForceRedirectUrl, } from './redirects'; -import type { PendingSessionOptions, SessionTask, SignedInSessionResource } from './session'; +import type { SessionTask, SignedInSessionResource } from './session'; import type { SessionVerificationLevel } from './sessionVerification'; import type { SignInResource } from './signIn'; import type { SignUpResource } from './signUp'; @@ -962,8 +962,7 @@ type ClerkOptionsNavigation = routerDebug?: boolean; }; -export type ClerkOptions = PendingSessionOptions & - ClerkOptionsNavigation & +export type ClerkOptions = ClerkOptionsNavigation & SignInForceRedirectUrl & SignInFallbackRedirectUrl & SignUpForceRedirectUrl & diff --git a/packages/vue/src/composables/useAuth.ts b/packages/vue/src/composables/useAuth.ts index e5902f8a4a5..42a1860198f 100644 --- a/packages/vue/src/composables/useAuth.ts +++ b/packages/vue/src/composables/useAuth.ts @@ -74,7 +74,7 @@ type UseAuth = (options?: PendingSessionOptions) => ToComputedRefs */ export const useAuth: UseAuth = (options = {}) => { - const { clerk, authCtx, ...contextOptions } = useClerkContext(); + const { clerk, authCtx } = useClerkContext(); const getToken: GetToken = createGetToken(clerk); const signOut: SignOut = createSignOut(clerk); @@ -100,7 +100,7 @@ export const useAuth: UseAuth = (options = {}) => { has, }, options: { - treatPendingAsSignedOut: options.treatPendingAsSignedOut ?? contextOptions.treatPendingAsSignedOut, + treatPendingAsSignedOut: options.treatPendingAsSignedOut, }, }); diff --git a/packages/vue/src/plugin.ts b/packages/vue/src/plugin.ts index 30749f2e116..2bdc1ec586e 100644 --- a/packages/vue/src/plugin.ts +++ b/packages/vue/src/plugin.ts @@ -118,8 +118,6 @@ export const clerkPlugin: Plugin<[PluginOptions]> = { sessionCtx, userCtx, organizationCtx, - treatPendingAsSignedOut: - options.treatPendingAsSignedOut ?? clerk.value?.__internal_getOption?.('treatPendingAsSignedOut'), }); }, };