You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
SelectPanel synchronizes selection and loading state from effects #8607
SelectPanel synchronizes intermediate selection, loading state, and selected-item ordering from passive effects. These effects can call multiple state setters during commit, producing cascading follow-up renders on pages that mount closed or data-backed SelectPanels.
Expected behavior: SelectPanel should preserve controlled/uncontrolled selection and loading semantics without avoidable commit-spawned updates.
Steps to reproduce
Render closed SelectPanels with empty and preloaded item arrays in a React 19 profiling build.
Change items, open, and controlled selection values.
Record commits in Chrome DevTools.
Observe state publication from the selection/loading/sort synchronization effects.
Version
@primer/react 38.42.0
Browser
Chrome
Acceptance criteria
Preserve loading announcements and selected-item ordering.
Preserve modal intermediate selection behavior.
Add tests for mount, open/close, item arrival, and controlled selection changes.
Fix this in Primer React rather than requiring a downstream patch.
Activity