fix(DevTools): handle race condition when adding fibers during page reload#36019
fix(DevTools): handle race condition when adding fibers during page reload#36019w2jiodsfa wants to merge 1 commit intofacebook:mainfrom
Conversation
…eload When a page reloads during profiling, DevTools may receive operations from both the old and new renderer. This can cause the same fiber ID to be added twice, which previously threw an error. This fix removes the existing node before adding a new one, allowing the profiling to continue gracefully. Fixes facebook#36006
|
Hi @w2jiodsfa! Thank you for your pull request and welcome to our community. Action RequiredIn order to merge any pull request (code, docs, etc.), we require contributors to sign our Contributor License Agreement, and we don't seem to have one on file for you. ProcessIn order for us to review and merge your suggested changes, please sign at https://code.facebook.com/cla. If you are contributing on behalf of someone else (eg your employer), the individual CLA may not be sufficient and your employer may need to sign the corporate CLA. Once the CLA is signed, our tooling will perform checks and validations. Afterwards, the pull request will be tagged with If you have received this in error or have any questions, please contact us at cla@meta.com. Thanks! |
Summary
Fixes #36006
When a page reloads during profiling, DevTools may receive operations from both the old and new renderer. This can cause the same fiber ID to be added twice, which previously threw an error:
Commit tree already contains fiber "21". This is a bug in React DevTools.How did you test this change?
The fix removes the existing node before adding a new one when a duplicate ID is detected, allowing the profiling to continue gracefully during page reloads.
This is a defensive fix that handles the race condition gracefully rather than crashing.
Notes