-
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
[$250] [HOLD for payment 2024-11-11] [HOLD for payment 2024-11-07] [DX] Fix hot-reloading for web (and potentially desktop) #49393
Comments
Triggered auto assignment to @anmurali ( |
No need for bug zero person here, we are going to work with the react-compiler team to hopefully fix this soon |
FYI, I'm still waiting to be added to React working group 😢 Either way I'm working on a different issue currently so I'll get back to this later in the week. |
Update: @mountiny I'm in! ⚛️ I'll create a post in the react-compiler group tomorrow |
Thanks @blazejkustra ! |
@mountiny @blazejkustra this issue was created 2 weeks ago. Are we close to a solution? Let's make sure we're treating this as a top priority. Don't hesitate to create a thread in #expensify-open-source to align faster in real time. Thanks! |
I'm writing an update Melvin... |
Hey, wanted to give an update earlier but onboarding refactor was pulling me back 😅 For the past two days, I have been investigating the issue more closely and found a couple of bugs that arise from using react-compiler with React 18.
Screen.Recording.2024-10-02.at.19.44.43.mov
Screen.Recording.2024-10-02.at.19.45.33.movAt this point I was ready to create a thread on React Compiler WG, I even prepared a minimal reproduction repo here. But, then I decided I'll check one last thing, which was updating to React 19. As it turns out fast refresh works flawlessly on v19, no crashes, no invisible changes, nothing... I had to dig deeper, checked webpack HMR updates in Network tab, differences between React 18 vs 19, upgraded react-compiler babel plugin to newest versions but nothing really helped. If anyone is interested, linking branches to test both React 18 and 19. I'll continue researching tomorrow, but I think our best bet is to wait for react-compiler-runtime package to be released – it will be likely an improved version of our polyfill. |
Update:
FYI I'm OOO Octorber 4-20, so I'll come back to this issue once I'm back. |
@blazejkustra, this issue seems to be resolved with new |
📣 @piotrski! 📣
|
The solution for this issue has been 🚀 deployed to production 🚀 in version 9.0.55-10 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-11-07. 🎊 For reference, here are some details about the assignees on this issue:
|
@ntdiary The PR fixing this issue has been merged! The following checklist (instructions) will need to be completed before the issue can be closed. Please copy/paste the BugZero Checklist from here into a new comment on this GH and complete it. If you have the K2 extension, you can simply click: [this button] |
The solution for this issue has been 🚀 deployed to production 🚀 in version 9.0.56-9 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-11-11. 🎊 For reference, here are some details about the assignees on this issue:
|
@ntdiary The PR fixing this issue has been merged! The following checklist (instructions) will need to be completed before the issue can be closed. Please copy/paste the BugZero Checklist from here into a new comment on this GH and complete it. If you have the K2 extension, you can simply click: [this button] |
Note: I reviewed #51183 as C+, @allroundexperts reviewed PR #49181 as C+. 😄 |
Triggered auto assignment to @joekaufmanexpensify ( |
$250 to @ntdiary and to @allroundexperts |
Job added to Upwork: https://www.upwork.com/jobs/~021854176886348335774 |
Current assignees @ntdiary and @allroundexperts are eligible for the External assigner, not assigning anyone new. |
Payment summary:
|
Payment due tomorrow |
@ntdiary @allroundexperts closing this as it's all set. Please request payment above at your earliest convenience. TY! |
$250 approved for @ntdiary |
Problem
Currently, hot-reloading for web isn't functioning, causing prolonged waiting periods for developers during modifications. This wastes so much time during development.
Solution
I investigated the problem and found several issues with our current setup, here is a PR with the PoC
The key improvement is the ✨ state preservation ✨, since developers won't lose their current components state with each hot-reload.
Also I'm going to reach out to react-compiler team as I experience a crash when compiler is turned on and I try to refresh a component:

Before
hmr-not-working.mov
After
hmr.mov
Issue Owner
Current Issue Owner: @Upwork Automation - Do Not Edit
Issue Owner
Current Issue Owner: @joekaufmanexpensifyThe text was updated successfully, but these errors were encountered: