Skip to content
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

Replace react-native Animated API with react-native-reanimated #52920

Open
blazejkustra opened this issue Nov 21, 2024 · 81 comments
Open

Replace react-native Animated API with react-native-reanimated #52920

blazejkustra opened this issue Nov 21, 2024 · 81 comments
Assignees
Labels
NewFeature Something to build that is a new item. Weekly KSv2

Comments

@blazejkustra
Copy link
Contributor

blazejkustra commented Nov 21, 2024

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 OwnerCurrent Issue Owner: @stephanieelliott
@blazejkustra blazejkustra added Bug Something is broken. Auto assigns a BugZero manager. Daily KSv2 labels Nov 21, 2024
Copy link

melvin-bot bot commented Nov 21, 2024

Triggered auto assignment to @stephanieelliott (Bug), see https://stackoverflow.com/c/expensify/questions/14418 for more details. Please add this bug to a GH project, as outlined in the SO.

@mountiny mountiny added NewFeature Something to build that is a new item. and removed Bug Something is broken. Auto assigns a BugZero manager. labels Nov 21, 2024
Copy link

melvin-bot bot commented Nov 21, 2024

Current assignee @stephanieelliott is eligible for the NewFeature assigner, not assigning anyone new.

@mountiny mountiny self-assigned this Nov 21, 2024
@melvin-bot melvin-bot bot added Weekly KSv2 and removed Daily KSv2 labels Nov 21, 2024
Copy link

melvin-bot bot commented Nov 21, 2024

⚠️ It looks like this issue is labelled as a New Feature but not tied to any GitHub Project. Keep in mind that all new features should be tied to GitHub Projects in order to properly track external CAP software time ⚠️

@mountiny
Copy link
Contributor

Happy to help push this one along

Copy link

melvin-bot bot commented Nov 21, 2024

Triggered auto assignment to Design team member for new feature review - @dubielzyk-expensify (NewFeature)

@blazejkustra
Copy link
Contributor Author

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 😄

@dubielzyk-expensify
Copy link
Contributor

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

@blazejkustra
Copy link
Contributor Author

Also, sidenote, but I would secretly love to add these kinda animations on that page if performance now permits this kinda stuff:

That looks neat, we could look into this but perhaps as a separate issue? @dubielzyk-expensify

@mountiny
Copy link
Contributor

Yeah we can do that in a separate issue for sure

@dubielzyk-expensify
Copy link
Contributor

Sounds good to me 😄 This is excellent and it just got me a bit too excited haha 😅 60fps FTW

@mountiny
Copy link
Contributor

sky is the limit, 120 fps 🚀

@sumo-slonik
Copy link
Contributor

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 :)

@sumo-slonik
Copy link
Contributor

sumo-slonik commented Nov 27, 2024

UPDATE:

I migrated AttachmentModal and GrowlNotification.

Now I'm working on migrating

  • TextInput
  • TabSelector
  • BaseOverlay
  • SearchTypeMenuNarrow

@mountiny
Copy link
Contributor

GrowlNotification is not used in the app, is it? we should probably remove it

@sumo-slonik
Copy link
Contributor

sumo-slonik commented Nov 28, 2024

GrowlNotification is not used in the app, is it? we should probably remove it

it seems to me that we can't remove it because there are places where we continue to show it:
image

@sumo-slonik
Copy link
Contributor

@mountiny
we also found the use of react-native-animatable would we like to swap that too with this PR?
image

@sumo-slonik
Copy link
Contributor

Update: TextInput is now ready

@melvin-bot melvin-bot bot added Weekly KSv2 Awaiting Payment Auto-added when associated PR is deployed to production labels Jan 28, 2025
@melvin-bot melvin-bot bot changed the title Replace react-native Animated API with react-native-reanimated [HOLD for payment 2025-02-04] Replace react-native Animated API with react-native-reanimated Jan 28, 2025
Copy link

melvin-bot bot commented Jan 28, 2025

Reviewing label has been removed, please complete the "BugZero Checklist".

@melvin-bot melvin-bot bot removed the Reviewing Has a PR in review label Jan 28, 2025
Copy link

