Skip to content

Comments

fix(clerk-js): Add expired status to OrganizationInvitationStatus (core 2)#7905

Closed
austincalvelage wants to merge 118 commits intomainfrom
austin/core-2-organization-status-type-update
Closed

fix(clerk-js): Add expired status to OrganizationInvitationStatus (core 2)#7905
austincalvelage wants to merge 118 commits intomainfrom
austin/core-2-organization-status-type-update

Conversation

@austincalvelage
Copy link
Member

@austincalvelage austincalvelage commented Feb 23, 2026

Description

Last week, I made changes to support sorting of organization invitations by expired, but I forgot to update the types to include expired.

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:

Summary by CodeRabbit

Release Notes

New Features

  • Added Solana wallet support for Web3-based authentication
  • Introduced multi-factor authentication (MFA) setup task flow with phone and authenticator app options
  • Added organization creation defaults to prefill organization setup forms
  • Enhanced billing display with prorated and account credits on payment screens
  • Added prerendered page support in Astro integration

Improvements

  • Expanded localization coverage across multiple languages for new features
  • Improved session handling and OAuth flows

nikosdouvlis and others added 30 commits December 9, 2025 12:58
Co-authored-by: Robert Soriano <sorianorobertc@gmail.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
…ure support (#7293)

Signed-off-by: Kenton Duprey <kenton@clerk.dev>
Co-authored-by: Dylan Staley <88163+dstaley@users.noreply.github.com>
Co-authored-by: chris-kreidl <chris-kreidl@users.noreply.github.com>
…a Solana enabled wallet via `<UserProfile />` (#7435)

Signed-off-by: Kenton Duprey <kenton@clerk.dev>
Co-authored-by: Andy Graulund <andreas@graulund.com>
…n tests (#7471)

Signed-off-by: Kenton Duprey <kenton@clerk.dev>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: valentinogagliardi <valentinogagliardi@users.noreply.github.com>
…with verification status (#7489)

Signed-off-by: Kenton Duprey <kenton@clerk.dev>
@changeset-bot
Copy link

changeset-bot bot commented Feb 23, 2026

🦋 Changeset detected

Latest commit: 03c0c3e

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

This PR includes changesets to release 11 packages
Name Type
@clerk/backend Patch
@clerk/agent-toolkit Patch
@clerk/astro Patch
@clerk/express Patch
@clerk/fastify Patch
@clerk/nextjs Patch
@clerk/nuxt Patch
@clerk/react-router Patch
@clerk/remix Patch
@clerk/tanstack-react-start Patch
@clerk/testing Patch

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
Copy link

vercel bot commented Feb 23, 2026

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

Project Deployment Actions Updated (UTC)
clerk-js-sandbox Ready Ready Preview, Comment Feb 23, 2026 5:17pm

Request Review

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Feb 23, 2026

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Disabled knowledge base sources:

  • Linear integration is disabled

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between d2317f5 and 03c0c3e.

⛔ Files ignored due to path filters (2)
  • packages/react-router/src/__tests__/__snapshots__/exports.test.ts.snap is excluded by !**/*.snap
  • packages/remix/src/__tests__/__snapshots__/exports.test.ts.snap is excluded by !**/*.snap
📒 Files selected for processing (298)
  • .changeset/config.json
  • .changeset/every-badgers-wish.md
  • .github/workflows/ci.yml
  • .github/workflows/nightly-checks.yml
  • .github/workflows/preview.retheme.yml
  • .github/workflows/release-canary.yml
  • .github/workflows/release.yml
  • .typedoc/custom-plugin.mjs
  • integration/README.md
  • integration/presets/envs.ts
  • integration/presets/longRunningApps.ts
  • integration/templates/astro-node/src/pages/billing/billing-store.astro
  • integration/templates/astro-node/src/pages/index.astro
  • integration/templates/astro-node/src/pages/prerendered.astro
  • integration/templates/react-vite/src/buttons/index.tsx
  • integration/templates/react-vite/src/main.tsx
  • integration/templates/react-vite/src/sign-in-popup/index.tsx
  • integration/templates/tanstack-react-start/package.json
  • integration/templates/tanstack-react-start/src/routeTree.gen.ts
  • integration/templates/tanstack-react-start/src/routes/sign-in.$.tsx
  • integration/templates/tanstack-react-start/vite.config.ts
  • integration/testUtils/usersService.ts
  • integration/tests/astro/billingStore.test.ts
  • integration/tests/astro/components.test.ts
  • integration/tests/elements/otp.test.ts
  • integration/tests/machine-auth/api-keys.test.ts
  • integration/tests/machine-auth/oauth.test.ts
  • integration/tests/middleware-placement.test.ts
  • integration/tests/next-quickstart-keyless.test.ts
  • integration/tests/oauth-flows.test.ts
  • integration/tests/session-tasks-setup-mfa.test.ts
  • integration/tests/session-tasks-sign-in-reset-password.test.ts
  • packages/agent-toolkit/CHANGELOG.md
  • packages/agent-toolkit/package.json
  • packages/astro/CHANGELOG.md
  • packages/astro/package.json
  • packages/astro/src/astro-components/control/Protect.astro
  • packages/astro/src/astro-components/control/ProtectCSR.astro
  • packages/astro/src/astro-components/control/SignedIn.astro
  • packages/astro/src/astro-components/control/SignedOut.astro
  • packages/astro/src/integration/create-integration.ts
  • packages/astro/src/integration/snippets.ts
  • packages/astro/src/stores/external.ts
  • packages/backend/CHANGELOG.md
  • packages/backend/package.json
  • packages/backend/src/__tests__/exports.test.ts
  • packages/backend/src/api/__tests__/APIKeysApi.test.ts
  • packages/backend/src/api/__tests__/AgentTaskApi.test.ts
  • packages/backend/src/api/__tests__/factory.test.ts
  • packages/backend/src/api/endpoints/APIKeysApi.ts
  • packages/backend/src/api/endpoints/AgentTaskApi.ts
  • packages/backend/src/api/endpoints/InvitationApi.ts
  • packages/backend/src/api/endpoints/JwtTemplatesApi.ts
  • packages/backend/src/api/endpoints/UserApi.ts
  • packages/backend/src/api/endpoints/WaitlistEntryApi.ts
  • packages/backend/src/api/endpoints/index.ts
  • packages/backend/src/api/factory.ts
  • packages/backend/src/api/resources/APIKey.ts
  • packages/backend/src/api/resources/AgentTask.ts
  • packages/backend/src/api/resources/Deserializer.ts
  • packages/backend/src/api/resources/Enums.ts
  • packages/backend/src/api/resources/ExternalAccount.ts
  • packages/backend/src/api/resources/JSON.ts
  • packages/backend/src/api/resources/OauthAccessToken.ts
  • packages/backend/src/api/resources/WaitlistEntry.ts
  • packages/backend/src/api/resources/index.ts
  • packages/backend/src/constants.ts
  • packages/backend/src/index.ts
  • packages/backend/src/internal.ts
  • packages/backend/src/tokens/__tests__/clerkRequest.test.ts
  • packages/backend/src/tokens/__tests__/handshake.test.ts
  • packages/backend/src/tokens/__tests__/request.test.ts
  • packages/backend/src/tokens/clerkRequest.ts
  • packages/backend/src/tokens/handshake.ts
  • packages/backend/src/tokens/request.ts
  • packages/backend/tsup.config.ts
  • packages/chrome-extension/CHANGELOG.md
  • packages/chrome-extension/package.json
  • packages/clerk-js/CHANGELOG.md
  • packages/clerk-js/bundle-check.mjs
  • packages/clerk-js/bundlewatch.config.json
  • packages/clerk-js/package.json
  • packages/clerk-js/rspack.config.js
  • packages/clerk-js/sandbox/app.ts
  • packages/clerk-js/src/core/__tests__/clerk.test.ts
  • packages/clerk-js/src/core/auth/__tests__/getCookieDomain.test.ts
  • packages/clerk-js/src/core/auth/cookies/__tests__/clientUat.test.ts
  • packages/clerk-js/src/core/auth/cookies/__tests__/session.test.ts
  • packages/clerk-js/src/core/auth/cookies/clientUat.ts
  • packages/clerk-js/src/core/auth/cookies/devBrowser.ts
  • packages/clerk-js/src/core/auth/cookies/requireSameSiteNone.ts
  • packages/clerk-js/src/core/auth/cookies/session.ts
  • packages/clerk-js/src/core/auth/getCookieDomain.ts
  • packages/clerk-js/src/core/auth/safeLock.ts
  • packages/clerk-js/src/core/clerk.ts
  • packages/clerk-js/src/core/constants.ts
  • packages/clerk-js/src/core/modules/debug/transports/console.ts
  • packages/clerk-js/src/core/resources/BillingSubscription.ts
  • packages/clerk-js/src/core/resources/Organization.ts
  • packages/clerk-js/src/core/resources/OrganizationCreationDefaults.ts
  • packages/clerk-js/src/core/resources/OrganizationSettings.ts
  • packages/clerk-js/src/core/resources/PublicUserData.ts
  • packages/clerk-js/src/core/resources/Session.ts
  • packages/clerk-js/src/core/resources/SignIn.ts
  • packages/clerk-js/src/core/resources/SignUp.ts
  • packages/clerk-js/src/core/resources/Token.ts
  • packages/clerk-js/src/core/resources/User.ts
  • packages/clerk-js/src/core/resources/UserSettings.ts
  • packages/clerk-js/src/core/resources/__tests__/ExternalAccount.test.ts
  • packages/clerk-js/src/core/resources/__tests__/PublicUserData.test.ts
  • packages/clerk-js/src/core/resources/__tests__/Session.test.ts
  • packages/clerk-js/src/core/resources/__tests__/Token.test.ts
  • packages/clerk-js/src/core/resources/__tests__/UserSettings.test.ts
  • packages/clerk-js/src/core/sessionTasks.ts
  • packages/clerk-js/src/test/create-fixtures.tsx
  • packages/clerk-js/src/test/fixture-helpers.ts
  • packages/clerk-js/src/test/fixtures.ts
  • packages/clerk-js/src/ui/common/WalletInitialIcon.tsx
  • packages/clerk-js/src/ui/common/Wizard.tsx
  • packages/clerk-js/src/ui/components/Checkout/CheckoutForm.tsx
  • packages/clerk-js/src/ui/components/Checkout/__tests__/Checkout.test.tsx
  • packages/clerk-js/src/ui/components/OAuthConsent/OAuthConsent.tsx
  • packages/clerk-js/src/ui/components/OrganizationProfile/ActiveMembersList.tsx
  • packages/clerk-js/src/ui/components/OrganizationProfile/InviteMembersForm.tsx
  • packages/clerk-js/src/ui/components/OrganizationProfile/MemberListTable.tsx
  • packages/clerk-js/src/ui/components/OrganizationProfile/OrganizationMembers.tsx
  • packages/clerk-js/src/ui/components/OrganizationProfile/OrganizationProfileAvatarUploader.tsx
  • packages/clerk-js/src/ui/components/OrganizationProfile/__tests__/InviteMembersPage.test.tsx
  • packages/clerk-js/src/ui/components/OrganizationProfile/__tests__/OrganizationMembers.test.tsx
  • packages/clerk-js/src/ui/components/PaymentAttempts/PaymentAttemptPage.tsx
  • packages/clerk-js/src/ui/components/SessionTasks/index.tsx
  • packages/clerk-js/src/ui/components/SessionTasks/tasks/TaskChooseOrganization/ChooseOrganizationScreen.tsx
  • packages/clerk-js/src/ui/components/SessionTasks/tasks/TaskChooseOrganization/CreateOrganizationScreen.tsx
  • packages/clerk-js/src/ui/components/SessionTasks/tasks/TaskChooseOrganization/OrganizationCreationDefaultsAlert.tsx
  • packages/clerk-js/src/ui/components/SessionTasks/tasks/TaskChooseOrganization/__tests__/TaskChooseOrganization.test.tsx
  • packages/clerk-js/src/ui/components/SessionTasks/tasks/TaskChooseOrganization/index.tsx
  • packages/clerk-js/src/ui/components/SessionTasks/tasks/TaskSetupMfa/SetupMfaStartScreen.tsx
  • packages/clerk-js/src/ui/components/SessionTasks/tasks/TaskSetupMfa/SmsCodeFlowScreen.tsx
  • packages/clerk-js/src/ui/components/SessionTasks/tasks/TaskSetupMfa/TOTPCodeFlowScreen.tsx
  • packages/clerk-js/src/ui/components/SessionTasks/tasks/TaskSetupMfa/__tests__/TaskSetupMfa.test.tsx
  • packages/clerk-js/src/ui/components/SessionTasks/tasks/TaskSetupMfa/constants.ts
  • packages/clerk-js/src/ui/components/SessionTasks/tasks/TaskSetupMfa/index.tsx
  • packages/clerk-js/src/ui/components/SessionTasks/tasks/TaskSetupMfa/shared.tsx
  • packages/clerk-js/src/ui/components/SessionTasks/tasks/shared/index.ts
  • packages/clerk-js/src/ui/components/SessionTasks/tasks/shared/withTaskGuardOnlyOnMount.tsx
  • packages/clerk-js/src/ui/components/SignIn/SignInFactorOnePasswordCard.tsx
  • packages/clerk-js/src/ui/components/SignIn/SignInFactorOneSolanaWalletsCard.tsx
  • packages/clerk-js/src/ui/components/SignIn/SignInFactorTwo.tsx
  • packages/clerk-js/src/ui/components/SignIn/SignInSocialButtons.tsx
  • packages/clerk-js/src/ui/components/SignIn/SignInStart.tsx
  • packages/clerk-js/src/ui/components/SignIn/__tests__/handleCombinedFlowTransfer.test.ts
  • packages/clerk-js/src/ui/components/SignIn/handleCombinedFlowTransfer.ts
  • packages/clerk-js/src/ui/components/SignIn/index.tsx
  • packages/clerk-js/src/ui/components/SignUp/SignUpSocialButtons.tsx
  • packages/clerk-js/src/ui/components/SignUp/SignUpStart.tsx
  • packages/clerk-js/src/ui/components/SignUp/SignUpStartSolanaWalletsCard.tsx
  • packages/clerk-js/src/ui/components/SignUp/__tests__/SignUpStart.test.tsx
  • packages/clerk-js/src/ui/components/SignUp/index.tsx
  • packages/clerk-js/src/ui/components/Statements/StatementPage.tsx
  • packages/clerk-js/src/ui/components/UserProfile/MfaSection.tsx
  • packages/clerk-js/src/ui/components/UserProfile/Web3Form.tsx
  • packages/clerk-js/src/ui/components/UserProfile/Web3Section.tsx
  • packages/clerk-js/src/ui/components/UserProfile/Web3SelectSolanaWalletScreen.tsx
  • packages/clerk-js/src/ui/components/UserProfile/__tests__/MfaPage.test.tsx
  • packages/clerk-js/src/ui/components/UserProfile/__tests__/PasswordSection.test.tsx
  • packages/clerk-js/src/ui/components/UserProfile/__tests__/SecurityPage.test.tsx
  • packages/clerk-js/src/ui/components/UserProfile/utils.ts
  • packages/clerk-js/src/ui/components/devPrompts/EnableOrganizationsPrompt/index.tsx
  • packages/clerk-js/src/ui/components/devPrompts/KeylessPrompt/__tests__/KeylessPrompt.test.tsx
  • packages/clerk-js/src/ui/components/devPrompts/KeylessPrompt/index.tsx
  • packages/clerk-js/src/ui/contexts/ClerkUIComponentsContext.tsx
  • packages/clerk-js/src/ui/contexts/components/SessionTasks.ts
  • packages/clerk-js/src/ui/customizables/elementDescriptors.ts
  • packages/clerk-js/src/ui/elements/Alert.tsx
  • packages/clerk-js/src/ui/elements/Avatar.tsx
  • packages/clerk-js/src/ui/elements/AvatarUploader.tsx
  • packages/clerk-js/src/ui/elements/FormContainer.tsx
  • packages/clerk-js/src/ui/elements/Header.tsx
  • packages/clerk-js/src/ui/elements/OrganizationAvatar.tsx
  • packages/clerk-js/src/ui/elements/Select.tsx
  • packages/clerk-js/src/ui/elements/SuccessPage.tsx
  • packages/clerk-js/src/ui/elements/VerificationCodeCard.tsx
  • packages/clerk-js/src/ui/elements/Web3SolanaWalletButtons.tsx
  • packages/clerk-js/src/ui/elements/contexts/index.tsx
  • packages/clerk-js/src/ui/hooks/index.ts
  • packages/clerk-js/src/ui/hooks/useFetchRoles.ts
  • packages/clerk-js/src/ui/hooks/useWindowEventListener.ts
  • packages/clerk-js/src/ui/lazyModules/components.ts
  • packages/clerk-js/src/ui/localization/__tests__/parseLocalization.test.tsx
  • packages/clerk-js/src/ui/primitives/Text.tsx
  • packages/clerk-js/src/ui/router/BaseRouter.tsx
  • packages/clerk-js/src/ui/router/PathRouter.tsx
  • packages/clerk-js/src/ui/types.ts
  • packages/clerk-js/src/ui/utils/__tests__/originPrefersPopup.test.ts
  • packages/clerk-js/src/ui/utils/mfa.ts
  • packages/clerk-js/src/ui/utils/originPrefersPopup.ts
  • packages/clerk-js/src/ui/utils/web3CallbackErrorHandler.ts
  • packages/clerk-js/src/utils/billing.ts
  • packages/clerk-js/src/utils/captcha/turnstile.ts
  • packages/clerk-js/src/utils/injectedWeb3EthProviders.ts
  • packages/clerk-js/src/utils/injectedWeb3SolanaProviders.ts
  • packages/clerk-js/src/utils/thirdPartyDomains.ts
  • packages/clerk-js/src/utils/web3.ts
  • packages/elements/CHANGELOG.md
  • packages/elements/package.json
  • packages/elements/src/react/hooks/use-third-party-provider.hook.ts
  • packages/expo-passkeys/CHANGELOG.md
  • packages/expo-passkeys/package.json
  • packages/expo/CHANGELOG.md
  • packages/expo/package.json
  • packages/express/CHANGELOG.md
  • packages/express/package.json
  • packages/fastify/CHANGELOG.md
  • packages/fastify/package.json
  • packages/localizations/CHANGELOG.md
  • packages/localizations/package.json
  • packages/localizations/src/ar-SA.ts
  • packages/localizations/src/be-BY.ts
  • packages/localizations/src/bg-BG.ts
  • packages/localizations/src/bn-IN.ts
  • packages/localizations/src/ca-ES.ts
  • packages/localizations/src/cs-CZ.ts
  • packages/localizations/src/da-DK.ts
  • packages/localizations/src/de-DE.ts
  • packages/localizations/src/el-GR.ts
  • packages/localizations/src/en-GB.ts
  • packages/localizations/src/en-US.ts
  • packages/localizations/src/es-CR.ts
  • packages/localizations/src/es-ES.ts
  • packages/localizations/src/es-MX.ts
  • packages/localizations/src/es-UY.ts
  • packages/localizations/src/fa-IR.ts
  • packages/localizations/src/fi-FI.ts
  • packages/localizations/src/fr-FR.ts
  • packages/localizations/src/he-IL.ts
  • packages/localizations/src/hi-IN.ts
  • packages/localizations/src/hr-HR.ts
  • packages/localizations/src/hu-HU.ts
  • packages/localizations/src/id-ID.ts
  • packages/localizations/src/is-IS.ts
  • packages/localizations/src/it-IT.ts
  • packages/localizations/src/ja-JP.ts
  • packages/localizations/src/kk-KZ.ts
  • packages/localizations/src/ko-KR.ts
  • packages/localizations/src/mn-MN.ts
  • packages/localizations/src/ms-MY.ts
  • packages/localizations/src/nb-NO.ts
  • packages/localizations/src/nl-BE.ts
  • packages/localizations/src/nl-NL.ts
  • packages/localizations/src/pl-PL.ts
  • packages/localizations/src/pt-BR.ts
  • packages/localizations/src/pt-PT.ts
  • packages/localizations/src/ro-RO.ts
  • packages/localizations/src/ru-RU.ts
  • packages/localizations/src/sk-SK.ts
  • packages/localizations/src/sr-RS.ts
  • packages/localizations/src/sv-SE.ts
  • packages/localizations/src/ta-IN.ts
  • packages/localizations/src/te-IN.ts
  • packages/localizations/src/th-TH.ts
  • packages/localizations/src/tr-TR.ts
  • packages/localizations/src/uk-UA.ts
  • packages/localizations/src/vi-VN.ts
  • packages/localizations/src/zh-CN.ts
  • packages/localizations/src/zh-TW.ts
  • packages/nextjs/CHANGELOG.md
  • packages/nextjs/package.json
  • packages/nextjs/src/__tests__/keyless-custom-headers.test.ts
  • packages/nextjs/src/app-router/server/auth.ts
  • packages/nextjs/src/client-boundary/hooks.ts
  • packages/nextjs/src/client-boundary/uiComponents.tsx
  • packages/nextjs/src/index.ts
  • packages/nextjs/src/server/__tests__/content-security-policy.test.ts
  • packages/nextjs/src/server/clerkMiddleware.ts
  • packages/nextjs/src/server/content-security-policy.ts
  • packages/nextjs/src/server/data/getAuthDataFromRequest.ts
  • packages/nextjs/src/server/fs/middleware-location.ts
  • packages/nextjs/src/server/keyless-custom-headers.ts
  • packages/nextjs/src/utils/__tests__/sdk-versions.test.ts
  • packages/nextjs/src/utils/sdk-versions.ts
  • packages/nuxt/CHANGELOG.md
  • packages/nuxt/package.json
  • packages/react-router/CHANGELOG.md
  • packages/react-router/package.json
  • packages/react/CHANGELOG.md
  • packages/react/package.json
  • packages/react/src/components/SignInButton.tsx
  • packages/react/src/components/SignUpButton.tsx
  • packages/react/src/components/__tests__/SignInButton.test.tsx
  • packages/react/src/components/__tests__/SignUpButton.test.tsx
  • packages/react/src/components/index.ts
  • packages/react/src/components/uiComponents.tsx
  • packages/react/src/hooks/index.ts
  • packages/react/src/hooks/useSignIn.ts
  • packages/react/src/hooks/useSignUp.ts
  • packages/react/src/isomorphicClerk.ts
  • packages/remix/CHANGELOG.md
  • packages/remix/package.json

📝 Walkthrough

Walkthrough

This PR integrates substantial feature additions across the Clerk JavaScript monorepo, including Solana Web3 authentication, MFA session task setup flow, organization creation defaults system, billing credits display, and comprehensive localization updates. Changes span CI workflows, backend APIs, frontend UI components, test suites, and multiple language translations.

Changes

Cohort / File(s) Summary
CI/Workflow Configuration
.changeset/config.json, .github/workflows/ci.yml, .github/workflows/nightly-checks.yml, .github/workflows/preview.retheme.yml, .github/workflows/release-canary.yml, .github/workflows/release.yml
Updated changeset baseline and CI triggers to use release/core-2 branch; removed nightly, preview, and canary release workflows; consolidated release pipeline configuration.
Backend API: Agent Tasks & Authentication
packages/backend/src/api/endpoints/AgentTaskApi.ts, packages/backend/src/api/endpoints/index.ts, packages/backend/src/api/factory.ts, packages/backend/src/api/resources/AgentTask.ts, packages/backend/src/index.ts
Added new AgentTaskAPI with create() and revoke() methods for managing agent testing tasks; exported new AgentTask resource type and JSON interface.
Backend API: User & Session Management
packages/backend/src/api/endpoints/UserApi.ts, packages/backend/src/tokens/handshake.ts, packages/backend/src/tokens/request.ts
Added setPasswordCompromised() and unsetPasswordCompromised() methods replacing experimental API; added lastSignInAtAfter/lastSignInAtBefore filters to user list; added session token handling to handshake flow.
Backend API: API Keys & Invitations
packages/backend/src/api/endpoints/APIKeysApi.ts, packages/backend/src/api/endpoints/InvitationApi.ts, packages/backend/src/api/endpoints/WaitlistEntryApi.ts
Added get(), update(), delete() methods to APIKeysAPI with revocation reason support; changed createInvitationBulk() return type to Invitation[]; added createBulk() for waitlist entries.
Backend Resources & Enums
packages/backend/src/api/resources/APIKey.ts, packages/backend/src/api/resources/ExternalAccount.ts, packages/backend/src/api/resources/OauthAccessToken.ts, packages/backend/src/api/resources/Enums.ts, packages/backend/src/api/resources/JSON.ts
Expanded APIKey constructor with detailed properties; added providerUserId to ExternalAccount (deprecated externalId); added idToken to OauthAccessToken; added expired status to OrganizationInvitationStatus; added AgentTaskJSON type.
Backend Test Utilities & Tokens
packages/backend/src/testUtils/usersService.ts, packages/backend/src/tokens/clerkRequest.ts, packages/backend/src/tokens/__tests__/request.test.ts
Changed API key revoke() to accept optional reason parameter; renamed passwordCompromised() to setPasswordCompromised(); replaced instanceof check with duck-typing for ClerkRequest; added OAuth JWT token type tests.
Clerk-JS: Solana Web3 Authentication
packages/clerk-js/src/core/clerk.ts, packages/clerk-js/src/core/resources/SignIn.ts, packages/clerk-js/src/core/resources/SignUp.ts, packages/clerk-js/src/utils/web3.ts, packages/clerk-js/src/utils/injectedWeb3SolanaProviders.ts
Added authenticateWithSolana() method to Clerk, SignIn, and SignUp; implemented Solana wallet detection and signature generation; added walletName parameter throughout Web3 flows.
Clerk-JS: UI Components - Solana Wallets
packages/clerk-js/src/ui/components/SignIn/SignInFactorOneSolanaWalletsCard.tsx, packages/clerk-js/src/ui/components/SignUp/SignUpStartSolanaWalletsCard.tsx, packages/clerk-js/src/ui/elements/Web3SolanaWalletButtons.tsx, packages/clerk-js/src/ui/components/UserProfile/Web3SelectSolanaWalletScreen.tsx
Added new UI components for Solana wallet selection and connection flows in sign-in, sign-up, and user profile contexts.
Clerk-JS: MFA Session Task Setup
packages/clerk-js/src/ui/components/SessionTasks/tasks/TaskSetupMfa/*, packages/clerk-js/src/ui/components/SessionTasks/index.tsx, packages/clerk-js/src/ui/contexts/components/SessionTasks.ts
Implemented complete MFA setup flow with TOTP and SMS code methods, phone selection, success screens, and shared footer; added TaskSetupMFAContext and related hooks.
Clerk-JS: Organization Creation Defaults
packages/clerk-js/src/core/resources/OrganizationCreationDefaults.ts, packages/clerk-js/src/core/resources/User.ts, packages/clerk-js/src/core/resources/OrganizationSettings.ts, packages/clerk-js/src/ui/components/SessionTasks/tasks/TaskChooseOrganization/*
Added OrganizationCreationDefaults resource with advisory and form fields; integrated defaults into org creation flow with prefilling and UI alerts.
Clerk-JS: Billing Credits & Statements
packages/clerk-js/src/core/resources/BillingSubscription.ts, packages/clerk-js/src/ui/components/Checkout/CheckoutForm.tsx, packages/clerk-js/src/ui/components/PaymentAttempts/PaymentAttemptPage.tsx, packages/clerk-js/src/ui/components/Statements/StatementPage.tsx, packages/clerk-js/src/utils/billing.ts
Added support for displaying prorated and account payer credits separately in billing UI; expanded BillingCredits structure with nested proration and payer data.
Clerk-JS: Organization Role Migration
packages/clerk-js/src/ui/components/OrganizationProfile/ActiveMembersList.tsx, packages/clerk-js/src/ui/components/OrganizationProfile/InviteMembersForm.tsx, packages/clerk-js/src/ui/components/OrganizationProfile/OrganizationMembers.tsx
Added hasRoleSetMigration flag to member lists and invite forms; disabled role selection during migration; displayed warning alerts.
Clerk-JS: MFA in User Settings
packages/clerk-js/src/core/resources/UserSettings.ts, packages/clerk-js/src/ui/components/UserProfile/MfaSection.tsx
Added mfa.required field to sign-up settings; enhanced MFA section to hide/show delete actions based on requirement and available factors.
Integration Tests
integration/tests/astro/billingStore.test.ts, integration/tests/astro/components.test.ts, integration/tests/session-tasks-setup-mfa.test.ts, integration/tests/oauth-flows.test.ts, integration/tests/next-quickstart-keyless.test.ts
Added test coverage for Astro billing store, prerendered pages, MFA setup flow, OAuth with legal consent, and keyless mode URL validation.
Integration Templates
integration/templates/astro-node/src/pages/billing/billing-store.astro, integration/templates/astro-node/src/pages/prerendered.astro, integration/templates/react-vite/src/sign-in-popup/index.tsx, integration/templates/tanstack-react-start/*
Added Astro billing store page and prerendered page examples; added React Vite popup sign-in; updated TanStack router with user routes and Solana wallet selection.
Localizations
packages/localizations/src/*.ts, packages/localizations/CHANGELOG.md, packages/localizations/package.json
Added comprehensive translations for Solana Web3 flows, MFA setup, organization creation defaults, billing credits, and role migration alerts across 20+ languages.
Package Versions & Changelogs
packages/*/package.json, packages/*/CHANGELOG.md
Bumped versions and added changelog entries documenting dependency updates for clerk-js (5.114.0→5.125.0), backend (2.26.0→2.32.0), astro (2.16.6→2.17.5), and numerous other packages.
Configuration & Build
packages/clerk-js/bundle-check.mjs, packages/clerk-js/bundlewatch.config.json, packages/clerk-js/rspack.config.js, packages/clerk-js/sandbox/app.ts, packages/tanstack-react-start/vite.config.ts
Updated Playwright imports; adjusted bundle size thresholds; added Solana wallet vendor exclusions; updated Vite alias configuration for Solana dependencies.
Utility & Type Changes
packages/clerk-js/src/utils/thirdPartyDomains.ts, packages/clerk-js/src/utils/originPrefersPopup.ts, packages/clerk-js/src/ui/types.ts, packages/clerk-js/src/ui/utils/mfa.ts, packages/clerk-js/src/core/constants.ts
Added third-party cookie domain detection; refactored popup preference logic; added MFA utility functions; added TaskSetupMFACtx type support; added USER_DEACTIVATED error code.

Estimated Code Review Effort

🎯 5 (Critical) | ⏱️ ~120+ minutes

This PR introduces multiple substantial, interrelated features (Solana Web3 authentication, MFA setup tasks, organization creation defaults, billing credits) across heterogeneous packages with high logic density, diverse file types (backend APIs, UI components, utilities, tests, localizations), and complex integration points requiring careful cross-package validation.

Possibly Related PRs

Suggested Labels

backend, types, core-2

Suggested Reviewers

  • panteliselef
  • tmilewski

Poem

🐇 Solana hops into the auth dance,
MFA wizards cast their spell,
Credits split and organizations grow wise,
A monorepo transformed—now we ship it well!

✨ Finishing Touches
  • 📝 Generate docstrings (stacked PR)
  • 📝 Generate docstrings (commit on current branch)
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch austin/core-2-organization-status-type-update

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

@austincalvelage austincalvelage deleted the austin/core-2-organization-status-type-update branch February 23, 2026 17:19
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.