react/packages
Brian Vaughn ffb749c95e
Improve error boundary handling for unmounted subtrees (#19542)
A passive effect's cleanup function may throw after an unmount. Prior to this commit, such an error would be ignored. (React would not notify any error boundaries.) After this commit, React's behavior varies depending on which reconciler fork is being used.

For the old reconciler, React will call componentDidCatch for the nearest unmounted error boundary (if there is one). If there are no unmounted error boundaries, React will still swallow the error because the return pointer has been disconnected, so the normal error handling logic does not know how to traverse the tree to find the nearest still-mounted ancestor.

For the new reconciler, React will skip any unmounted boundaries and look for a still-mounted boundary. If one is found, it will call getDerivedStateFromError and/or componentDidCatch (depending on the type of boundary).

Tests have been added for both reconciler variants for now.
2020-08-14 16:46:46 -04:00
..
create-subscription Fix Suspense-wrapping heuristic (and bump version numbers) (#19373) 2020-07-15 12:25:27 -04:00
dom-event-testing-library Revise useFocus/useFocusWithin (#19310) 2020-07-10 17:23:00 +01:00
eslint-plugin-react-hooks [eslint-plugin-react-hooks] Report constant constructions (#19590) 2020-08-13 20:54:33 +01:00
jest-mock-scheduler Update to Jest 25 (#18480) 2020-04-03 16:37:36 +01:00
jest-react Fix Suspense-wrapping heuristic (and bump version numbers) (#19373) 2020-07-15 12:25:27 -04:00
react Remove wasteful checks from `shouldYield` 2020-08-14 10:45:11 -04:00
react-art Remove the deprecated React Flare event system (#19520) 2020-08-05 15:13:29 +01:00
react-cache Fix Suspense-wrapping heuristic (and bump version numbers) (#19373) 2020-07-15 12:25:27 -04:00
react-client Fix Suspense-wrapping heuristic (and bump version numbers) (#19373) 2020-07-15 12:25:27 -04:00
react-debug-tools Remove the deprecated React Flare event system (#19520) 2020-08-05 15:13:29 +01:00
react-devtools DevTools 4.8.1 -> 4.8.2 (and CHANGELOG) 2020-07-15 12:37:08 -04:00
react-devtools-core DevTools 4.8.1 -> 4.8.2 (and CHANGELOG) 2020-07-15 12:37:08 -04:00
react-devtools-extensions Fix emoji character displayed in Chrome extension (#19603) 2020-08-13 11:16:35 -04:00
react-devtools-inline DevTools 4.8.1 -> 4.8.2 (and CHANGELOG) 2020-07-15 12:37:08 -04:00
react-devtools-shared DevTools bug fix: Proxied methods should be safely dehydrated for display 2020-08-12 12:15:53 -04:00
react-devtools-shell Disable DevTools minification (#19369) 2020-07-15 10:38:30 -04:00
react-dom Improve error boundary handling for unmounted subtrees (#19542) 2020-08-14 16:46:46 -04:00
react-fetch Fix Suspense-wrapping heuristic (and bump version numbers) (#19373) 2020-07-15 12:25:27 -04:00
react-interactions fix: onFocus/onBlur/onBeforeInput have a matching event type (#19561) 2020-08-10 12:54:10 +01:00
react-is Fix Suspense-wrapping heuristic (and bump version numbers) (#19373) 2020-07-15 12:25:27 -04:00
react-native-renderer Remove the deprecated React Flare event system (#19520) 2020-08-05 15:13:29 +01:00
react-noop-renderer Remove the deprecated React Flare event system (#19520) 2020-08-05 15:13:29 +01:00
react-reconciler Improve error boundary handling for unmounted subtrees (#19542) 2020-08-14 16:46:46 -04:00
react-refresh Register more node types that are used later as JSXIdentifiers (#19514) 2020-08-06 16:37:32 +01:00
react-server Fix Suspense-wrapping heuristic (and bump version numbers) (#19373) 2020-07-15 12:25:27 -04:00
react-test-renderer Remove resolutions from test renderer package.json (#19577) 2020-08-10 20:45:12 +01:00
react-transport-dom-relay Fix Suspense-wrapping heuristic (and bump version numbers) (#19373) 2020-07-15 12:25:27 -04:00
react-transport-dom-webpack Fix Suspense-wrapping heuristic (and bump version numbers) (#19373) 2020-07-15 12:25:27 -04:00
scheduler Remove wasteful checks from `shouldYield` 2020-08-14 10:45:11 -04:00
shared Permanently removed component stacks from scheduling profiler data (#19615) 2020-08-14 15:21:13 -04:00
use-subscription Fix Suspense-wrapping heuristic (and bump version numbers) (#19373) 2020-07-15 12:25:27 -04:00