Skip to content

fix(clerk-js,react): finish a failed load from a reload only outside a standard browser - #10597

Merged
wobsoriano merged 4 commits into
sean/expo-headless-load-recoveryfrom
rob/reload-native-guard
Nov 3, 2026
Merged

wobsoriano merged 4 commits into
sean/expo-headless-load-recoveryfrom
rob/reload-native-guard

Conversation

@wobsoriano

@wobsoriano wobsoriano commented Nov 3, 2026 •

Copy link
Copy Markdown
Member

Description

Stacked on #10461.

__internal_reloadInitialResources now finishes a failed load() only outside a standard browser. A standard browser load does more setup after its fetches, like the captcha heartbeat and FAPI-initiated redirects, so a web instance would have reported ready without it. Only @clerk/expo calls the method today, but web apps get new clerk-js without upgrading.

In @clerk/react, loadHeadlessClerk handles the rejection with .then(onLoaded, onRejected) instead of a loadFailed flag. replayWhenLoadIsFinished subscribes with { notify: true }, which replaces the clerk.loaded check. Every clerk-js that emits status supports notify.

The changeset is empty because #10461's changesets already cover this.

Checklist

  • Ran clerk-js src/core (1175 passed) and @clerk/react (502 passed).
  • pnpm build runs as expected.
  • (If applicable) JSDoc comments have been added or updated for any package exports
  • (If applicable) Documentation has been updated

Type of change

  • 🐛 Bug fix
  • 🌟 New feature
  • 🔨 Breaking change
  • 📖 Refactoring / dependency upgrade / documentation
  • other:

@vercel

vercel Bot commented Nov 3, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
clerk-js-sandbox Ready Ready Preview Nov 3, 2026 12:14am UTC
swingset Ready Ready Preview Nov 3, 2026 12:14am UTC

Request Review

@changeset-bot

changeset-bot Bot commented Nov 3, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: f7828f6

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 0 packages

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@coderabbitai

coderabbitai Bot commented Nov 3, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

Run configuration

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • Trigger review
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

CodeRabbit Verify

  • Run CodeRabbit Verify to test the changes in this pull request.

@wobsoriano
wobsoriano merged commit ce06e3d into sean/expo-headless-load-recovery Nov 3, 2026
13 checks passed
@wobsoriano
wobsoriano deleted the rob/reload-native-guard branch November 3, 2026 00:47
wobsoriano added a commit that referenced this pull request Nov 3, 2026
Remove the changeset for the internal allowEmptyBody option, which users
can't set, and the empty one from #10597. The clerk-js patch still comes
from the load recovery changeset.

This branch was successfully deployed

2 active deployments
Preview – swingset — f7828f68 Deployed Nov 3, 2026 by vercel[bot]
Preview – clerk-js-sandbox — f7828f68 Deployed Nov 3, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant