Skip to content

Conversation

@bartlomiejbloniarz
Copy link
Contributor

Summary:
In AnimationBackend the start and stop methods can be called from both the JS and UI thread (Animated does that in some cases). To handle that both of these methods are guarded with a mutex. Also the list of callbacks is also guarded with the mutex.

Changelog

[General] [Added] - std::mutex to AnimationBackend to protect start, stop and callbacks.

Differential Revision: D90505528

@meta-cla meta-cla bot added the CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. label Jan 16, 2026
@facebook-github-bot facebook-github-bot added p: Software Mansion Partner: Software Mansion Partner p: Facebook Partner: Facebook labels Jan 16, 2026
@meta-codesync
Copy link

meta-codesync bot commented Jan 16, 2026

@bartlomiejbloniarz has exported this pull request. If you are a Meta employee, you can view the originating Diff in D90505528.

@github-actions
Copy link

Job Summary for Gradle

Test All :: run_fantom_tests
Gradle Root Project Requested Tasks Gradle Version Build Outcome Build Scan®
react-native-github :private:react-native-fantom:buildFantomTester 9.0.0 Build Scan not published

Bartlomiej Bloniarz and others added 4 commits January 16, 2026 06:32
…imationBackend to its own DisplayLink on iOS" (#55103)

Summary:
Pull Request resolved: #55103

This diff decouples AnimationBackend from Animated. Now the backend is intialized in the Scheduler, from where it's passed to UIManager. Animation frontends (such as Animated) can then obtain a reference to the backend, and use it to schedule animation frame updates.

# Changelog
[General] [Changed] - Moved AnimationBackend initiailzation to `Scheduler`
[General] [Added] - `AnimationChoreographer` interface with an implementation for fantom tests

Differential Revision: D89663251

Reviewed By: zeyap
Summary:
Pull Request resolved: #55124

On Android AnimationBackend has now its own instance of the Choreographer that it interacts with.

# Changelog
[General] [Removed] - `UIManagerNativeAnimatedDelegateBackendImpl`
[General] [Added] - `AnimationBackendChoreographer`, `AndroidAnimationChoregrapher`

Differential Revision: D90327370
Summary:
Pull Request resolved: #55123

On iOS and macOS AnimationBackend has now its own instance of the DisplayLink that it interacts with (through `RCTAnimationChoreographer`).

# Changelog
[General] [Added] - `RCTAnimationChoreographer` to `RCTScheduler`

Differential Revision: D90327371
Summary:
Pull Request resolved: #55205

In `AnimationBackend` the start and stop methods can be called from both the JS and UI thread (Animated does that in some cases). To handle that both of these methods are guarded with a mutex. Also the list of callbacks is also guarded with the mutex.

# Changelog

[General] [Added] - `std::mutex` to `AnimationBackend` to protect `start`, `stop` and `callbacks`.

Differential Revision: D90505528
bartlomiejbloniarz pushed a commit that referenced this pull request Jan 16, 2026
Summary:
Pull Request resolved: #55205

In `AnimationBackend` the start and stop methods can be called from both the JS and UI thread (Animated does that in some cases). To handle that both of these methods are guarded with a mutex. Also the list of callbacks is also guarded with the mutex.

# Changelog

[General] [Added] - `std::mutex` to `AnimationBackend` to protect `start`, `stop` and `callbacks`.

Differential Revision: D90505528
@react-native-bot react-native-bot added the Merged This PR has been merged. label Jan 16, 2026
@react-native-bot
Copy link
Collaborator

This pull request was successfully merged by Bartlomiej Bloniarz in 520335d

When will my fix make it into a release? | How to file a pick request?

bartlomiejbloniarz pushed a commit that referenced this pull request Jan 20, 2026
Summary:
Pull Request resolved: #55205

In `AnimationBackend` the start and stop methods can be called from both the JS and UI thread (Animated does that in some cases). To handle that both of these methods are guarded with a mutex. Also the list of callbacks is also guarded with the mutex.

# Changelog

[General] [Added] - `std::mutex` to `AnimationBackend` to protect `start`, `stop` and `callbacks`.

Differential Revision: D90505528
@meta-codesync meta-codesync bot closed this in 4064b89 Jan 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. fb-exported Merged This PR has been merged. meta-exported p: Facebook Partner: Facebook p: Software Mansion Partner: Software Mansion Partner

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants