Skip to content

docs(expo): say the test app restores the client from the native device token - #10427

Merged
mikepitre merged 1 commit into
mainfrom
mike/confident-lovelace-q9mb9k
Oct 26, 2026
Merged

mikepitre merged 1 commit into
mainfrom
mike/confident-lovelace-q9mb9k

Conversation

@mikepitre

@mikepitre mikepitre commented Oct 26, 2026 •

Copy link
Copy Markdown
Contributor

Description

Corrects drift in the verify-clerk-expo feature map, found by a scheduled upkeep pass that read each Expo feature against the source and drove every feature live on a remote iOS simulator (iPhone 17 Pro on macos-26).

  • token-cache-persistence.md: the page said @clerk/expo's token cache restored the client from secure storage, and that the Token cache screen shows what the JS cache itself held. The test app links @clerk/expo-native-components, so ClerkProvider wraps the token cache in createNativeClientSync. clerk-js reads the client token from native.getDeviceToken(), and the secure-storage item is only a seed for configureNative and a mirror written after each save (packages/expo/src/provider/nativeClientSync.ts). The page now says that, and the gotcha says the Token cache screen shows whether the secure-storage copy held the token at launch.

Live coverage on iOS:

  • Run r20261026-151422-1de2 (run --all --no-video): 17 of 20 tests passed. One native-js-sync test failed when a screen read timed out in agent-device, the next test failed with initializing engine mobile timed out, and the Google sign-in test then found no button.
  • Run r20261026-153236-961c reran those after doctor: both native-js-sync tests that failed and the Google test passed. In the same run, two tests that had passed earlier failed. In one, iOS's Save Password? sheet covered the home just as the spec read the session ID. In the other, the home showed the signed-in user but no UserButton.
  • Run r20261026-153852-e197, at this branch's commit, ran token-cache-persistence and passed.

Only the feature-map page and an empty changeset change.

Checklist

  • pnpm test runs as expected.
  • 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:

Generated by Claude Code

Verified on an iOS simulator, as reported by the session that mikepitre started. Run r20261026-153852-e197 on iPhone 17 Pro on macos-26 at 2404fb0589d5, 1 of 1 passed.

token-cache new-scope
token-cache new-scope

…ce token in the token-cache page

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LBNaV4iPRitNhY299sCP5X
@changeset-bot

changeset-bot Bot commented Oct 26, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 2404fb0

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

@vercel

vercel Bot commented Oct 26, 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 Oct 26, 2026 3:41pm UTC
swingset Ready Ready Preview Oct 26, 2026 3:41pm UTC

Request Review

@coderabbitai

coderabbitai Bot commented Oct 26, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

No actionable comments were generated in the recent review.

Recent review info
Run configuration
  • Source mode: Auto
  • Repository: clerk/javascript
  • Branch: main
  • File: .coderabbit.yaml
  • Commit: e374222
  • Layers: Repository YAML (base), Organization UI (inherited)
  • Review profile: ASSERTIVE
  • Plan: Team
  • Run ID: 38f9a36b-2715-402c-ab11-ac2013745f82
Commits

Reviewing files that changed from the base of the PR and between e374222 and 2404fb0.

Files selected for processing: 2
  • .changeset/verify-expo-token-cache-wording.md
  • .claude/skills/verify-clerk-expo/features/token-cache-persistence.md
🔗 Linked repositories identified

CodeRabbit considers these linked repositories for cross-repo context during reviews:

Included review availability: This review used your included allowance. 3 included reviews remain after this review. Your included PR review attempts over the past 7 days set your current allowance at 5 reviews per hour.

Walkthrough

The verification documentation now describes ClerkProvider reading the client token from the native SDK’s device token and mirroring it into the secure-storage token cache. It clarifies what the Token cache screen reports at launch and notes that native storage alone can preserve the session. The pull request also adds a two-line changeset file.

Priority: Low

Estimated code review effort: 1 (Trivial) | ~3 minutes

Possibly related PRs

  • clerk/javascript#10417: Updates the same Expo token-cache verification feature with documentation about native identifier storage.
  • clerk/javascript#10407: Changes native device-token handling and mirroring in code related to the documented flow.
  • clerk/javascript#10397: Changes native and JavaScript client initialization in the Expo verification app.

Suggested reviewers: wobsoriano

Merge Risk: Minimal · up to 2404f

