Skip to content

Commit e9d68a7

Browse files
committed
DIAG: log userButton mount path (do not merge)
1 parent 1bfd8ab commit e9d68a7

4 files changed

Lines changed: 36 additions & 2 deletions

File tree

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
---
2+
---

packages/clerk-js/src/core/clerk.ts

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3235,9 +3235,22 @@ export class Clerk implements ClerkInterface {
32353235
organization: this.organization,
32363236
};
32373237
this.__internal_lastEmittedResources = resources;
3238+
// DIAG: instrument userButton mount regression
3239+
// eslint-disable-next-line no-console
3240+
console.log('[CLERK_DIAG] clerk.#emit', {
3241+
listeners: this.#listeners.length,
3242+
userId: this.user?.id ?? null,
3243+
sessionId: this.session?.id ?? null,
3244+
clientId: this.client?.id ?? null,
3245+
sessionsOnClient: this.client?.sessions?.length ?? 0,
3246+
});
32383247
for (const listener of this.#listeners) {
32393248
listener(resources);
32403249
}
3250+
} else {
3251+
// DIAG: emit was skipped because client is unset
3252+
// eslint-disable-next-line no-console
3253+
console.log('[CLERK_DIAG] clerk.#emit skipped (no client)');
32413254
}
32423255
};
32433256

packages/shared/src/react/hooks/base/useUserBase.ts

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,21 @@ export function useUserBase(): UserResource | null | undefined {
1717
[clerk],
1818
),
1919
useCallback(() => {
20-
if (!clerk.loaded || !clerk.__internal_lastEmittedResources) {
20+
// DIAG: instrument userButton mount regression
21+
const fellBack = !clerk.loaded || !(clerk as any).__internal_lastEmittedResources;
22+
// eslint-disable-next-line no-console
23+
console.log('[CLERK_DIAG] useUserBase getSnapshot', {
24+
loaded: !!clerk.loaded,
25+
hasLastEmitted: !!(clerk as any).__internal_lastEmittedResources,
26+
emittedUserId: (clerk as any).__internal_lastEmittedResources?.user?.id,
27+
clerkUserId: (clerk as any).user?.id,
28+
sessionId: (clerk as any).session?.id,
29+
fellBackToInitial: fellBack,
30+
});
31+
if (fellBack) {
2132
return getInitialState();
2233
}
23-
return clerk.__internal_lastEmittedResources.user;
34+
return (clerk as any).__internal_lastEmittedResources.user;
2435
}, [clerk, getInitialState]),
2536
getInitialState,
2637
);

packages/ui/src/contexts/CoreUserContext.tsx

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,14 @@ export function withCoreUserGuard<P>(Component: React.ComponentType<P>): React.C
55
const Hoc = (props: P) => {
66
const user = __internal_useUserBase();
77

8+
// DIAG: instrument userButton mount regression
9+
// eslint-disable-next-line no-console
10+
console.log('[CLERK_DIAG] withCoreUserGuard render', {
11+
component: Component.displayName || Component.name,
12+
hasUser: !!user,
13+
userId: user?.id,
14+
});
15+
816
if (!user) {
917
return null;
1018
}

0 commit comments

Comments
 (0)