software-mansion / react-native-reanimated

React Native's Animated library reimplemented
https://docs.swmansion.com/react-native-reanimated/
MIT License
8.6k stars 1.26k forks source link

fix: don't overwrite `propKeysManagedByAnimated` with `nil` #6115

Open kirillzyusko opened 2 weeks ago

kirillzyusko commented 2 weeks ago

Summary

Do not overwrite propKeysManagedByAnimated with nil

Explanation

When you copy propKeysManagedByAnimated - you are copying nil. Later on in

[_mountingManager synchronouslyUpdateViewOnUIThread:tag changedProps:props componentDescriptor:*componentDescriptor];

props gets set to nil and then NSSet with transform key, but in

[componentView setPropKeysManagedByAnimated_DO_NOT_USE_THIS_IS_BROKEN:propKeysManagedByAnimated];

you set it back to nil.

As a result if re-render during animation happens, it may lead to unexpected jumps during the animation.

Test plan