Skip to content

Conversation

@LauraBeatris
Copy link
Member

@LauraBeatris LauraBeatris commented Jan 9, 2026

Description

Backport from #7574

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

  • New Features

    • Added Solana Web3 wallet authentication for signing in, signing up, and managing user wallets.
    • Introduced organization creation restrictions with appropriate messaging when users lack permissions.
    • Added role migration alerts to organization members page.
    • Expanded API key management with create, read, update, delete operations and revocation reasons.
  • Bug Fixes

    • Fixed role select disabling when default role unavailable during organization member invitations.
    • Improved session token fallback handling during outages.
    • Enhanced password-based authentication detection logic.
  • Localization

    • Added Solana Web3 support and organization creation gating messages across 50+ languages.

✏️ Tip: You can customize this high-level summary in your review settings.

@LauraBeatris LauraBeatris requested a review from a team January 9, 2026 16:55
@LauraBeatris LauraBeatris self-assigned this Jan 9, 2026
@changeset-bot
Copy link

changeset-bot bot commented Jan 9, 2026

🦋 Changeset detected

Latest commit: dd135ce

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

This PR includes changesets to release 3 packages
Name Type
@clerk/clerk-js Patch
@clerk/chrome-extension Patch
@clerk/clerk-expo 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 Jan 9, 2026

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

Project Deployment Review Updated (UTC)
clerk-js-sandbox Ready Ready Preview, Comment Jan 9, 2026 4:56pm

@LauraBeatris LauraBeatris changed the base branch from main to release/core-2 January 9, 2026 16:55
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Jan 9, 2026

Caution

Review failed

Failed to post review comments

📝 Walkthrough

Walkthrough

This PR introduces Solana Web3 wallet authentication support, adds organization role migration alerts, enhances API key management with full CRUD operations, improves password compromise handling, updates CI/CD workflows to target the release/core-2 branch, and adds extensive multi-language localization strings for new UI flows and error messages. Numerous package versions are bumped across the monorepo.

Changes

Cohort / File(s) Summary
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/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/utils/web3.ts, packages/clerk-js/src/utils/injectedWeb3SolanaProviders.ts, packages/shared/src/types/*
New authenticateWithSolana methods across Clerk and SignIn/SignUp resources; Solana wallet button components and identifier/signature generation utilities; type additions for Solana parameters and Web3 provider expansion
Organization UI & Role Migration
packages/clerk-js/src/ui/components/OrganizationProfile/*, packages/clerk-js/src/ui/components/SessionTasks/tasks/TaskChooseOrganization/*, packages/clerk-js/src/ui/hooks/useFetchRoles.ts
New role set migration alert display, disabled role select when migration in progress, organization creation disabled state screen, conditional subtitle for disabled creation, hasRoleSetMigration flag propagation
API Key Management
packages/backend/src/api/endpoints/APIKeysApi.ts, packages/backend/src/api/__tests__/APIKeysApi.test.ts
Added get(), update(), delete() methods to APIKeysAPI; extended revoke() to accept optional revocationReason parameter; comprehensive test coverage for full CRUD lifecycle
Password Compromise & Session Token
packages/backend/src/api/endpoints/UserApi.ts, packages/clerk-js/src/core/resources/Session.ts, packages/backend/src/tokens/handshake.ts, packages/backend/src/tokens/request.ts
Replaced experimental __experimental_passwordCompromised with setPasswordCompromised() method; added unsetPasswordCompromised(); session token added to handshake URL; improved token fallback with MissingExpiredTokenError retry logic
CI/CD & Release Configuration
.changeset/config.json, .github/workflows/ci.yml, .github/workflows/release.yml, .github/workflows/nightly-checks.yml, .github/workflows/preview.retheme.yml, .github/workflows/release-canary.yml
Updated baseBranch to origin/release/core-2, removed deprecated nightly and canary workflows, adjusted trigger branches, added cancel-in-progress concurrency setting
Error Handling & Type Improvements
packages/shared/src/error.ts, packages/shared/src/errors/, packages/shared/src/types/elementIds.ts
Added MissingExpiredTokenError class and re-exports; renamed API error types for consistency (ClerkApiErrorMetaClerkAPIErrorMeta); added duck-typing to error guards; new web3WalletName field ID
UI Components & Styling
packages/clerk-js/src/ui/elements/Select.tsx, packages/clerk-js/src/ui/elements/Alert.tsx, packages/clerk-js/src/ui/common/WalletInitialIcon.tsx, packages/clerk-js/src/ui/customizables/elementDescriptors.ts, packages/clerk-js/src/ui/primitives/Text.tsx
Select placeholder now rendered as plain text without opacity; Alert text alignment adjusted; new WalletInitialIcon component; new element descriptors for Solana wallet buttons; data attributes added to Text element
Localization
packages/localizations/src/*.ts (50+ language files)
Comprehensive additions across all supported languages: web3Solana login/registration blocks, web3SelectSolanaWalletScreen wallet selection UI, web3SolanaWalletButtons action labels, organizationCreationDisabled messaging, roleSetMigrationInProgress alerts, form validation errors (form_email_address_blocked, form_password_or_identifier_incorrect, web3_signature_request_rejected, web3_solana_signature_generation_failed)
Package Version Updates
packages/*/package.json, packages/*/CHANGELOG.md
Version bumps across agent-toolkit, astro, backend, chrome-extension, clerk-js, elements, expo-passkeys, expo, express, fastify, localizations, nextjs, nuxt, react-router, react, remix, shared, tanstack-react-start, testing, themes, types, vue
Integration & Testing
integration/tests/elements/otp.test.ts, integration/tests/machine-auth/api-keys.test.ts, integration/tests/session-tasks-sign-in-reset-password.test.ts, integration/testUtils/usersService.ts, integration/presets/envs.ts
Updated OTP selection state assertions, API key revoke test with reason parameter, password compromise test expectations and method names, revoke reason parameter support, removed CLERK_API_URL env var

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~60 minutes

Possibly related PRs

Suggested labels

clerk-js, web3, solana, localization, organization, release/core-2

Suggested reviewers

  • alexcarpenter
  • iagodahlem

Poem

🐰 Whiskers twitching with delight,
Solana wallets take flight!
Organizations organize with glee,
While locales speak beautifully—
Fifty tongues sing your Web3 song tonight! 🌙✨

🚥 Pre-merge checks | ✅ 2 | ❌ 1
❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 33.33% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The PR title 'fix(clerk-js): Remove opacity from Select placeholder' directly and accurately describes the main change in the changeset, which modifies Select.tsx to remove placeholder opacity styling.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
  • 📝 Generate docstrings

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

@LauraBeatris LauraBeatris added core-2 and removed core-3 labels Jan 9, 2026
@LauraBeatris LauraBeatris changed the title fix(ui): Remove opacity from Select placeholder fix(clerk-js): Remove opacity from Select placeholder Jan 9, 2026
@LauraBeatris LauraBeatris enabled auto-merge (squash) January 9, 2026 17:03
auto-merge was automatically disabled January 9, 2026 17:12

Pull request was closed

@LauraBeatris LauraBeatris reopened this Jan 9, 2026
@pkg-pr-new
Copy link

pkg-pr-new bot commented Jan 9, 2026

Open in StackBlitz

@clerk/agent-toolkit

npm i https://pkg.pr.new/@clerk/agent-toolkit@7575

@clerk/astro

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

@clerk/backend

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

@clerk/chrome-extension

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

@clerk/clerk-js

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

@clerk/dev-cli

npm i https://pkg.pr.new/@clerk/dev-cli@7575

@clerk/elements

npm i https://pkg.pr.new/@clerk/elements@7575

@clerk/clerk-expo

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

@clerk/expo-passkeys

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

@clerk/express

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

@clerk/fastify

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

@clerk/localizations

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

@clerk/nextjs

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

@clerk/nuxt

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

@clerk/clerk-react

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

@clerk/react-router

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

@clerk/remix

npm i https://pkg.pr.new/@clerk/remix@7575

@clerk/shared

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

@clerk/tanstack-react-start

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

@clerk/testing

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

@clerk/themes

npm i https://pkg.pr.new/@clerk/themes@7575

@clerk/types

npm i https://pkg.pr.new/@clerk/types@7575

@clerk/upgrade

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

@clerk/vue

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

commit: dd135ce

@LauraBeatris LauraBeatris merged commit 4ac7188 into release/core-2 Jan 9, 2026
113 of 117 checks passed
@LauraBeatris LauraBeatris deleted the laura/modify-select-placeholder-opacity-2 branch January 9, 2026 18:03
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.

3 participants