Skip to content

fix(ui): pass boolean inert for interactive captcha - #9835

Open
ArjunCodess wants to merge 3 commits into
clerk:mainfrom
ArjunCodess:fix/ui-captcha-inert-boolean
Open

ArjunCodess wants to merge 3 commits into
clerk:mainfrom
ArjunCodess:fix/ui-captcha-inert-boolean

Conversation

@ArjunCodess

Copy link
Copy Markdown

Description

Sign-in and sign-up start screens passed inert="" when the captcha became interactive. React 19 treats inert as a boolean, so that empty string warns and does not inert the form.

This wires those screens through inertProps() from @clerk/shared/inert, which already landed in #8820 for React 18/19.

Fixes #9611

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:

@changeset-bot

changeset-bot Bot commented Sep 20, 2026 •

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 8e35b10

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

This PR includes changesets to release 2 packages
Name Type
@clerk/ui Patch
@clerk/chrome-extension 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

vercel Bot commented Sep 20, 2026

Copy link
Copy Markdown

@ArjunCodess is attempting to deploy a commit to the Clerk Production Team on Vercel.

A member of the Team first needs to authorize it.

@coderabbitai

coderabbitai Bot commented Sep 20, 2026 •

Copy link
Copy Markdown
Contributor

Review Change StackReview Change Stack

Important

Review skipped

Review was skipped as selected files did not have any reviewable changes.

⚙️ Run configuration

Configuration used: Repository YAML (base), Organization UI (inherited)

Review profile: ASSERTIVE

Plan: Advanced

Run ID: b62f6af7-5f1b-4862-af02-500c0c7e3a10

📥 Commits

Reviewing files that changed from the base of the PR and between 5ca1746 and 8e35b10.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository YAML (base), Organization UI (inherited)

Review profile: ASSERTIVE

Plan: Advanced

Run ID: 1f6816e4-b92d-40d7-b600-91db33fe40a3

📥 Commits

Reviewing files that changed from the base of the PR and between 4ff463a and 5ca1746.

📒 Files selected for processing (5)
  • .changeset/fix-ui-captcha-inert-boolean.md
  • packages/ui/src/components/SignIn/SignInStart.tsx
  • packages/ui/src/components/SignIn/__tests__/SignInStart.test.tsx
  • packages/ui/src/components/SignUp/SignUpStart.tsx
  • packages/ui/src/components/SignUp/__tests__/SignUpStart.test.tsx
🔗 Linked repositories identified

CodeRabbit considers these linked repositories for cross-repo context during reviews:

  • clerk/clerk_go (manual)
  • clerk/dashboard (manual)
  • clerk/accounts (manual)
  • clerk/backoffice (manual)
  • clerk/clerk (manual)
  • clerk/clerk-docs (manual)
  • clerk/cloudflare-workers (manual)

Included review availability: Your plan provides up to 4 included reviews per hour; 3 remain after this review.


📝 Walkthrough

Walkthrough

Sign-in and sign-up CAPTCHA flows now apply the shared inertProps helper to their main columns. The tests verify that the inert attribute is set to true while the CAPTCHA is interactive. A patch changeset documents the update for @clerk/ui.

Priority: ⬇️ Low

Estimated code review effort: 2 (Simple) | ~10 minutes

Severity of issue fixed: Low

Suggested reviewers: alexcarpenter

Merge Risk: ⚪ Minimal · up to 5ca17

The CAPTCHA remains usable while sign-in and sign-up controls become inert during interaction, with no material merge-blocking risk identified.

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 2 functions across 4 files. (1 skipped: 1 … Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly identifies the main fix: passing a boolean inert value for interactive captchas in the UI.
Description check ✅ Passed The description accurately explains the React 19 issue, the inertProps() fix, the affected screens, and the linked issue.
Linked Issues check ✅ Passed [#9611] The sign-in and sign-up start components now spread inertProps(captchaIsInteractive) onto the main column. The shared helper emits inert: true for React 19 and omits the prop when inactive…
Out of Scope Changes check ✅ Passed The changeset, component updates, and focused tests all support [#9611]. No unrelated production or test changes appear in the reviewed diff.
Full details: Docstring Coverage

Explanation

Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 2 functions across 4 files. (1 skipped: 1 unsupported.)

✨ Finishing Touches 💡 1
🛠️ Fix failing CI checks 💡
  • Commit to this branch
  • Create a new PR

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

@alexcarpenter alexcarpenter left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Thanks for the fix!

@github-actions github-actions Bot added the ui label Sep 21, 2026
@pkg-pr-new

pkg-pr-new Bot commented Sep 21, 2026

Copy link
Copy Markdown

Open in StackBlitz

@clerk/astro

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

@clerk/backend

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

@clerk/chrome-extension

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

@clerk/clerk-js

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

@clerk/electron

npm i https://pkg.pr.new/@clerk/electron@9835

@clerk/electron-passkeys

npm i https://pkg.pr.new/@clerk/electron-passkeys@9835

@clerk/eslint-plugin

npm i https://pkg.pr.new/@clerk/eslint-plugin@9835

@clerk/expo

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

@clerk/expo-google-signin

npm i https://pkg.pr.new/@clerk/expo-google-signin@9835

@clerk/expo-passkeys

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

@clerk/express

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

@clerk/fastify

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

@clerk/hono

npm i https://pkg.pr.new/@clerk/hono@9835

@clerk/localizations

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

@clerk/mosaic

npm i https://pkg.pr.new/@clerk/mosaic@9835

@clerk/nextjs

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

@clerk/nuxt

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

@clerk/react

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

@clerk/react-router

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

@clerk/shared

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

@clerk/tanstack-react-start

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

@clerk/testing

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

@clerk/ui

npm i https://pkg.pr.new/@clerk/ui@9835

@clerk/upgrade

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

@clerk/vue

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

commit: 5ca1746

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

@clerk/ui: SignIn/SignUp captcha flow passes inert="" instead of boolean true, triggering React 19 console warning

2 participants