facebook / react

The library for web and native user interfaces.
https://react.dev
MIT License
224.29k stars 45.71k forks source link

[Flight] Add failing test to reproduce issue with `Object.freeze` #29129

Closed unstubbable closed 1 month ago

unstubbable commented 1 month ago

Here's a failing test that demonstrates the issue as reported by @eps1lon in https://github.com/facebook/react/pull/29032#discussion_r1604250460.

https://github.com/facebook/react/blob/3f1436cca1f8dd80a19fd52b97b6ff71a4d9ce82/packages/react-client/src/ReactFlightClient.js#L644

When the props object is frozen, the Flight Client's model resolver can't mutate the parent object (i.e. the props) anymore, after the client component that was referenced in the props has been loaded.

https://github.com/facebook/react/blob/3f1436cca1f8dd80a19fd52b97b6ff71a4d9ce82/packages/react-client/src/ReactFlightClient.js#L701

vercel[bot] commented 1 month ago

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
react-compiler-playground ✅ Ready (Inspect) Visit Preview 💬 Add feedback May 17, 2024 2:38pm
react-sizebot commented 1 month ago

Comparing: 3f1436cca1f8dd80a19fd52b97b6ff71a4d9ce82...3e6397f040e1fa42936bf27308c7c227fb1bf2cb

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.js = 6.66 kB 6.66 kB +0.05% 1.82 kB 1.82 kB
oss-stable/react-dom/cjs/react-dom-client.production.js = 495.01 kB 495.01 kB = 88.68 kB 88.68 kB
oss-experimental/react-dom/cjs/react-dom.production.js = 6.67 kB 6.67 kB +0.05% 1.83 kB 1.83 kB
oss-experimental/react-dom/cjs/react-dom-client.production.js = 499.81 kB 499.81 kB = 89.36 kB 89.36 kB
facebook-www/ReactDOM-prod.classic.js = 592.16 kB 592.16 kB = 104.15 kB 104.15 kB
facebook-www/ReactDOM-prod.modern.js = 568.39 kB 568.39 kB = 100.55 kB 100.55 kB
__test_utils__/ReactAllWarnings.js Deleted 64.26 kB 0.00 kB Deleted 16.02 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](https://react-builds.vercel.app/commits/3e6397f040e1fa42936bf27308c7c227fb1bf2cb/files/__test_utils__/ReactAllWarnings.js?compare=3f1436cca1f8dd80a19fd52b97b6ff71a4d9ce82) | **Deleted** | 64.26 kB | 0.00 kB | Deleted | 16.02 kB | 0.00 kB

Generated by :no_entry_sign: dangerJS against 3e6397f040e1fa42936bf27308c7c227fb1bf2cb

eps1lon commented 1 month ago

Thank you for the minimal repro!