The documentation-only update is ready to merge.

Pre-merge checks: Passed 5
Check name Status Explanation
Title check Passed The title names the docs change to the verify-clerk-expo feature map: the test app restores the client from the native device token. The changeset touches the token-cache-persistence page, which descr…
Description check Passed The description states the purpose of the change: correcting the token-cache-persistence feature page for verify-clerk-expo. It explains the ClerkProvider, createNativeClientSync, and getDeviceToken f…
Docstring Coverage Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Full details: Title check

Explanation

The title names the docs change to the verify-clerk-expo feature map: the test app restores the client from the native device token. The changeset touches the token-cache-persistence page, which describes that behavior, so the title matches the main change. It is specific, single-sentence, and uses a conventional docs(expo) prefix.

Full details: Description check

Explanation

The description states the purpose of the change: correcting the token-cache-persistence feature page for verify-clerk-expo. It explains the ClerkProvider, createNativeClientSync, and getDeviceToken flow, the Token cache screen gotcha, and the iOS verification runs. It is related to the changeset and is not off-topic.

Full details: Docstring Coverage

Explanation

No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0 files. (2 skipped: 2 unsupported.)

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

Warning

Linked repositories: Some configured repositories could not be included in this review. Cross-repository analysis may be incomplete. Please check linked-repository access and settings.

Comment @coderabbitai help to get the list of available commands.

@pkg-pr-new

pkg-pr-new Bot commented Oct 26, 2026

Copy link
Copy Markdown

Open in StackBlitz

@clerk/astro

npm i https://pkg.pr.new/@clerk/astro@10427

@clerk/backend

npm i https://pkg.pr.new/@clerk/backend@10427

@clerk/chrome-extension

npm i https://pkg.pr.new/@clerk/chrome-extension@10427

@clerk/clerk-js

npm i https://pkg.pr.new/@clerk/clerk-js@10427

@clerk/electron

npm i https://pkg.pr.new/@clerk/electron@10427

@clerk/electron-passkeys

npm i https://pkg.pr.new/@clerk/electron-passkeys@10427

@clerk/eslint-plugin

npm i https://pkg.pr.new/@clerk/eslint-plugin@10427

@clerk/expo

npm i https://pkg.pr.new/@clerk/expo@10427

@clerk/expo-biometrics

npm i https://pkg.pr.new/@clerk/expo-biometrics@10427

@clerk/expo-google-signin

npm i https://pkg.pr.new/@clerk/expo-google-signin@10427

@clerk/expo-native-components

npm i https://pkg.pr.new/@clerk/expo-native-components@10427

@clerk/expo-passkeys

npm i https://pkg.pr.new/@clerk/expo-passkeys@10427

@clerk/express

npm i https://pkg.pr.new/@clerk/express@10427

@clerk/fastify

npm i https://pkg.pr.new/@clerk/fastify@10427

@clerk/hono

npm i https://pkg.pr.new/@clerk/hono@10427

@clerk/localizations

npm i https://pkg.pr.new/@clerk/localizations@10427

@clerk/mosaic

npm i https://pkg.pr.new/@clerk/mosaic@10427

@clerk/nextjs

npm i https://pkg.pr.new/@clerk/nextjs@10427

@clerk/nuxt

npm i https://pkg.pr.new/@clerk/nuxt@10427

@clerk/react

npm i https://pkg.pr.new/@clerk/react@10427

@clerk/react-router

npm i https://pkg.pr.new/@clerk/react-router@10427

@clerk/shared

npm i https://pkg.pr.new/@clerk/shared@10427

@clerk/tanstack-react-start

npm i https://pkg.pr.new/@clerk/tanstack-react-start@10427

@clerk/testing

npm i https://pkg.pr.new/@clerk/testing@10427

@clerk/ui

npm i https://pkg.pr.new/@clerk/ui@10427

@clerk/upgrade

npm i https://pkg.pr.new/@clerk/upgrade@10427

@clerk/vue

npm i https://pkg.pr.new/@clerk/vue@10427

commit: 2404fb0

@mikepitre
mikepitre requested a review from wobsoriano October 26, 2026 15:50
@mikepitre
mikepitre merged commit b9b932e into main Oct 26, 2026
60 checks passed
@mikepitre
mikepitre deleted the mike/confident-lovelace-q9mb9k branch October 26, 2026 16:04

This branch was successfully deployed

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants