-
Notifications
You must be signed in to change notification settings - Fork 3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[HOLD for payment 2025-01-02] Replace react-native
Animated API with react-native-reanimated
#52920
Comments
Triggered auto assignment to @stephanieelliott ( |
Current assignee @stephanieelliott is eligible for the NewFeature assigner, not assigning anyone new. |
|
Happy to help push this one along |
Triggered auto assignment to Design team member for new feature review - @dubielzyk-expensify ( |
Update: I created a draft PR with just the Switch component. I will get back to it next week, and involve @sumo-slonik to speed up the process 😄 |
Oh boy this is wonderful. Is there any particular part of the app I can help review? Also, sidenote, but I would secretly love to add these kinda animations on that page if performance now permits this kinda stuff: CleanShot.2024-11-25.at.15.28.09.mp4 |
That looks neat, we could look into this but perhaps as a separate issue? @dubielzyk-expensify |
Yeah we can do that in a separate issue for sure |
Sounds good to me 😄 This is excellent and it just got me a bit too excited haha 😅 60fps FTW |
sky is the limit, 120 fps 🚀 |
I have already managed to migrate the tooltip as well, I am now working on the tabs component and checking what could be improved in it :) |
UPDATE:I migrated Now I'm working on migrating
|
|
@mountiny |
Update: |
react-native
Animated API with react-native-reanimated
react-native
Animated API with react-native-reanimated
The solution for this issue has been 🚀 deployed to production 🚀 in version 9.0.73-8 and is now subject to a 7-day regression period 📆. Here is the list of pull requests that resolve this issue: If no regressions arise, payment will be issued on 2024-12-17. 🎊 For reference, here are some details about the assignees on this issue:
|
BugZero Checklist: The PR adding this new feature has been merged! The following checklist (instructions) will need to be completed before the issue can be closed:
|
Regarding the bug we discussed on Slack: I have identified the cause of the bug, which is located in the react-native-draggable-flatlist library. After investigating, I discovered an open issue related to this problem, but it seems that the library is no longer actively maintained. Possible SolutionsWe can address this issue using one of the following approaches:
Based on these options, applying a patch appears to be the most efficient and practical solution at this time. |
I agree that adding a small patch for it should be the way to go, great investigation @sumo-slonik |
@sumo-slonik Can you please summarize the bug here? |
@shubham1206agra In summary, the bug is related to a console error appearing when adding a new expense: Screen.Recording.2024-12-11.at.12.12.20-compressed.mov |
Additionally, to prove that version two would be the best choice, I would like to add that it is our patch that causes this console warrning so I think it is better to fix it |
There are couple things left:
Also, @sumo-slonik didn't migrate All this can be done in a third and final PR, sounds good? @mountiny |
Payment Summary
BugZero Checklist (@stephanieelliott)
|
I was investigating Also, turns out animatable is not even in our Animatable is used in just two components (
@mountiny do you think we need another proposal for it? Or we could do it as part of this issue (or create a follow up issue)? 🙏 |
Lets use patch Lets do this:
in one PR And the rest in another PR
No I think we can cover it here, its good to use just one library for animations Please investigate what it would take for the topBar nav to migrate too, but if its too complex or requires patches maybe we can skip |
Ok so it sounds like we are waiting for 2 more PRs on this before issuing the payment -- I am going to remove the payment labels, we can reapply and calculate the payment date again once those are merged. |
react-native
Animated API with react-native-reanimated
react-native
Animated API with react-native-reanimated
react-native
Animated API with react-native-reanimated
react-native
Animated API with react-native-reanimated
|
The solution for this issue has been 🚀 deployed to production 🚀 in version 9.0.78-6 and is now subject to a 7-day regression period 📆. Here is the list of pull requests that resolve this issue: If no regressions arise, payment will be issued on 2025-01-02. 🎊 For reference, here are some details about the assignees on this issue:
|
BugZero Checklist: The PR adding this new feature has been merged! The following checklist (instructions) will need to be completed before the issue can be closed:
|
Full proposal here.
Replace Animated API with Reanimated, which runs animations on the UI thread (instead of JS thread), ensuring great performance. Reanimated integrates deeply with react-native-gesture-handler (used throughout our app), offers advanced animations, and supports higher frame rates — exceeding 60fps.
SwitchPerf.mov
Issue Owner
Current Issue Owner: @stephanieelliottThe text was updated successfully, but these errors were encountered: