Note
Grok responding on behalf of Julius.
Triage
Thanks for the careful write-up, and for separating this from the misleading status text, @coygeek. I didn't rerun the original network change. The stuck state after failed_to_load_clerk_ui is still there on main at 4ee6bfd50e. Nightly 5a96895 is an ancestor of that commit, and these files haven't changed since.
What I found
This is separate from #11004. That issue covers the "cloud sign-in changed" message while a session is pending, and it recovers by itself. Here Clerk never finishes loading.
- While Clerk is unloaded,
useAuthreportsisLoaded: falseandisSignedIn: undefined.ConfiguredT3ConnectSidebarAvatarandConfiguredT3ConnectSidebarSignInboth return null in that state, so the footer shows no controls, no error, and no retry. The app doesn't use Clerk'sClerkFailedstate. ManagedRelayAuthProviderexits early while!isLoaded, soactivateManagedRelayAuthenticationnever runs. The saved remote environment has no cloud identity,assertSessiontreats that assessionChanged(), and the row shows "Your cloud sign-in changed." The T3 Connect and activity switches stay disabled.- Nothing retries in the same renderer.
@clerk/react6.16.1 startsgetEntryChunks()once. If that rejects, it sets status to"error"and never callsclerk.load().@clerk/electron0.0.44 caches the UI-loading promise for the publishable key, including a rejected one, so later renders get the same failure. - View > Reload starts a fresh renderer, so the cached promise is gone and the saved desktop token signs back in. That matches recovering without a new login or a local server restart.
Likely fix area
- Show a visible failure and a retry in the settings footer when the Clerk status is
"error". - A retry would have to drop the cached rejected UI promise. Remounting
ClerkProviderin the same document isn't enough on its own. OnceisLoadedrecovers, the existing activation path should pick up the saved login. - Rewording the "sign-in changed" message belongs in #11004.
A maintainer will decide on the fix direction.