Skip to content

feat(docs): document satelliteAutoSync option for satellite domains#2998

Merged
nikosdouvlis merged 6 commits intocore-3from
nikos/satellite-auto-sync-docs
Feb 2, 2026
Merged

feat(docs): document satelliteAutoSync option for satellite domains#2998
nikosdouvlis merged 6 commits intocore-3from
nikos/satellite-auto-sync-docs

Conversation

@nikosdouvlis
Copy link
Member

Why

Core 3 changes satellite domain behavior — satellite apps no longer automatically redirect to the primary domain on first visit to sync auth state. This eliminates unnecessary latency for apps where most visitors are anonymous. Users need documentation on the new satelliteAutoSync option and a migration path from Core 2.

What changed

  • Added "How authentication syncing works" section explaining both sync modes (lazy vs automatic)
  • Documented satelliteAutoSync prop in ClerkProvider, clerkMiddleware, and backend options
  • Added "Migrating from Core 2" section with a comparison table and opt-in instructions
  • Updated the "Ready to go" verification steps to reflect the new default behavior

Why:
Core 3 changes satellite domain behavior to skip automatic handshake
redirects by default, improving performance for apps with anonymous
visitors. Users need guidance on the new behavior and migration path.

What changed:
- Added "How authentication syncing works" section explaining both modes
- Documented satelliteAutoSync prop in ClerkProvider, clerkMiddleware, and backend options
- Added Core 2 migration section with comparison table and opt-in instructions
- Updated verification steps to reflect the new default (no auto-redirect)
@nikosdouvlis nikosdouvlis requested a review from a team as a code owner January 23, 2026 09:09
@vercel
Copy link

vercel bot commented Jan 23, 2026

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

Project Deployment Review Updated (UTC)
clerk-docs Ready Ready Preview Jan 29, 2026 5:08pm

Request Review

Copy link
Contributor

@manovotny manovotny left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice changes! A few questions and some suggestions. Let me know if you agree or disagree with any of them.

1. Completing sign-in on the primary domain. You will be automatically redirected back to the satellite domain with an active session.
1. If you were already signed in on the primary domain, the redirect back happens immediately with no additional user action.

After the initial sync, signing out from either domain will sign you out from all connected domains.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The text here is nearly identical to the text on lines 39-42. Do we need it in both places?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Think it's fine to keep it, but I would make it an actual step.

1. Completing sign-in on the primary domain. You will be automatically redirected back to the satellite domain with an active session.
1. If you were already signed in on the primary domain, the redirect back happens immediately with no additional user action.

After the initial sync, signing out from either domain will sign you out from all connected domains.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Think it's fine to keep it, but I would make it an actual step.

Why:
PR #2998 review identified several issues: wording inconsistencies,
duplicate content, callout stacking, and style guide violations.

What changed:
- Change "click" to "select" per docs style guide
- Move CAUTION callout under "How authentication syncing works" to avoid stacking
- Remove duplicate verification steps, reference earlier section instead
- Remove redundant "Recommended approach" section
- Mark satelliteAutoSync as optional with ? in ClerkProvider properties
- Expand clerk-options.mdx description for consistency with other partials
- Revert filename from middleware.ts to proxy.ts
- Soften code comment about performance cost
- Change "legacy behavior" to "original Core 2 behavior"
…tial

Why:
Reviewer confirmed partials within partials work, so we can DRY up
the satelliteAutoSync description that was duplicated across three files.

What changed:
- Create _partials/satellite-auto-sync-description.mdx with shared text
- Update clerk-provider/properties.mdx, clerk-middleware-options.mdx,
  and clerk-options.mdx to use the shared partial
Why:
The list of frameworks with full SSR support for multi-domain was outdated.
Added TanStack Start and Nuxt, removed Remix.
@SarahSoutoul
Copy link
Contributor

LGTM @nikosdouvlis!

@nikosdouvlis nikosdouvlis merged commit feb4f72 into core-3 Feb 2, 2026
2 checks passed
@nikosdouvlis nikosdouvlis deleted the nikos/satellite-auto-sync-docs branch February 2, 2026 13:59
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