Skip to content
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

[Flight] Implement error digests for Flight runtime and expose errorInfo in getDerivedStateFromError #25302

Merged
merged 7 commits into from
Sep 23, 2022

Conversation

gnoff
Copy link
Collaborator

@gnoff gnoff commented Sep 20, 2022

Similar to Fizz, Flight now supports a return value from the user provided onError option. If a value is returned from onError it will be serialized and provided to the client.

The digest is stashed on the constructed Error on the client as .digest

Similar to Fizz, Flight now supports a return value from the user provided onError option. If a value is returned from onError it will be serialized and provided to the client. Currently the digest is stashed on the client constructed Error object but when Error Boundaries are updated to have an errorInfo argument it should probably be moved there.
@sizebot
Copy link

sizebot commented Sep 20, 2022

Comparing: b274890...6722894

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 = 135.04 kB 135.04 kB = 43.33 kB 43.33 kB
oss-experimental/react-dom/cjs/react-dom.production.min.js = 142.50 kB 142.50 kB = 45.51 kB 45.51 kB
facebook-www/ReactDOM-prod.classic.js = 489.88 kB 489.88 kB = 87.21 kB 87.21 kB
facebook-www/ReactDOM-prod.modern.js = 475.17 kB 475.17 kB = 85.01 kB 85.01 kB
facebook-www/ReactDOMForked-prod.classic.js = 489.88 kB 489.88 kB = 87.21 kB 87.21 kB
oss-stable-semver/react-server/cjs/react-server-flight.development.js +4.70% 45.63 kB 47.78 kB +3.02% 11.69 kB 12.04 kB
oss-stable/react-server/cjs/react-server-flight.development.js +4.70% 45.63 kB 47.78 kB +3.02% 11.69 kB 12.04 kB
oss-experimental/react-server/cjs/react-server-flight.development.js +4.33% 49.50 kB 51.65 kB +2.80% 12.67 kB 13.02 kB
oss-experimental/react-server-dom-webpack/cjs/react-server-dom-webpack.production.min.js +4.16% 6.39 kB 6.66 kB +5.96% 2.50 kB 2.65 kB
oss-stable-semver/react-server-dom-webpack/cjs/react-server-dom-webpack.production.min.js +4.16% 6.39 kB 6.66 kB +5.96% 2.50 kB 2.65 kB
oss-stable/react-server-dom-webpack/cjs/react-server-dom-webpack.production.min.js +4.16% 6.39 kB 6.66 kB +5.96% 2.50 kB 2.65 kB
oss-experimental/react-server-dom-webpack/umd/react-server-dom-webpack.production.min.js +4.03% 6.61 kB 6.87 kB +5.84% 2.60 kB 2.75 kB
oss-stable-semver/react-server-dom-webpack/umd/react-server-dom-webpack.production.min.js +4.03% 6.61 kB 6.87 kB +5.84% 2.60 kB 2.75 kB
oss-stable/react-server-dom-webpack/umd/react-server-dom-webpack.production.min.js +4.03% 6.61 kB 6.87 kB +5.84% 2.60 kB 2.75 kB
oss-stable-semver/react-server-dom-webpack/cjs/react-server-dom-webpack-writer.browser.development.server.js +3.06% 70.10 kB 72.24 kB +2.03% 18.19 kB 18.56 kB
oss-stable/react-server-dom-webpack/cjs/react-server-dom-webpack-writer.browser.development.server.js +3.06% 70.10 kB 72.24 kB +2.03% 18.19 kB 18.56 kB
oss-stable-semver/react-server-dom-webpack/umd/react-server-dom-webpack-writer.browser.development.server.js +3.05% 73.66 kB 75.91 kB +1.93% 18.42 kB 18.78 kB
oss-stable/react-server-dom-webpack/umd/react-server-dom-webpack-writer.browser.development.server.js +3.05% 73.66 kB 75.91 kB +1.93% 18.42 kB 18.78 kB
oss-stable-semver/react-server-dom-webpack/cjs/react-server-dom-webpack-writer.node.development.server.js +3.00% 71.50 kB 73.65 kB +2.01% 18.30 kB 18.66 kB
oss-stable/react-server-dom-webpack/cjs/react-server-dom-webpack-writer.node.development.server.js +3.00% 71.50 kB 73.65 kB +2.01% 18.30 kB 18.66 kB
oss-experimental/react-server-dom-webpack/cjs/react-server-dom-webpack-writer.browser.development.server.js +2.90% 74.02 kB 76.17 kB +1.88% 19.19 kB 19.55 kB
oss-experimental/react-server-dom-webpack/umd/react-server-dom-webpack-writer.browser.development.server.js +2.89% 77.78 kB 80.02 kB +1.82% 19.42 kB 19.77 kB
oss-experimental/react-server-dom-webpack/cjs/react-server-dom-webpack-writer.node.development.server.js +2.84% 75.43 kB 77.57 kB +1.89% 19.29 kB 19.66 kB
facebook-relay/flight/ReactFlightNativeRelayServer-dev.js +2.68% 44.80 kB 46.00 kB +1.72% 11.56 kB 11.76 kB

