File tree Expand file tree Collapse file tree 2 files changed +15
-3
lines changed
packages/nextjs/src/app-router/server Expand file tree Collapse file tree 2 files changed +15
-3
lines changed Original file line number Diff line number Diff line change 1+ ---
2+ ' @clerk/nextjs ' : patch
3+ ---
4+
5+ Avoid calling ` safeParseClerkFile ` before checking if keyless is allowed.
Original file line number Diff line number Diff line change @@ -4,7 +4,6 @@ import React from 'react';
44
55import { PromisifiedAuthProvider } from '../../client-boundary/PromisifiedAuthProvider' ;
66import { getDynamicAuthData } from '../../server/buildClerkProps' ;
7- import { safeParseClerkFile } from '../../server/keyless-node' ;
87import type { NextClerkProviderProps } from '../../types' ;
98import { canUseKeyless } from '../../utils/feature-flags' ;
109import { mergeNextClerkPropsWithEnv } from '../../utils/mergeNextClerkPropsWithEnv' ;
@@ -80,8 +79,16 @@ export async function ClerkProvider(
8079 </ ClientClerkProvider >
8180 ) ;
8281
83- const runningWithClaimedKeys = propsWithEnvs . publishableKey === safeParseClerkFile ( ) ?. publishableKey ;
84- const shouldRunAsKeyless = ( ! propsWithEnvs . publishableKey || runningWithClaimedKeys ) && canUseKeyless ;
82+ let [ shouldRunAsKeyless , runningWithClaimedKeys ] = [ false , false ] ;
83+ if ( canUseKeyless ) {
84+ const locallyStorePublishableKey = await import ( '../../server/keyless-node.js' )
85+ . then ( mod => mod . safeParseClerkFile ( ) ?. publishableKey )
86+ . catch ( ( ) => undefined ) ;
87+
88+ runningWithClaimedKeys =
89+ Boolean ( propsWithEnvs . publishableKey ) && propsWithEnvs . publishableKey === locallyStorePublishableKey ;
90+ shouldRunAsKeyless = ! propsWithEnvs . publishableKey || runningWithClaimedKeys ;
91+ }
8592
8693 if ( shouldRunAsKeyless ) {
8794 // NOTE: Create or read keys on every render. Usually this means only on hard refresh or hard navigations.
You can’t perform that action at this time.
0 commit comments