Skip to content

UI: Ensure FocusScope reuse across manager - #36286

Merged
Sidnioulz merged 2 commits into
nextfrom
sidnioulz/rac-focusscope
Sep 11, 2026
Merged

Sidnioulz merged 2 commits into
nextfrom
sidnioulz/rac-focusscope

Conversation

@Sidnioulz

Copy link
Copy Markdown
Contributor

What I did

Fixes a regression occurring today at the intersection of #36224 and a RAC update PR. Ensures that we have a single ReactAria FocusManager, using the new react-aria import path and not re-exporting it publicly.

Checklist for Contributors

Testing

The changes in this PR are covered in the following automated tests:

ø

Manual testing

  • Run SB
  • Notice no errors in dev server
  • Make the viewport small enough to get the mobile UI
  • Open navigation menu
  • Tab to the cog icon opening the about menu
  • Press Enter
  • Tab around and notice coherent focus order

Documentation

  • Add or update documentation reflecting your changes
  • If you are deprecating/removing a feature, make sure to update
    MIGRATION.MD

Checklist for Maintainers

  • When this PR is ready for testing, make sure to add ci:normal, ci:merged or ci:daily GH label to it to run a specific set of sandboxes. The particular set of sandboxes can be found in code/lib/cli-storybook/src/sandbox-templates.ts

  • Declare whether manual QA will be needed for this PR during the next release, through qa:needed or qa:skip

  • Make sure this PR contains one of the labels below:

    Available labels
    • bug: Internal changes that fixes incorrect behavior.
    • maintenance: User-facing maintenance tasks.
    • dependencies: Upgrading (sometimes downgrading) dependencies.
    • build: Internal-facing build tooling & test updates. Will not show up in release changelog.
    • cleanup: Minor cleanup style change. Will not show up in release changelog.
    • documentation: Documentation only changes. Will not show up in release changelog.
    • feature request: Introducing a new feature.
    • BREAKING CHANGE: Changes that break compatibility in some way with current major version.
    • other: Changes that don't fit in the above categories.

🦋 Canary Release - 🚫 Not run

This PR does not have a canary release associated.

In-repo PRs: add the ci:canary label. Later pushes republish while the label remains.

Fork PRs: the label does nothing (a later push must not auto-publish). A maintainer publishes from this repository with Run workflow and the pr input. branch and sha are optional; if more than one is set, they must be the same commit. The fork author does not need to do anything.

@Sidnioulz Sidnioulz self-assigned this Sep 11, 2026
@Sidnioulz Sidnioulz added bug ui ci:normal Run our default set of CI jobs (choose this for most PRs). qa:skip Pull Requests that do not need any QA. (e.g. documentation) labels Sep 11, 2026
@coderabbitai

coderabbitai Bot commented Sep 11, 2026 •

Copy link
Copy Markdown
Contributor

Review Change StackReview Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Essentials

Run ID: f6eeef54-3f8f-4cf0-a414-f6ae22ee75e3

📥 Commits

Reviewing files that changed from the base of the PR and between 75610fb and 7b97d62.

📒 Files selected for processing (1)
  • code/.storybook/main.ts

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


Walkthrough

FocusScope now comes directly from react-aria/FocusScope. Manager global exports, runtime registration, typings, and the production Vite alias expose the updated module reference.

Changes

FocusScope module ownership

Layer / File(s) Summary
FocusScope source imports
code/core/src/components/index.ts, code/core/src/manager/components/mobile/about/MobileAbout.tsx
Removes the public FocusScope re-export and imports FocusScope from react-aria/FocusScope.
FocusScope runtime wiring
code/core/src/manager/globals/exports.ts, code/core/src/manager/globals/globals.ts, code/core/src/manager/globals/runtime.ts, code/core/src/manager/typings.d.ts
Adds the react-aria/FocusScope export and runtime mappings, including the __REACT_ARIA_FOCUS_SCOPE__ declaration.
Production module alias
code/.storybook/main.ts
Aliases storybook/internal/components to the source components path for production Vite builds.

Priority: ⬇️ Low

Merge Risk: ⚪ Minimal · up to 7b97d

The change aligns production module resolution with the updated FocusScope ownership, with no remaining merge-blocking risk identified.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch

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

@Sidnioulz
Sidnioulz force-pushed the sidnioulz/rac-focusscope branch from bb1117d to 75610fb Compare September 11, 2026 18:02
@Sidnioulz
Sidnioulz merged commit 671272c into next Sep 11, 2026
152 checks passed
@Sidnioulz
Sidnioulz deleted the sidnioulz/rac-focusscope branch September 11, 2026 19:19
@github-actions github-actions Bot mentioned this pull request Sep 11, 2026
2 tasks done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug ci:normal Run our default set of CI jobs (choose this for most PRs). qa:skip Pull Requests that do not need any QA. (e.g. documentation) ui

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants