Description
On iOS, a view with an entering animation stays invisible (stuck at the entering animation's initial opacity 0) when Reduce Motion is enabled. It happens only when the ENABLE_SHARED_ELEMENT_TRANSITIONS feature flag is disabled (which is the default).
| Reduce Motion enabled (bug) |
Reduce Motion disabled (expected) |
 |
 |
Reverting #9621 fixes the bug (reverting #9660 does not). The bug is iOS-only — the restoreOpacityInCaseOfFlakyEnteringAnimation workaround added in #9621 is gated #ifdef ANDROID, so iOS is left without it.
Steps to reproduce
- Enable Reduce Motion on the iOS simulator (Settings → Accessibility → Motion → Reduce Motion).
- Set
ENABLE_SHARED_ELEMENT_TRANSITIONS: false (the default) in the reanimated staticFeatureFlags.
- Render a view with an
entering animation:
<Animated.View entering={FadeIn}>
<Text>This text should be visible</Text>
</Animated.View>
- The view is not visible.
Snack or a link to a repository
46f2ec4
Reanimated version
4.6.0-main (also affects 4.5.0)
Worklets version
0.11.0-main
React Native version
0.86.0
Platforms
iOS (not reproducible on Android)
JavaScript runtime
Hermes
Architecture
New Architecture (Fabric renderer)
Reanimated feature flags
Yes — ENABLE_SHARED_ELEMENT_TRANSITIONS: false (the bug requires this flag to be disabled).
Build type
Debug app & dev bundle
Device
iOS simulator
Acknowledgements
Yes
Description
On iOS, a view with an
enteringanimation stays invisible (stuck at the entering animation's initial opacity0) when Reduce Motion is enabled. It happens only when theENABLE_SHARED_ELEMENT_TRANSITIONSfeature flag is disabled (which is the default).Reverting #9621 fixes the bug (reverting #9660 does not). The bug is iOS-only — the
restoreOpacityInCaseOfFlakyEnteringAnimationworkaround added in #9621 is gated#ifdef ANDROID, so iOS is left without it.Steps to reproduce
ENABLE_SHARED_ELEMENT_TRANSITIONS: false(the default) in the reanimatedstaticFeatureFlags.enteringanimation:Snack or a link to a repository
46f2ec4
Reanimated version
4.6.0-main (also affects 4.5.0)
Worklets version
0.11.0-main
React Native version
0.86.0
Platforms
iOS (not reproducible on Android)
JavaScript runtime
Hermes
Architecture
New Architecture (Fabric renderer)
Reanimated feature flags
Yes —
ENABLE_SHARED_ELEMENT_TRANSITIONS: false(the bug requires this flag to be disabled).Build type
Debug app & dev bundle
Device
iOS simulator
Acknowledgements
Yes