Expensify / App

Welcome to New Expensify: a complete re-imagination of financial collaboration, centered around chat. Help us build the next generation of Expensify by sharing feedback and contributing to the code.
https://new.expensify.com
MIT License
3.49k stars 2.84k forks source link

[HOLD #8503] [Tracking] [Performance] Enable React 18 #11680

Closed roryabraham closed 8 months ago

roryabraham commented 2 years ago

Problem

React 18 introduces a lot of new features that improve performance. Some of those, such as "Automatic Batching" come out-of-the-box for free, and others such as Suspense, startTransition, and useSyncExternalStore are opt-in.

However, we can't use the opt-in features until React 18 is supported on all platforms.

Solution

Enable React 18 on all platforms. This involves a number of tasks:

roryabraham commented 2 years ago

Branched this issue off from https://github.com/Expensify/App/issues/8503 for a more correct separation of concerns.

roryabraham commented 2 years ago

No update for now but there's a milestone here. Going to make this a monthly while we're waiting.

sakluger commented 2 years ago

Noting that @aneequeahmad reported this bug first, so they are eligible for a reporting bonus. @roryabraham feel free to assign me to the issue when it's just about completed so I can create and link an Upwork job.

JmillsExpensify commented 1 year ago

@roryabraham Now that we've removed Fabric from WAQ, I'm kind of thinking we should remove React 18 from the initiative as well. Obviously we still need to do this, and related there are performance improvements, but this is still bleeding edge. Do you agree with that?

roryabraham commented 1 year ago

Still on HOLD

roryabraham commented 1 year ago

Still on HOLD

roryabraham commented 1 year ago

Still on HOLD

roryabraham commented 1 year ago

Seems many issues on the milestone have PRs, but so far only one of the issues in the milestone is closed. So it feels like we're still some months away from taking this off HOLD

roryabraham commented 1 year ago

Still on HOLD, but maybe getting closer to coming off HOLD

roryabraham commented 1 year ago

Still on HOLD

roryabraham commented 1 year ago

Still on HOLD. We're making faster progress on the Touchables migration so we should be able to remove the HOLD soon

roryabraham commented 1 year ago

Still on HOLD

roryabraham commented 1 year ago

Still on HOLD

roryabraham commented 1 year ago

Still on HOLD

roryabraham commented 1 year ago

I know @WoLewicki and @j-piasecki were interested in this after we turn on the new arch

roryabraham commented 1 year ago

Still on HOLD for new arch and https://github.com/Expensify/App/pull/24482

roryabraham commented 11 months ago

Still on HOLD

roryabraham commented 11 months ago

Probably the best article I've found on React 18 concurrent features: https://vercel.com/blog/how-react-18-improves-application-performance

roryabraham commented 10 months ago

Still on HOLD but we're getting closer and this will be 🔥

roryabraham commented 9 months ago

Still on HOLD, but this came up recently here

roryabraham commented 8 months ago

This is basically a proxy for the following two issues now:

So I'm going to close this