melvin-bot bot commented Jan 28, 2025

The solution for this issue has been 🚀 deployed to production 🚀 in version 9.0.89-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 2025-02-04. 🎊

For reference, here are some details about the assignees on this issue:

Copy link

melvin-bot bot commented Jan 28, 2025

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:

  • [@shubham1206agra] Please propose regression test steps to ensure the new feature will work correctly on production in further releases.
  • [@stephanieelliott] Link the GH issue for creating/updating the regression test once above steps have been agreed upon.

@melvin-bot melvin-bot bot added Weekly KSv2 and removed Weekly KSv2 labels Jan 29, 2025
@melvin-bot melvin-bot bot changed the title [HOLD for payment 2025-02-04] Replace react-native Animated API with react-native-reanimated [HOLD for payment 2025-02-05] [HOLD for payment 2025-02-04] Replace react-native Animated API with react-native-reanimated Jan 29, 2025
Copy link

melvin-bot bot commented Jan 29, 2025

The solution for this issue has been 🚀 deployed to production 🚀 in version 9.0.90-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-02-05. 🎊

For reference, here are some details about the assignees on this issue:

Copy link

melvin-bot bot commented Jan 29, 2025

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:

  • [@shubham1206agra] Please propose regression test steps to ensure the new feature will work correctly on production in further releases.
  • [@stephanieelliott] Link the GH issue for creating/updating the regression test once above steps have been agreed upon.

@mountiny
Copy link
Contributor

@blazejkustra I think there is one last PR that you work on here, right?

@blazejkustra
Copy link
Contributor Author

Yep, this is the last migration.

@blazejkustra
Copy link
Contributor Author

Note for future self, next time we should create multiple sub-issues 😅

@mountiny
Copy link
Contributor

We could this is more of a tracking issue

@melvin-bot melvin-bot bot added Daily KSv2 Overdue and removed Weekly KSv2 labels Feb 3, 2025
Copy link

melvin-bot bot commented Feb 5, 2025

Payment Summary

Upwork Job

  • Contributor: @blazejkustra is from an agency-contributor and not due payment
  • ROLE: @shubham1206agra paid $(AMOUNT) via Upwork (LINK)
  • Contributor: @sumo-slonik is from an agency-contributor and not due payment

BugZero Checklist (@stephanieelliott)

  • I have verified the correct assignees and roles are listed above and updated the neccesary manual offers
  • I have verified that there are no duplicate or incorrect contracts on Upwork for this job (https://www.upwork.com/ab/applicants//hired)
  • I have paid out the Upwork contracts or cancelled the ones that are incorrect
  • I have verified the payment summary above is correct

Copy link

melvin-bot bot commented Feb 6, 2025

@stephanieelliott, @mountiny, @blazejkustra, @shubham1206agra, @sumo-slonik, @dubielzyk-expensify Whoops! This issue is 2 days overdue. Let's get this updated quick!

Copy link

melvin-bot bot commented Feb 10, 2025

@stephanieelliott, @mountiny, @blazejkustra, @shubham1206agra, @sumo-slonik, @dubielzyk-expensify Still overdue 6 days?! Let's take care of this!

@stephanieelliott
Copy link
Contributor

@melvin-bot melvin-bot bot removed the Overdue label Feb 11, 2025
@shubham1206agra
Copy link
Contributor

@stephanieelliott This is not yet completed. One PR remains #54404

@stephanieelliott
Copy link
Contributor

OH, thanks! Ok removing payment labels again.

@stephanieelliott stephanieelliott changed the title [HOLD for payment 2025-02-05] [HOLD for payment 2025-02-04] Replace react-native Animated API with react-native-reanimated Replace react-native Animated API with react-native-reanimated Feb 13, 2025
@stephanieelliott stephanieelliott added Weekly KSv2 and removed Daily KSv2 Awaiting Payment Auto-added when associated PR is deployed to production labels Feb 13, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
NewFeature Something to build that is a new item. Weekly KSv2
Projects
Status: HIGH
Development

No branches or pull requests

6 participants