Repository navigation
fix(clerk-js): preserve trusted clients after satellite sign-out - #10470
Conversation
🦋 Changeset detectedLatest commit: 9d01b20 The changes in this PR will be included in the next version bump. This PR includes changesets to release 23 packages
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 |
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
No actionable comments were generated in the recent review.
|
@clerk/astro
@clerk/backend
@clerk/chrome-extension
@clerk/clerk-js
@clerk/electron
@clerk/electron-passkeys
@clerk/eslint-plugin
@clerk/expo
@clerk/expo-biometrics
@clerk/expo-google-signin
@clerk/expo-native-components
@clerk/expo-passkeys
@clerk/express
@clerk/fastify
@clerk/hono
@clerk/localizations
@clerk/mosaic
@clerk/nextjs
@clerk/nuxt
@clerk/react
@clerk/react-router
@clerk/shared
@clerk/tanstack-react-start
@clerk/testing
@clerk/ui
@clerk/upgrade
@clerk/vue
commit: |
5eb5789 to
ce188e7
Compare
ce188e7 to
132bc73
Compare
API Changes Report
Summary
@clerk/sharedCurrent version: 4.43.1 Subpath
|
1702463 to
fcbf773
Compare
Satellite sign-out could fail before removing sessions when its destination was malformed, and deliberately discarded clients took an unnecessary trip through the primary. Use the original removal and navigation paths for unsupported destinations and disabled client persistence, preserving callback and navigation error behavior. Part of CORE-4146
fcbf773 to
9d01b20
Compare
Description
Signing out on a satellite leaves the primary domain holding a stale client cookie. The next primary password sign-in creates a new client and repeats the Device Trust challenge, even though the browser was already trusted.
Uses the optional repair URL from the companion backend change to refresh the primary cookie before continuing sign-out navigation. Repair applies to production browser satellites with client persistence enabled; the backend only offers it when Device Trust is enabled. Disabled persistence and malformed or unsupported destinations use the original removal path, so URL parsing cannot prevent session removal. Navigation errors still propagate.
Preserves the public
signOutoverloads and zero-argument callback contract. Built-in UI actions retain their original navigation closures and opt in with an internal return URL resolved through the active router. Only a usable backend repair URL replaces that navigation; missing or invalid responses invoke the original callback. Component-internal, hash/virtual, arbitrary customer callback, targeted multisession, primary, development, and native flows retain their existing paths. The transport method remains concrete-only rather than becoming a requiredClientResourcemember.Part of CORE-4146
Checklist
pnpm testruns as expected. Targeted ClerkJS, UI, and router suites passed; the full monorepo suite was not run.pnpm buildruns as expected. Browser bundles and relevant typechecks passed; the full monorepo build was not run.Type of change