refactor(ui): shared profile UI infra (style-cache sharing, appearance overrides, Animated StrictMode fix, ProfilePagePanel)#9131
Conversation
|
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository YAML (base), Repository UI (inherited) Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Comment |
efa84cb to
cf0c160
Compare
e2d4168 to
c67cdb2
Compare
c67cdb2 to
9f03814
Compare
cf0c160 to
06330fc
Compare
06330fc to
444ebfb
Compare
…e overrides, Animated StrictMode fix, ProfilePagePanel)
9f03814 to
b733483
Compare
444ebfb to
9a50394
Compare
Stack 2/7. Behavior-preserving
@clerk/uiinfra the composed layer builds on:createEmotionCache,StyleCacheProvider,styleCacheStore)AppearanceOverrideselementProfilePageSection→ProfilePagePanelrename (internal toelements/ProfileCard)Why
styleCacheStore(WeakMap): invariant = onecl-internalemotion cache per clerk instance (two live caches, same key → dup style inserts + broken emotion dedup/ordering). AIO gets it free from its single portal tree. Composed mounts N sibling React roots (UserProfile + OrganizationProfile) per instance, so it keys the cache on the clerk instance → siblings reuse one cache instead of each making its own. SamecreateEmotionCachefactory both paths; store is just the sharing channel.No new public API. Note: if the Animated StrictMode fix should ship standalone, promote to a
@clerk/uipatch.Changesets live only on the release PR #9144; this PR carries none.
Stack
Reviewed as a stack. The 7 PRs merge bottom-up into release branch #9144, which integrates into
mainas a single unit.main(integration)@clerk/ui/experimental(public API)