react icon indicating copy to clipboard operation
react copied to clipboard

Test for suspending with modern strict mode

Open rickhanlonii opened this issue 1 year ago • 1 comments

Overview

Adds a test to show the cause of an infinite loop in Relay related to these effects in Relay and useModernStrictMode. The bug is related to effect behavior when committing trees that re-suspend after initial mount.

With useModernStrictEffect, when you:

  • initial mount
  • update
  • suspend (to fallbacks)
  • resolve
  • re-commit

We fire strict effects during the second mount, like it's a new tree. This creates weird cases, where if there was an update while we suspended, we'll first fire only the effects that changed dependencies, and then fire strict effects.

Creating a test to demonstrate the behavior to see if it's a bug.

rickhanlonii avatar Mar 07 '24 03:03 rickhanlonii

Comparing: 64f354cf27a17c4e5b0dfcd908e47940cf947771...e8318782b2780086e1f260badd60de4925bf6e10

Critical size changes

Includes critical production bundles, as well as any change greater than 2%:

Name +/- Base Current +/- gzip Base gzip Current gzip
oss-stable/react-dom/cjs/react-dom.production.min.js = 177.10 kB 177.10 kB = 55.20 kB 55.20 kB
oss-experimental/react-dom/cjs/react-dom.production.min.js = 177.64 kB 177.64 kB = 55.53 kB 55.53 kB
facebook-www/ReactDOM-prod.classic.js = 594.34 kB 594.34 kB = 104.96 kB 104.96 kB
facebook-www/ReactDOM-prod.modern.js = 577.60 kB 577.60 kB = 102.02 kB 102.02 kB
test_utils/ReactAllWarnings.js Deleted 66.60 kB 0.00 kB Deleted 16.28 kB 0.00 kB

Significant size changes

Includes any change greater than 0.2%:

Expand to show
Name +/- Base Current +/- gzip Base gzip Current gzip
test_utils/ReactAllWarnings.js Deleted 66.60 kB 0.00 kB Deleted 16.28 kB 0.00 kB

Generated by :no_entry_sign: dangerJS against e8318782b2780086e1f260badd60de4925bf6e10

react-sizebot avatar Mar 07 '24 03:03 react-sizebot