diff --git a/.changeset/petite-ravens-see.md b/.changeset/petite-ravens-see.md new file mode 100644 index 00000000000..f1904d1c1cc --- /dev/null +++ b/.changeset/petite-ravens-see.md @@ -0,0 +1,5 @@ +--- +'@clerk/clerk-js': patch +--- + +Do not allow `setActive({ organization: null })` when organization selection is forced diff --git a/packages/clerk-js/bundlewatch.config.json b/packages/clerk-js/bundlewatch.config.json index 99fc246158c..a446de1a2ba 100644 --- a/packages/clerk-js/bundlewatch.config.json +++ b/packages/clerk-js/bundlewatch.config.json @@ -3,7 +3,7 @@ { "path": "./dist/clerk.js", "maxSize": "605kB" }, { "path": "./dist/clerk.browser.js", "maxSize": "69.2KB" }, { "path": "./dist/clerk.legacy.browser.js", "maxSize": "113KB" }, - { "path": "./dist/clerk.headless*.js", "maxSize": "52.2KB" }, + { "path": "./dist/clerk.headless*.js", "maxSize": "53KB" }, { "path": "./dist/ui-common*.js", "maxSize": "106.3KB" }, { "path": "./dist/vendors*.js", "maxSize": "40.2KB" }, { "path": "./dist/coinbase*.js", "maxSize": "38KB" }, diff --git a/packages/clerk-js/src/core/clerk.ts b/packages/clerk-js/src/core/clerk.ts index ee9cc5a5b18..7d3c26de64a 100644 --- a/packages/clerk-js/src/core/clerk.ts +++ b/packages/clerk-js/src/core/clerk.ts @@ -1071,6 +1071,10 @@ export class Clerk implements ClerkInterface { ); } + if (organization === null && this.environment?.organizationSettings?.forceOrganizationSelection) { + throw new Error('setActive requires an organization parameter when organization selection is forced.'); + } + const onBeforeSetActive: SetActiveHook = typeof window !== 'undefined' && typeof window.__unstable__onBeforeSetActive === 'function' ? window.__unstable__onBeforeSetActive