dillon1000/react
Commit
Browse files [Flight] Track Owner on AsyncLocalStorage When Available (#28807)
Stacked on #28798. Add another AsyncLocalStorage to the FlightServerConfig. This context tracks data on a per component level. Currently the only thing we track is the owner in DEV. AsyncLocalStorage around each component comes with a performance cost so we only do it DEV. It's not generally a particularly safe operation because you can't necessarily associate side-effects with a component based on execution scope. It can be a lazy initializer or cache():ed code etc. We also don't support string refs anymore for a reason. However, it's good enough for optional dev only information like the owner.
Changed paths15 files
First-parent comparisonpackages/react-server-dom-webpack/src/__tests__/ReactFlightDOMEdge-test.js ModifiedM packages/react-server/src/ReactFlightServer.js ModifiedM packages/react-server/src/flight/ReactFlightAsyncDispatcher.js ModifiedA packages/react-server/src/flight/ReactFlightCurrentOwner.js AddedM packages/react-server/src/forks/ReactFlightServerConfig.custom.js ModifiedM packages/react-server/src/forks/ReactFlightServerConfig.dom-browser-esm.js ModifiedM packages/react-server/src/forks/ReactFlightServerConfig.dom-browser-turbopack.js ModifiedM packages/react-server/src/forks/ReactFlightServerConfig.dom-browser.js ModifiedM packages/react-server/src/forks/ReactFlightServerConfig.dom-bun.js ModifiedM packages/react-server/src/forks/ReactFlightServerConfig.dom-edge-turbopack.js ModifiedM packages/react-server/src/forks/ReactFlightServerConfig.dom-edge.js ModifiedM packages/react-server/src/forks/ReactFlightServerConfig.dom-legacy.js ModifiedM packages/react-server/src/forks/ReactFlightServerConfig.dom-node-esm.js ModifiedM packages/react-server/src/forks/ReactFlightServerConfig.dom-node-turbopack.js ModifiedM packages/react-server/src/forks/ReactFlightServerConfig.dom-node.js ModifiedPatch
Files changed
Rendering syntax-highlighted changes…