Repository navigation
feat(CSS): route shadowColor transitions to the Android platform path - #10547
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (2)
🚧 Files skipped from review as they are similar to previous changes (1)
Included review availability: Your plan provides up to 10 included reviews per hour; 6 remain after this review. 📝 WalkthroughWalkthroughAdds Priority: ⬇️ Low Change: Feature Merge Risk: ⚪ Minimal · up to The Android shadowColor platform path preserves older-version fallback and matches existing cross-platform routing behavior, so the change is mergeable. 🚥 Pre-merge checks | ✅ 4✅ Passed checks (4 passed)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
…d to the platform (#10549) > [!NOTE] > This pull request was authored by AI on behalf of @MatiPl01. ## Summary The "Properties routed to the platform" table in the feature flags guide was stale: it still showed `backgroundColor`, `borderColor` and `borderRadius` as not routed on Android after #10310, and gave no idea of which release routes what. Each cell now names the version since which the property is routed (iOS: `opacity` 4.4.0, the rest 4.5.0; Android: `opacity` 4.6.0, `backgroundColor`/`borderColor`/`borderRadius`/`shadowColor` 4.7.0), and the note below the table spells out the same per platform. The `shadowColor` row for Android assumes #10547 lands in 4.7.0. ## Test plan Docs-only. `remark` leaves the file unchanged.
Note
This pull request was authored by AI on behalf of @MatiPl01.
Summary
Add
shadowColorto the properties the Android platform animation path drives. React Native applies it as a plain view property (setOutlineAmbientShadowColorandsetOutlineSpotShadowColor, Android 9+), so it goes through the sameColorBlendWriterasbackgroundColor; both shadow channels are written because RN's setter writes both. Below API 28 the writer declines and the property stays on the C++ loop.The path is chosen at build time.
ANDROID_CSS_PLATFORM_TRANSITIONSis a static feature flag compiled into the native code (off by default, on infabric-example); with it on, ashadowColortransition runs on the platform path as long as the view has noonCSSTransition*callbacks, which keep every property on the loop. Nothing switches at runtime and no re-render is involved.Recording
All three boxes together, then each one alone:
shadow_demo_v3_small.mp4
Solo modes
Only the selected row animates, the others stay red:
Changelog
Entry added under
New featuresinpackages/react-native-reanimated/CHANGELOG.md.