Significant size changes

Includes any change greater than 0.2%:

Expand to show
Name +/- Base Current +/- gzip Base gzip Current gzip
oss-stable-semver/react-server/cjs/react-server-flight.development.js +4.70% 45.63 kB 47.78 kB +3.02% 11.69 kB 12.04 kB
oss-stable/react-server/cjs/react-server-flight.development.js +4.70% 45.63 kB 47.78 kB +3.02% 11.69 kB 12.04 kB
oss-experimental/react-server/cjs/react-server-flight.development.js +4.33% 49.50 kB 51.65 kB +2.80% 12.67 kB 13.02 kB
oss-experimental/react-server-dom-webpack/cjs/react-server-dom-webpack.production.min.js +4.16% 6.39 kB 6.66 kB +5.96% 2.50 kB 2.65 kB
oss-stable-semver/react-server-dom-webpack/cjs/react-server-dom-webpack.production.min.js +4.16% 6.39 kB 6.66 kB +5.96% 2.50 kB 2.65 kB
oss-stable/react-server-dom-webpack/cjs/react-server-dom-webpack.production.min.js +4.16% 6.39 kB 6.66 kB +5.96% 2.50 kB 2.65 kB
oss-experimental/react-server-dom-webpack/umd/react-server-dom-webpack.production.min.js +4.03% 6.61 kB 6.87 kB +5.84% 2.60 kB 2.75 kB
oss-stable-semver/react-server-dom-webpack/umd/react-server-dom-webpack.production.min.js +4.03% 6.61 kB 6.87 kB +5.84% 2.60 kB 2.75 kB
oss-stable/react-server-dom-webpack/umd/react-server-dom-webpack.production.min.js +4.03% 6.61 kB 6.87 kB +5.84% 2.60 kB 2.75 kB
oss-stable-semver/react-server-dom-webpack/cjs/react-server-dom-webpack-writer.browser.development.server.js +3.06% 70.10 kB 72.24 kB +2.03% 18.19 kB 18.56 kB
oss-stable/react-server-dom-webpack/cjs/react-server-dom-webpack-writer.browser.development.server.js +3.06% 70.10 kB 72.24 kB +2.03% 18.19 kB 18.56 kB
oss-stable-semver/react-server-dom-webpack/umd/react-server-dom-webpack-writer.browser.development.server.js +3.05% 73.66 kB 75.91 kB +1.93% 18.42 kB 18.78 kB
oss-stable/react-server-dom-webpack/umd/react-server-dom-webpack-writer.browser.development.server.js +3.05% 73.66 kB 75.91 kB +1.93% 18.42 kB 18.78 kB
oss-stable-semver/react-server-dom-webpack/cjs/react-server-dom-webpack-writer.node.development.server.js +3.00% 71.50 kB 73.65 kB +2.01% 18.30 kB 18.66 kB
oss-stable/react-server-dom-webpack/cjs/react-server-dom-webpack-writer.node.development.server.js +3.00% 71.50 kB 73.65 kB +2.01% 18.30 kB 18.66 kB
oss-experimental/react-server-dom-webpack/cjs/react-server-dom-webpack-writer.browser.development.server.js +2.90% 74.02 kB 76.17 kB +1.88% 19.19 kB 19.55 kB
oss-experimental/react-server-dom-webpack/umd/react-server-dom-webpack-writer.browser.development.server.js +2.89% 77.78 kB 80.02 kB +1.82% 19.42 kB 19.77 kB
oss-experimental/react-server-dom-webpack/cjs/react-server-dom-webpack-writer.node.development.server.js +2.84% 75.43 kB 77.57 kB +1.89% 19.29 kB 19.66 kB
facebook-relay/flight/ReactFlightNativeRelayServer-dev.js +2.68% 44.80 kB 46.00 kB +1.72% 11.56 kB 11.76 kB
facebook-www/ReactFlightDOMRelayClient-dev.classic.js +1.96% 17.21 kB 17.55 kB +1.97% 4.47 kB 4.55 kB
facebook-www/ReactFlightDOMRelayClient-dev.modern.js +1.96% 17.21 kB 17.55 kB +1.97% 4.47 kB 4.55 kB
facebook-relay/flight/ReactFlightNativeRelayClient-dev.js +1.96% 17.27 kB 17.61 kB +1.99% 4.48 kB 4.57 kB
facebook-www/ReactFlightDOMRelayServer-dev.classic.js +1.90% 63.13 kB 64.33 kB +1.32% 16.37 kB 16.59 kB
facebook-www/ReactFlightDOMRelayServer-dev.modern.js +1.90% 63.19 kB 64.39 kB +1.32% 16.39 kB 16.61 kB
oss-stable-semver/react-server/cjs/react-server-flight.production.min.js +1.06% 11.40 kB 11.53 kB +0.95% 4.23 kB 4.27 kB
oss-stable/react-server/cjs/react-server-flight.production.min.js +1.06% 11.40 kB 11.53 kB +0.95% 4.23 kB 4.27 kB
oss-experimental/react-server/cjs/react-server-flight.production.min.js +1.01% 11.96 kB 12.08 kB +1.12% 4.38 kB 4.43 kB
oss-experimental/react-client/cjs/react-client-flight.development.js +0.77% 20.20 kB 20.36 kB +1.12% 5.35 kB 5.41 kB
oss-stable-semver/react-client/cjs/react-client-flight.development.js +0.77% 20.20 kB 20.36 kB +1.12% 5.35 kB 5.41 kB
oss-stable/react-client/cjs/react-client-flight.development.js +0.77% 20.20 kB 20.36 kB +1.12% 5.35 kB 5.41 kB
facebook-relay/flight/ReactFlightNativeRelayServer-prod.js +0.75% 24.18 kB 24.36 kB +0.78% 5.87 kB 5.92 kB
oss-stable-semver/react-server-dom-webpack/cjs/react-server-dom-webpack-writer.browser.production.min.server.js +0.68% 17.91 kB 18.03 kB +0.81% 6.65 kB 6.70 kB
oss-stable/react-server-dom-webpack/cjs/react-server-dom-webpack-writer.browser.production.min.server.js +0.68% 17.91 kB 18.03 kB +0.81% 6.65 kB 6.70 kB
oss-stable-semver/react-server-dom-webpack/cjs/react-server-dom-webpack-writer.node.production.min.server.js +0.66% 18.33 kB 18.45 kB +0.65% 6.75 kB 6.79 kB
oss-stable/react-server-dom-webpack/cjs/react-server-dom-webpack-writer.node.production.min.server.js +0.66% 18.33 kB 18.45 kB +0.65% 6.75 kB 6.79 kB
oss-experimental/react-server-dom-webpack/cjs/react-server-dom-webpack-writer.browser.production.min.server.js +0.65% 18.51 kB 18.63 kB +0.84% 6.82 kB 6.88 kB
oss-stable-semver/react-server-dom-webpack/umd/react-server-dom-webpack-writer.browser.production.min.server.js +0.65% 18.09 kB 18.21 kB +0.63% 6.71 kB 6.76 kB
oss-stable/react-server-dom-webpack/umd/react-server-dom-webpack-writer.browser.production.min.server.js +0.65% 18.09 kB 18.21 kB +0.63% 6.71 kB 6.76 kB
oss-experimental/react-server-dom-webpack/cjs/react-server-dom-webpack-writer.node.production.min.server.js +0.64% 18.93 kB 19.05 kB +0.64% 6.93 kB 6.97 kB
oss-experimental/react-server-dom-webpack/cjs/react-server-dom-webpack.development.js +0.64% 24.35 kB 24.51 kB +0.98% 6.31 kB 6.37 kB
oss-stable-semver/react-server-dom-webpack/cjs/react-server-dom-webpack.development.js +0.64% 24.35 kB 24.51 kB +0.98% 6.31 kB 6.37 kB
oss-stable/react-server-dom-webpack/cjs/react-server-dom-webpack.development.js +0.64% 24.35 kB 24.51 kB +0.98% 6.31 kB 6.37 kB
oss-experimental/react-server-dom-webpack/umd/react-server-dom-webpack-writer.browser.production.min.server.js +0.63% 18.68 kB 18.80 kB +0.58% 6.89 kB 6.93 kB
oss-experimental/react-server-dom-webpack/umd/react-server-dom-webpack.development.js +0.62% 26.02 kB 26.18 kB +0.98% 6.44 kB 6.50 kB
oss-stable-semver/react-server-dom-webpack/umd/react-server-dom-webpack.development.js +0.62% 26.02 kB 26.18 kB +0.98% 6.44 kB 6.50 kB
oss-stable/react-server-dom-webpack/umd/react-server-dom-webpack.development.js +0.62% 26.02 kB 26.18 kB +0.98% 6.44 kB 6.50 kB
facebook-www/ReactFlightDOMRelayServer-prod.classic.js +0.58% 31.22 kB 31.41 kB +0.60% 7.96 kB 8.01 kB
facebook-www/ReactFlightDOMRelayServer-prod.modern.js +0.58% 31.30 kB 31.48 kB +0.59% 7.99 kB 8.04 kB
facebook-relay/flight/ReactFlightNativeRelayClient-prod.js = 10.47 kB 10.34 kB = 2.66 kB 2.66 kB
facebook-www/ReactFlightDOMRelayClient-prod.classic.js = 10.46 kB 10.33 kB = 2.66 kB 2.65 kB
facebook-www/ReactFlightDOMRelayClient-prod.modern.js = 10.46 kB 10.33 kB = 2.66 kB 2.65 kB

Generated by 🚫 dangerJS against 6722894

'resolveErrorProd should never be called in development mode. Use resolveErrorDev instead. This is a bug in React.',
);
}
const error = new Error('An error occurred in the Server Components render.');
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure the verbiage we want here for prod errors but since this is a generic error resolver we either need to pass in callsite specific prod-ready error messages or use something generic like this

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's probably worth saying something about that it's intentionally excluded in prod. Ideally linking to a docs page explaining how to fix it.

@gnoff gnoff changed the title Implement error digests for Flight runtime [Flight] Implement error digests for Flight runtime Sep 21, 2022
Copy link
Collaborator

@sebmarkbage sebmarkbage left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I figured that the _digest would be opaque and not exposed as a public API. It would just serve to communicate between Fiber and Flight. The public API would be to expose it on an errorInfo object passed to the second argument of getDerivedStateFromError.

Right now the only way to get to it is through an underscore.

Either it's public or it's not.

@gnoff gnoff changed the title [Flight] Implement error digests for Flight runtime [Flight|Reconciler] Implement error digests for Flight runtime Sep 21, 2022
@gnoff gnoff changed the title [Flight|Reconciler] Implement error digests for Flight runtime [Flight|Reconciler] Implement error digests for Flight runtime and expose errorInfo in getDerivedStateFromError Sep 21, 2022
@gnoff
Copy link
Collaborator Author

gnoff commented Sep 22, 2022

As discussed offline

The public API for exposing digests is to just put a .digest property on the thrown value. A separate PR will deprecate digest from errorInfo in onRecoverableError and start putting the digest on the error values that arrive from Fizz

The rationale here is not every "error" value will be thrown via a lazy wrapper. If we end up serializing Promises from Flight to client and they reject the rejected promise should not leak potential error details but won't necessarily be handled by an ErrorBoundary. The approach will be to decorate Errors or rejected Promises with a digest directly instead of trying to curry the digest alongside the Error for the specific throw pathways

@gnoff gnoff changed the title [Flight|Reconciler] Implement error digests for Flight runtime and expose errorInfo in getDerivedStateFromError [Flight] Implement error digests for Flight runtime and expose errorInfo in getDerivedStateFromError Sep 22, 2022
@gnoff gnoff merged commit efc6a08 into facebook:main Sep 23, 2022
@gnoff gnoff deleted the flight-onerror branch September 23, 2022 20:19
rickhanlonii pushed a commit that referenced this pull request Oct 5, 2022
…nfo in getDerivedStateFromError (#25302)

Similar to Fizz, Flight now supports a return value from the user provided onError option. If a value is returned from onError it will be serialized and provided to the client.

The digest is stashed on the constructed Error on the client as .digest
facebook-github-bot pushed a commit to facebook/react-native that referenced this pull request Oct 17, 2022
Summary:
- **[9fb581c7c](facebook/react@9fb581c7c )**: Refactor: merge duplicate imports ([#25489](facebook/react#25489)) //<c0dedance>//
- **[bc358362a](facebook/react@bc358362a )**: [Flight] Improve Error Messages when Invalid Object is Passed to Client/Host Components ([#25492](facebook/react#25492)) //<Sebastian Markbåge>//
- **[780eacd40](facebook/react@780eacd40 )**: Flow upgrade to 0.190 ([#25483](facebook/react#25483)) //<Jan Kassens>//
- **[54f0e0f73](facebook/react@54f0e0f73 )**: Scaffolding for react-dom/unstable_external-server-runtime ([#25482](facebook/react#25482)) //<Andrew Clark>//
- **[0eaca3756](facebook/react@0eaca3756 )**: Add script to generate inline Fizz runtime ([#25481](facebook/react#25481)) //<Andrew Clark>//
- **[69c7246d9](facebook/react@69c7246d9 )**: Initialize useMemoCache with sentinel values ([#25465](facebook/react#25465)) //<Joseph Savona>//
- **[3b814327e](facebook/react@3b814327e )**: Allow Async Functions to be used in Server Components ([#25479](facebook/react#25479)) //<Sebastian Markbåge>//
- **[a6bf46689](facebook/react@a6bf46689 )**: Extract Fizz instruction set to build macro ([#25457](facebook/react#25457)) //<Andrew Clark>//
- **[ea5bc6bac](facebook/react@ea5bc6bac )**: [React Native FB] dynamic feature flag for ref access warning ([#25471](facebook/react#25471)) //<Jan Kassens>//
- **[08d035bc8](facebook/react@08d035bc8 )**: Remove Shallow Renderer Tests ([#25475](facebook/react#25475)) //<Sebastian Markbåge>//
- **[a8c16a004](facebook/react@a8c16a004 )**: Split Cache into its own Dispatcher ([#25474](facebook/react#25474)) //<Sebastian Markbåge>//
- **[2cf4352e1](facebook/react@2cf4352e1 )**: Implement HostSingleton Fiber type ([#25426](facebook/react#25426)) //<Josh Story>//
- **[aa9988e5e](facebook/react@aa9988e5e )**: Server render fork for react-dom ([#25436](facebook/react#25436)) //<Josh Story>//
- **[513417d69](facebook/react@513417d69 )**: Return lastNonHostInstance in getInspectorDataForInstance for devtools ([#25441](facebook/react#25441)) //<Tianyu Yao>//
- **[5d60a0b84](facebook/react@5d60a0b84 )**: Bugfix: LegacyHidden shouldn't defer effects ([#25442](facebook/react#25442)) //<Andrew Clark>//
- **[618388bc3](facebook/react@618388bc3 )**: [Float] Support script preloads ([#25432](facebook/react#25432)) //<Josh Story>//
- **[2872a26e1](facebook/react@2872a26e1 )**: track resources in different roots separately ([#25388](facebook/react#25388)) //<Josh Story>//
- **[ea04a486a](facebook/react@ea04a486a )**: Flow: remove unused suppressions ([#25424](facebook/react#25424)) //<Jan Kassens>//
- **[9813edef2](facebook/react@9813edef2 )**: Flow upgrade to 0.188 //<Jan Kassens>//
- **[3b6826ed9](facebook/react@3b6826ed9 )**: Flow: inference_mode=constrain_writes //<Jan Kassens>//
- **[aed33a49c](facebook/react@aed33a49c )**: Flow upgrade to 0.185 //<Jan Kassens>//
- **[f02a5f5c7](facebook/react@f02a5f5c7 )**: Flow upgrade to 0.182 //<Jan Kassens>//
- **[72593f008](facebook/react@72593f008 )**: Flow upgrade to 0.176 //<Jan Kassens>//
- **[46d40f306](facebook/react@46d40f306 )**: Flow upgrade to 0.175 //<Jan Kassens>//
- **[1089faf0d](facebook/react@1089faf0d )**: Flow: run codemod to remove existential type //<Jan Kassens>//
- **[3fd9bd8e7](facebook/react@3fd9bd8e7 )**: Add RulesOfHooks support for `use` //<Lauren Tan>//
- **[338e6a967](facebook/react@338e6a967 )**: Flow upgrade to 0.155 //<Jan Kassens>//
- **[8bc95bb3c](facebook/react@8bc95bb3c )**: Flow upgrade to 0.154 //<Jan Kassens>//
- **[9f8a98a39](facebook/react@9f8a98a39 )**: Flow upgrade to 0.153 //<Jan Kassens>//
- **[64fe791be](facebook/react@64fe791be )**: Flow upgrade to 0.146 //<Jan Kassens>//
- **[d3c6c16a0](facebook/react@d3c6c16a0 )**: Flow upgrade to 0.145 //<Jan Kassens>//
- **[00a2f8150](facebook/react@00a2f8150 )**: Flow upgrade to 0.143 //<Jan Kassens>//
- **[0a3072278](facebook/react@0a3072278 )**: Flow: complete types first migration ([#25389](facebook/react#25389)) //<Jan Kassens>//
- **[bcc05671f](facebook/react@bcc05671f )**: Flow: types first in shared ([#25343](facebook/react#25343)) //<Jan Kassens>//
- **[b1f34aa30](facebook/react@b1f34aa30 )**: Flow: types first in react-native-renderer ([#25363](facebook/react#25363)) //<Jan Kassens>//
- **[9143864ae](facebook/react@9143864ae )**: Flow: well formed exports for smaller packages ([#25361](facebook/react#25361)) //<Jan Kassens>//
- **[21a851e03](facebook/react@21a851e03 )**: Fix devtools typos and grammar ([#24587](facebook/react#24587)) //<Alexandru Tasica>//
- **[cfafeb685](facebook/react@cfafeb685 )**: Remove extra space in Wedge.js ([#24611](facebook/react#24611)) //<Kerim Büyükakyüz>//
- **[9c3de25e1](facebook/react@9c3de25e1 )**: Flow: types first in reconciler ([#25362](facebook/react#25362)) //<Jan Kassens>//
- **[7b25b961d](facebook/react@7b25b961d )**: [Fizz/Float] Float for stylesheet resources ([#25243](facebook/react#25243)) //<Josh Story>//
- **[4c016e7aa](facebook/react@4c016e7aa )**: Refactor: use  property shorthand ([#25366](facebook/react#25366)) //<zhangrenyang>//
- **[06066c1a5](facebook/react@06066c1a5 )**: Make RulesOfHooks-test more consistent with ExhaustiveDeps-test //<Lauren Tan>//
- **[49ae0fad8](facebook/react@49ae0fad8 )**: Fix RulesOfHooks test case indentation //<Lauren Tan>//
- **[abbbdf4ce](facebook/react@abbbdf4ce )**: Put modern StrictMode behind a feature flag ([#25365](facebook/react#25365)) //<Samuel Susla>//
- **[434110390](facebook/react@434110390 )**: ReactHooks.js - delete emptyObject ([#25031](facebook/react#25031)) //<Igor Berlenko>//
- **[31400ce29](facebook/react@31400ce29 )**: Refactor: merge duplicate imports ([#25364](facebook/react#25364)) //<jerry-lllman>//
- **[3517bd9f7](facebook/react@3517bd9f7 )**: Refactor useEvent ([#25336](facebook/react#25336)) //<Lauren Tan>//
- **[6cf06a929](facebook/react@6cf06a929 )**: Remove outdated comments. ([#24464](facebook/react#24464)) //<zhangenming>//
- **[20a257c25](facebook/react@20a257c25 )**: Refactor: more word doubles removed ([#25352](facebook/react#25352)) //<Vic Graf>//
- **[8cadcffd5](facebook/react@8cadcffd5 )**: Fix typo: reconcilation -> reconciliation ([#25355](facebook/react#25355)) //<zhangrenyang>//
- **[ebbe599a2](facebook/react@ebbe599a2 )**: Fix EventListener fork ([#25347](facebook/react#25347)) //<Sebastian Markbåge>//
- **[97d75c9c8](facebook/react@97d75c9c8 )**: Move react-dom implementation files to react-dom-bindings ([#25345](facebook/react#25345)) //<Sebastian Markbåge>//
- **[3de926449](facebook/react@3de926449 )**: [Fizz] experimental_useEvent ([#25325](facebook/react#25325)) //<dan>//
- **[5b59dd640](facebook/react@5b59dd640 )**: Fix duplicate words tests ([#25333](facebook/react#25333)) //<Vic Graf>//
- **[cb5084d1c](facebook/react@cb5084d1c )**: [ESLint] Check useEvent references instead ([#25319](facebook/react#25319)) //<Lauren Tan>//
- **[c89a83695](facebook/react@c89a83695 )**: Update RulesOfHooks with useEvent rules ([#25285](facebook/react#25285)) //<Lauren Tan>//
- **[efc6a08e9](facebook/react@efc6a08e9 )**: [Flight] Implement error digests for Flight runtime and expose errorInfo in getDerivedStateFromError ([#25302](facebook/react#25302)) //<Josh Story>//
- **[c1d414d75](facebook/react@c1d414d75 )**: Add ref to Offscreen component ([#25254](facebook/react#25254)) //<Samuel Susla>//
- **[135e33c95](facebook/react@135e33c95 )**: Flow: typing of Scheduler ([#25317](facebook/react#25317)) //<Jan Kassens>//
- **[cc8cb145f](facebook/react@cc8cb145f )**: Flow: add some missing types in react-reconciler ([#25316](facebook/react#25316)) //<Jan Kassens>//
- **[112d0498c](facebook/react@112d0498c )**: [Fizz] Move digest from errorInfo to Error instance ([#25313](facebook/react#25313)) //<Josh Story>//
- **[d1bb1c586](facebook/react@d1bb1c586 )**: Fix memory leak after repeated setState bailouts ([#25309](facebook/react#25309)) //<Andrew Clark>//

Changelog:
[General][Changed] - React Native sync for revisions 0cac4d5...9fb581c

jest_e2e[run_all_tests]

Reviewed By: yungsters

Differential Revision: D40383219

fbshipit-source-id: dc2a44bd05df041e0c7f2e1060640b1d2c372187
OlimpiaZurek pushed a commit to OlimpiaZurek/react-native that referenced this pull request May 22, 2023
Summary:
- **[9fb581c7c](facebook/react@9fb581c7c )**: Refactor: merge duplicate imports ([facebook#25489](facebook/react#25489)) //<c0dedance>//
- **[bc358362a](facebook/react@bc358362a )**: [Flight] Improve Error Messages when Invalid Object is Passed to Client/Host Components ([facebook#25492](facebook/react#25492)) //<Sebastian Markbåge>//
- **[780eacd40](facebook/react@780eacd40 )**: Flow upgrade to 0.190 ([facebook#25483](facebook/react#25483)) //<Jan Kassens>//
- **[54f0e0f73](facebook/react@54f0e0f73 )**: Scaffolding for react-dom/unstable_external-server-runtime ([facebook#25482](facebook/react#25482)) //<Andrew Clark>//
- **[0eaca3756](facebook/react@0eaca3756 )**: Add script to generate inline Fizz runtime ([facebook#25481](facebook/react#25481)) //<Andrew Clark>//
- **[69c7246d9](facebook/react@69c7246d9 )**: Initialize useMemoCache with sentinel values ([facebook#25465](facebook/react#25465)) //<Joseph Savona>//
- **[3b814327e](facebook/react@3b814327e )**: Allow Async Functions to be used in Server Components ([facebook#25479](facebook/react#25479)) //<Sebastian Markbåge>//
- **[a6bf46689](facebook/react@a6bf46689 )**: Extract Fizz instruction set to build macro ([facebook#25457](facebook/react#25457)) //<Andrew Clark>//
- **[ea5bc6bac](facebook/react@ea5bc6bac )**: [React Native FB] dynamic feature flag for ref access warning ([facebook#25471](facebook/react#25471)) //<Jan Kassens>//
- **[08d035bc8](facebook/react@08d035bc8 )**: Remove Shallow Renderer Tests ([facebook#25475](facebook/react#25475)) //<Sebastian Markbåge>//
- **[a8c16a004](facebook/react@a8c16a004 )**: Split Cache into its own Dispatcher ([facebook#25474](facebook/react#25474)) //<Sebastian Markbåge>//
- **[2cf4352e1](facebook/react@2cf4352e1 )**: Implement HostSingleton Fiber type ([facebook#25426](facebook/react#25426)) //<Josh Story>//
- **[aa9988e5e](facebook/react@aa9988e5e )**: Server render fork for react-dom ([facebook#25436](facebook/react#25436)) //<Josh Story>//
- **[513417d69](facebook/react@513417d69 )**: Return lastNonHostInstance in getInspectorDataForInstance for devtools ([facebook#25441](facebook/react#25441)) //<Tianyu Yao>//
- **[5d60a0b84](facebook/react@5d60a0b84 )**: Bugfix: LegacyHidden shouldn't defer effects ([facebook#25442](facebook/react#25442)) //<Andrew Clark>//
- **[618388bc3](facebook/react@618388bc3 )**: [Float] Support script preloads ([facebook#25432](facebook/react#25432)) //<Josh Story>//
- **[2872a26e1](facebook/react@2872a26e1 )**: track resources in different roots separately ([facebook#25388](facebook/react#25388)) //<Josh Story>//
- **[ea04a486a](facebook/react@ea04a486a )**: Flow: remove unused suppressions ([facebook#25424](facebook/react#25424)) //<Jan Kassens>//
- **[9813edef2](facebook/react@9813edef2 )**: Flow upgrade to 0.188 //<Jan Kassens>//
- **[3b6826ed9](facebook/react@3b6826ed9 )**: Flow: inference_mode=constrain_writes //<Jan Kassens>//
- **[aed33a49c](facebook/react@aed33a49c )**: Flow upgrade to 0.185 //<Jan Kassens>//
- **[f02a5f5c7](facebook/react@f02a5f5c7 )**: Flow upgrade to 0.182 //<Jan Kassens>//
- **[72593f008](facebook/react@72593f008 )**: Flow upgrade to 0.176 //<Jan Kassens>//
- **[46d40f306](facebook/react@46d40f306 )**: Flow upgrade to 0.175 //<Jan Kassens>//
- **[1089faf0d](facebook/react@1089faf0d )**: Flow: run codemod to remove existential type //<Jan Kassens>//
- **[3fd9bd8e7](facebook/react@3fd9bd8e7 )**: Add RulesOfHooks support for `use` //<Lauren Tan>//
- **[338e6a967](facebook/react@338e6a967 )**: Flow upgrade to 0.155 //<Jan Kassens>//
- **[8bc95bb3c](facebook/react@8bc95bb3c )**: Flow upgrade to 0.154 //<Jan Kassens>//
- **[9f8a98a39](facebook/react@9f8a98a39 )**: Flow upgrade to 0.153 //<Jan Kassens>//
- **[64fe791be](facebook/react@64fe791be )**: Flow upgrade to 0.146 //<Jan Kassens>//
- **[d3c6c16a0](facebook/react@d3c6c16a0 )**: Flow upgrade to 0.145 //<Jan Kassens>//
- **[00a2f8150](facebook/react@00a2f8150 )**: Flow upgrade to 0.143 //<Jan Kassens>//
- **[0a3072278](facebook/react@0a3072278 )**: Flow: complete types first migration ([facebook#25389](facebook/react#25389)) //<Jan Kassens>//
- **[bcc05671f](facebook/react@bcc05671f )**: Flow: types first in shared ([facebook#25343](facebook/react#25343)) //<Jan Kassens>//
- **[b1f34aa30](facebook/react@b1f34aa30 )**: Flow: types first in react-native-renderer ([facebook#25363](facebook/react#25363)) //<Jan Kassens>//
- **[9143864ae](facebook/react@9143864ae )**: Flow: well formed exports for smaller packages ([facebook#25361](facebook/react#25361)) //<Jan Kassens>//
- **[21a851e03](facebook/react@21a851e03 )**: Fix devtools typos and grammar ([facebook#24587](facebook/react#24587)) //<Alexandru Tasica>//
- **[cfafeb685](facebook/react@cfafeb685 )**: Remove extra space in Wedge.js ([facebook#24611](facebook/react#24611)) //<Kerim Büyükakyüz>//
- **[9c3de25e1](facebook/react@9c3de25e1 )**: Flow: types first in reconciler ([facebook#25362](facebook/react#25362)) //<Jan Kassens>//
- **[7b25b961d](facebook/react@7b25b961d )**: [Fizz/Float] Float for stylesheet resources ([facebook#25243](facebook/react#25243)) //<Josh Story>//
- **[4c016e7aa](facebook/react@4c016e7aa )**: Refactor: use  property shorthand ([facebook#25366](facebook/react#25366)) //<zhangrenyang>//
- **[06066c1a5](facebook/react@06066c1a5 )**: Make RulesOfHooks-test more consistent with ExhaustiveDeps-test //<Lauren Tan>//
- **[49ae0fad8](facebook/react@49ae0fad8 )**: Fix RulesOfHooks test case indentation //<Lauren Tan>//
- **[abbbdf4ce](facebook/react@abbbdf4ce )**: Put modern StrictMode behind a feature flag ([facebook#25365](facebook/react#25365)) //<Samuel Susla>//
- **[434110390](facebook/react@434110390 )**: ReactHooks.js - delete emptyObject ([facebook#25031](facebook/react#25031)) //<Igor Berlenko>//
- **[31400ce29](facebook/react@31400ce29 )**: Refactor: merge duplicate imports ([facebook#25364](facebook/react#25364)) //<jerry-lllman>//
- **[3517bd9f7](facebook/react@3517bd9f7 )**: Refactor useEvent ([facebook#25336](facebook/react#25336)) //<Lauren Tan>//
- **[6cf06a929](facebook/react@6cf06a929 )**: Remove outdated comments. ([facebook#24464](facebook/react#24464)) //<zhangenming>//
- **[20a257c25](facebook/react@20a257c25 )**: Refactor: more word doubles removed ([facebook#25352](facebook/react#25352)) //<Vic Graf>//
- **[8cadcffd5](facebook/react@8cadcffd5 )**: Fix typo: reconcilation -> reconciliation ([facebook#25355](facebook/react#25355)) //<zhangrenyang>//
- **[ebbe599a2](facebook/react@ebbe599a2 )**: Fix EventListener fork ([facebook#25347](facebook/react#25347)) //<Sebastian Markbåge>//
- **[97d75c9c8](facebook/react@97d75c9c8 )**: Move react-dom implementation files to react-dom-bindings ([facebook#25345](facebook/react#25345)) //<Sebastian Markbåge>//
- **[3de926449](facebook/react@3de926449 )**: [Fizz] experimental_useEvent ([facebook#25325](facebook/react#25325)) //<dan>//
- **[5b59dd640](facebook/react@5b59dd640 )**: Fix duplicate words tests ([facebook#25333](facebook/react#25333)) //<Vic Graf>//
- **[cb5084d1c](facebook/react@cb5084d1c )**: [ESLint] Check useEvent references instead ([facebook#25319](facebook/react#25319)) //<Lauren Tan>//
- **[c89a83695](facebook/react@c89a83695 )**: Update RulesOfHooks with useEvent rules ([facebook#25285](facebook/react#25285)) //<Lauren Tan>//
- **[efc6a08e9](facebook/react@efc6a08e9 )**: [Flight] Implement error digests for Flight runtime and expose errorInfo in getDerivedStateFromError ([facebook#25302](facebook/react#25302)) //<Josh Story>//
- **[c1d414d75](facebook/react@c1d414d75 )**: Add ref to Offscreen component ([facebook#25254](facebook/react#25254)) //<Samuel Susla>//
- **[135e33c95](facebook/react@135e33c95 )**: Flow: typing of Scheduler ([facebook#25317](facebook/react#25317)) //<Jan Kassens>//
- **[cc8cb145f](facebook/react@cc8cb145f )**: Flow: add some missing types in react-reconciler ([facebook#25316](facebook/react#25316)) //<Jan Kassens>//
- **[112d0498c](facebook/react@112d0498c )**: [Fizz] Move digest from errorInfo to Error instance ([facebook#25313](facebook/react#25313)) //<Josh Story>//
- **[d1bb1c586](facebook/react@d1bb1c586 )**: Fix memory leak after repeated setState bailouts ([facebook#25309](facebook/react#25309)) //<Andrew Clark>//

Changelog:
[General][Changed] - React Native sync for revisions 0cac4d5...9fb581c

jest_e2e[run_all_tests]

Reviewed By: yungsters

Differential Revision: D40383219

fbshipit-source-id: dc2a44bd05df041e0c7f2e1060640b1d2c372187
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants