Skip to content

perf(react-compiler): enable ButtonBase - #8564

Open
joshblack wants to merge 1 commit into
joshblack/react-compiler-stable-callbacksfrom
joshblack/react-compiler-button-base
Open

joshblack wants to merge 1 commit into
joshblack/react-compiler-stable-callbacksfrom
joshblack/react-compiler-button-base

Conversation

@joshblack

Copy link
Copy Markdown
Member

Follow up to #8562.

This PR enables React Compiler for ButtonBase, which is shared by Button, IconButton, and LinkButton. We move development-only validation into useDevOnlyEffect so it reads the attached DOM ref after commit instead of during render.

Production interactions and public APIs stay unchanged.

Changelog

New

Changed

  • Enable React Compiler for ButtonBase.
  • Update development-only validation to run after the DOM ref is attached.

Removed

Rollout strategy

Selected minor for the compiler rollout, consistent with the earlier entries in this stack. No consumer migration is needed.

  • No changes needed in github/github-ui
  • Needs changes in github/github-ui
  • Ships with feature flag(s)
  • Not sure
  • None

@changeset-bot

changeset-bot Bot commented Oct 16, 2026 •

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 762d6d8

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

This PR includes changesets to release 1 package
Name Type
@primer/react Minor

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

@joshblack
joshblack added this pull request to stack #8559 October 16, 2026 16:47
@github-actions github-actions Bot added staff Author is a staff member integration-tests: recommended This change needs to be tested for breaking changes. See https://arc.net/l/quote/tdmpakpm labels Oct 16, 2026
@github-actions

Copy link
Copy Markdown
Contributor

⚠️ Action required

👋 Hi, this pull request contains changes to the source code that github/github-ui depends on. If you are GitHub staff, test these changes with github/github-ui using the integration workflow. Check the integration testing docs for step-by-step instructions. Or, apply the integration-tests: skipped manually label to skip these checks.

@github-actions
github-actions Bot temporarily deployed to storybook-preview-8564 October 16, 2026 16:56 Inactive
@github-actions github-actions Bot added integration-tests: failing Changes in this PR cause breaking changes in gh/gh and removed integration-tests: recommended This change needs to be tested for breaking changes. See https://arc.net/l/quote/tdmpakpm labels Oct 16, 2026
@joshblack
joshblack force-pushed the joshblack/react-compiler-button-base branch from 92cbc6c to 06025a9 Compare October 19, 2026 21:15
@github-actions
github-actions Bot temporarily deployed to storybook-preview-8564 October 19, 2026 21:25 Inactive
@joshblack
joshblack force-pushed the joshblack/react-compiler-button-base branch from 06025a9 to 18b7749 Compare October 20, 2026 16:12
@github-actions
github-actions Bot temporarily deployed to storybook-preview-8564 October 20, 2026 16:23 Inactive
@joshblack
joshblack force-pushed the joshblack/react-compiler-button-base branch from 18b7749 to 762d6d8 Compare October 20, 2026 16:45
@joshblack
joshblack marked this pull request as ready for review October 20, 2026 16:45
@joshblack
joshblack requested a review from a team as a code owner October 20, 2026 16:45
@joshblack
joshblack requested review from francinelucca and a balanced review from Copilot October 20, 2026 16:45
@joshblack joshblack removed the integration-tests: failing Changes in this PR cause breaking changes in gh/gh label Oct 20, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🟢 Approval recommended

The focused changes preserve production behavior and include targeted regression coverage; no blocking issues were identified.

No open issues 🎉

What changed in this PR

Continues the React Compiler rollout by enabling optimization for the shared ButtonBase component without changing public APIs.

Changes:

  • Enables React Compiler for ButtonBase.
  • Moves development-only validation after commit and adds regression coverage.
  • Adds a minor-release changeset.
File Description
packages/​react/​src/​Button/​ButtonBase.tsx Runs validation through useDevOnlyEffect.
packages/​react/​src/​Button/​__tests__/​Button.test.tsx Tests validation after ref attachment.
packages/​react/​script/​react-compiler.mjs Removes the ButtonBase compiler exclusion.
.changeset/​react-compiler-button-base.md Documents the rendering performance improvement.

Review effort: Balanced

@github-actions github-actions Bot added the integration-tests: failing Changes in this PR cause breaking changes in gh/gh label Oct 20, 2026
@github-actions
github-actions Bot temporarily deployed to storybook-preview-8564 October 20, 2026 17:00 Inactive
@primer-integration

Copy link
Copy Markdown

Integration test results from github/github-ui PR:

Passed  Changes   Passed
Failed  CI   Failed
Failed  VRT   Failed
Passed  Projects   Passed

CI check runs linting, type checking, and unit tests. Check the workflow logs for specific failures.

VRT check ensures that when visual differences are detected, the PR cannot proceed until someone acknowledges the changes by adding the "visual difference acknowledged" label.

Need help? If you believe this failure is unrelated to your changes, please reach out to the Primer team for assistance.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: e632d4e3-54d2-4423-9888-8e37b00494a3

This branch was successfully deployed

2 active deployments
storybook-preview-8564 — ec89f277 Deployed Oct 20, 2026 by github-actions[bot]
github-pages — ec89f277 Deployed Oct 20, 2026 by joshblack via deploy-preview #33815
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

integration-tests: failing Changes in this PR cause breaking changes in gh/gh staff Author is a staff member

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants