Skip to content

Vendor fetch polyfill, remove default blob response type#19333

Closed
janicduplessis wants to merge 2 commits into
react:masterfrom
janicduplessis:fork-fetch
Closed

Vendor fetch polyfill, remove default blob response type#19333
janicduplessis wants to merge 2 commits into
react:masterfrom
janicduplessis:fork-fetch

Conversation

@janicduplessis

Copy link
Copy Markdown
Contributor

While investigating an issue about blobs (#18223), I noticed that the fetch polyfill (https://github.com/github/fetch) uses blobs as the response type by default if the module is available (https://github.com/github/fetch/blob/master/fetch.js#L454). This surfaced some issue with the blob implementation on iOS that has since been fixed.

However after further review of the fetch polyfill and the way Blobs work in RN, I noticed a major issue that causes blobs created by fetch to leak memory. This is because RN blobs are not deallocated automatically like in the browser (see comment https://github.com/facebook/react-native/blob/master/Libraries/Blob/Blob.js#L108) and the fetch polyfill does not deallocate them explicitly using the close method.

Ideally we should implement automatic blob cleanup when the instance is garbage collected but implementing that is probably somewhat complex as it requires integrating with JSC. For now I suggest disabling the default handling of requests as blobs in the fetch polyfill. This will mitigate the issue for people not using Blobs directly. I'm not sure how well documented the Blob module is but we should make it clear that they currently require explicit deallocation with the close method for people using them directly.

Test Plan

Run a simple http request using fetch and make sure it does not use the Blob module anymore.

Release Notes

[GENERAL] [BUGFIX] [fetch] - Do not use blobs to handle responses in the fetch polyfill, fixes potential memory leak.

@janicduplessis janicduplessis requested a review from hramos as a code owner May 17, 2018 19:02
@facebook-github-bot facebook-github-bot added the CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. label May 17, 2018
@react-native-bot react-native-bot added ✅Test Plan 🌐Networking Related to a networking API. labels May 17, 2018
@janicduplessis

Copy link
Copy Markdown
Contributor Author

cc @satya164 @hramos

@janicduplessis

Copy link
Copy Markdown
Contributor Author

Not sure of the best way to include the license here, it is also MIT so it shouldn't be a problem.

@hramos

hramos commented May 17, 2018

Copy link
Copy Markdown
Contributor

I'm checking with our open source team on how to proceed with licensing here.

@pull-bot

pull-bot commented May 17, 2018

Copy link
Copy Markdown
Warnings
⚠️

🔒 package.json - Changes were made to package.json. This will require a manual import by a Facebook employee.

Generated by 🚫 dangerJS

@rozele

rozele commented May 18, 2018

Copy link
Copy Markdown
Contributor

@janicduplessis - maybe it will be easier to just fix the issue to begin with? I was thinking about how we would implement this in react-native-windows, and I came across the JsObjectBeforeCollectCallback in ChakraCore, which would allow us to attach finalizers to JS object:
https://github.com/Microsoft/ChakraCore/wiki/JsObjectBeforeCollectCallback

My thought is, in the BlobModule for react-native, we add a new native callback for react-native, e.g., nativeFinalizer that takes an object ref and a function ref. Internally, this would maintain some native finalizer mapping, wire up the call to JsObjectBeforeCollectCallback (or in the case of JSC, JsObjectFinalizeCallback), and invoke the JavaScript function just before garbage collection. This would allow us to wire up a finalizer on Blob objects that would make sure native blobs are cleaned up. Consequently, this could also help support an interesting ErrorModule for promises that would allow us to hold on to native exception objects while a rejected Promise is still being handled, so the user could query the ErrorModule for additional native exception details.

@janicduplessis

Copy link
Copy Markdown
Contributor Author

@rozele Makes sense, I don't have time to work on implementing this at the moment though, I suggest we still land this to fix the issue ASAP and we can work on implementing finalizers after. I think I'd rather not use blobs when using fetch anyway since RN already has optimized native methods for loading the different content types.

@facebook-github-bot facebook-github-bot added the Import Started This pull request has been imported. This does not imply the PR has been approved. label May 23, 2018

@facebook-github-bot facebook-github-bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

@hramos is landing this pull request. If you are a Facebook employee, you can view this diff on Phabricator.

@facebook-github-bot facebook-github-bot added Import Failed and removed Import Started This pull request has been imported. This does not imply the PR has been approved. labels May 24, 2018
@facebook-github-bot

Copy link
Copy Markdown
Contributor

I tried to merge this pull request into the Facebook internal repo but some checks failed. To unblock yourself please check the following: Does this pull request pass all open source tests on GitHub? If not please fix those. Does the code still apply cleanly on top of GitHub master? If not can please rebase. In all other cases this means some internal test failed, for example a part of a fb app won't work with this pull request. I've added the Import Failed label to this pull request so it is easy for someone at fb to find the pull request and check what failed. If you don't see anyone comment in a few days feel free to comment mentioning one of the core contributors to the project so they get a notification.

@janicduplessis

Copy link
Copy Markdown
Contributor Author

Ping @hramos

@facebook-github-bot facebook-github-bot added the Import Started This pull request has been imported. This does not imply the PR has been approved. label May 29, 2018

@facebook-github-bot facebook-github-bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

@hramos is landing this pull request. If you are a Facebook employee, you can view this diff on Phabricator.

@hramos

hramos commented May 29, 2018

Copy link
Copy Markdown
Contributor

Not sure why this PR remains stuck. It's not even making it into our Phabricator instance.

muratakbal pushed a commit to mdcollab/react-native that referenced this pull request Jun 22, 2018
Summary:
While investigating an issue about blobs (react#18223), I noticed that the fetch polyfill (https://github.com/github/fetch) uses blobs as the response type by default if the module is available (https://github.com/github/fetch/blob/master/fetch.js#L454). This surfaced some issue with the blob implementation on iOS that has since been fixed.

However after further review of the fetch polyfill and the way Blobs work in RN, I noticed a major issue that causes blobs created by fetch to leak memory. This is because RN blobs are not deallocated automatically like in the browser (see comment https://github.com/facebook/react-native/blob/master/Libraries/Blob/Blob.js#L108) and the fetch polyfill does not deallocate them explicitly using the close method.

Ideally we should implement automatic blob cleanup when the instance is garbage collected but implementing that is probably somewhat complex as it requires integrating with JSC. For now I suggest disabling the default handling of requests as blobs in the fetch polyfill. This will mitigate the issue for people not using Blobs directly. I'm not sure how well documented the Blob module is but we should make it clear that they currently require explicit deallocation with the close method for people using them directly.

Run a simple http request using fetch and make sure it does not use the Blob module anymore.

[GENERAL] [BUGFIX] [fetch] - Do not use blobs to handle responses in the fetch polyfill, fixes potential memory leak.
Closes react#19333

Differential Revision: D8125463

Pulled By: hramos

fbshipit-source-id: 8f4602190dfc2643606606886c698e8e9b1d91d1
ide pushed a commit to expo/react-native that referenced this pull request Jul 11, 2018
Summary:
While investigating an issue about blobs (react#18223), I noticed that the fetch polyfill (https://github.com/github/fetch) uses blobs as the response type by default if the module is available (https://github.com/github/fetch/blob/master/fetch.js#L454). This surfaced some issue with the blob implementation on iOS that has since been fixed.

However after further review of the fetch polyfill and the way Blobs work in RN, I noticed a major issue that causes blobs created by fetch to leak memory. This is because RN blobs are not deallocated automatically like in the browser (see comment https://github.com/facebook/react-native/blob/master/Libraries/Blob/Blob.js#L108) and the fetch polyfill does not deallocate them explicitly using the close method.

Ideally we should implement automatic blob cleanup when the instance is garbage collected but implementing that is probably somewhat complex as it requires integrating with JSC. For now I suggest disabling the default handling of requests as blobs in the fetch polyfill. This will mitigate the issue for people not using Blobs directly. I'm not sure how well documented the Blob module is but we should make it clear that they currently require explicit deallocation with the close method for people using them directly.

Run a simple http request using fetch and make sure it does not use the Blob module anymore.

[GENERAL] [BUGFIX] [fetch] - Do not use blobs to handle responses in the fetch polyfill, fixes potential memory leak.
Closes react#19333

Differential Revision: D8125463

Pulled By: hramos

fbshipit-source-id: 8f4602190dfc2643606606886c698e8e9b1d91d1
@shyaniv7

shyaniv7 commented Aug 1, 2018

Copy link
Copy Markdown

This PR never made it into 0.55 or 0.56 and this is still an issue.

Can anyone merge it?
Thanks in advance

@hramos

hramos commented Aug 2, 2018

Copy link
Copy Markdown
Contributor

@shyaniv7 this fix is clearly in 0.56, as you can see in the list of tags in the commit that closed the PR: 122b379.

@jamesmoss

Copy link
Copy Markdown

This change has broken fetch with blobs in 0.57 on iOS.

If we read a jpeg from disk via fetch the Blob we're getting back is now roughly 2x the file size and the contents can't be read by any image editor:

const response = await fetch('/path/to/some/file/on/disk');
const blob = await response.blob();

console.log(blob.size); // incorrect value returned

After some investigation, this block being removed from the fetch polyfill when it was copied across has caused this:

if ('responseType' in xhr && support.blob) {
  xhr.responseType = 'blob'
}

I'm putting together a proper bug report with example code but leaving this here for now in case anybody else is hitting this issue.

@sjchmiela

Copy link
Copy Markdown
Contributor

Hey, @jamesmoss, dunno if you're still suffering from this issue, but I found a workaround how to get the blob and be able to send it somewhere, like Firebase! I've described it in length here: expo/expo#2402 (comment). I hope it helps you or anyone solve the problem!

@hramos hramos added the Merged This PR has been merged. label Mar 8, 2019
@react-native-bot react-native-bot removed Import Started This pull request has been imported. This does not imply the PR has been approved. Import Failed labels Mar 8, 2019
facebook-github-bot pushed a commit that referenced this pull request May 31, 2019
Summary:
The original reason for vendoring the fetch polyfill was to remove the default blob response type but this was reverted.

Here's a little history around the fetch polyfill and the blob issue:

- Original commit introducing the vendored polyfill: #19333, the goal was to fix a memory leak because our blob implementation doesn't release resources automatically. Not an ideal fix but since the issue was pretty severe and the infra for a proper fix was not in place.
- This introduced an issue when downloading images using `fetch` which was fixed by #22063 which re-added the default blob content type. However that re-introduced the original fetch memory leak.
- We have better infra now with jsi and I was able to get blob deallocation working, see #24405

Currently the vendored fetch polyfill is useless since it was changed back to the original version. We can just use the npm version again. I also updated to 3.0 which brings better spec compliance and support for cancellation via `AbortController`, https://github.com/github/fetch/releases/tag/v3.0.0.

## Changelog

[General] [Changed] - Remove vendored fetch polyfill, update to whatwg-fetch@3.0
Pull Request resolved: #24418

Differential Revision: D14932683

Pulled By: cpojer

fbshipit-source-id: 915e3d25978e8b9d7507ed807e7fba45aa88385a
kelset pushed a commit that referenced this pull request Jun 7, 2019
Summary:
The original reason for vendoring the fetch polyfill was to remove the default blob response type but this was reverted.

Here's a little history around the fetch polyfill and the blob issue:

- Original commit introducing the vendored polyfill: #19333, the goal was to fix a memory leak because our blob implementation doesn't release resources automatically. Not an ideal fix but since the issue was pretty severe and the infra for a proper fix was not in place.
- This introduced an issue when downloading images using `fetch` which was fixed by #22063 which re-added the default blob content type. However that re-introduced the original fetch memory leak.
- We have better infra now with jsi and I was able to get blob deallocation working, see #24405

Currently the vendored fetch polyfill is useless since it was changed back to the original version. We can just use the npm version again. I also updated to 3.0 which brings better spec compliance and support for cancellation via `AbortController`, https://github.com/github/fetch/releases/tag/v3.0.0.

## Changelog

[General] [Changed] - Remove vendored fetch polyfill, update to whatwg-fetch@3.0
Pull Request resolved: #24418

Differential Revision: D14932683

Pulled By: cpojer

fbshipit-source-id: 915e3d25978e8b9d7507ed807e7fba45aa88385a
M-i-k-e-l pushed a commit to M-i-k-e-l/react-native that referenced this pull request Mar 10, 2020
Summary:
The original reason for vendoring the fetch polyfill was to remove the default blob response type but this was reverted.

Here's a little history around the fetch polyfill and the blob issue:

- Original commit introducing the vendored polyfill: react#19333, the goal was to fix a memory leak because our blob implementation doesn't release resources automatically. Not an ideal fix but since the issue was pretty severe and the infra for a proper fix was not in place.
- This introduced an issue when downloading images using `fetch` which was fixed by react#22063 which re-added the default blob content type. However that re-introduced the original fetch memory leak.
- We have better infra now with jsi and I was able to get blob deallocation working, see react#24405

Currently the vendored fetch polyfill is useless since it was changed back to the original version. We can just use the npm version again. I also updated to 3.0 which brings better spec compliance and support for cancellation via `AbortController`, https://github.com/github/fetch/releases/tag/v3.0.0.

## Changelog

[General] [Changed] - Remove vendored fetch polyfill, update to whatwg-fetch@3.0
Pull Request resolved: react#24418

Differential Revision: D14932683

Pulled By: cpojer

fbshipit-source-id: 915e3d25978e8b9d7507ed807e7fba45aa88385a
facebook-github-bot pushed a commit that referenced this pull request Aug 5, 2020
Summary:
# Please include the following changelog as your Diff Summary:
This sync includes the following changes:
- **[a437f3ff3](https://github.com/facebook/react/commit/a437f3ff3 )**: Use RN fork in default branch of feature flags (#19522) //<Ricky>//
- **[86314d5b4](https://github.com/facebook/react/commit/86314d5b4 )**: Turn off new component stacks for React Native (#19521) //<Ricky>//
- **[5f1890f12](https://github.com/facebook/react/commit/5f1890f12 )**: Bugfix: Don't unmount siblings of deleted node (#19516) //<Andrew Clark>//
- **[93a0c2830](https://github.com/facebook/react/commit/93a0c2830 )**: Add static version of Passive subtree tag (#19510) //<Andrew Clark>//
- **[3d0895557](https://github.com/facebook/react/commit/3d0895557 )**: Disable onScroll bubbling statically except for WWW (#19503) //<Dan Abramov>//
- **[332ecefac](https://github.com/facebook/react/commit/332ecefac )**: Revert "Statically enable enableFilterEmptyStringAttributesDOM (#19502)" (#19504) //<Dan Abramov>//
- **[815ee89bf](https://github.com/facebook/react/commit/815ee89bf )**: Statically enable enableFilterEmptyStringAttributesDOM (#19502) //<Dan Abramov>//
- **[ede917064](https://github.com/facebook/react/commit/ede917064 )**: Move passive logic out of layout phase (#19500) //<Andrew Clark>//
- **[6ef997b53](https://github.com/facebook/react/commit/6ef997b53 )**: Check for passive effects on the root fiber (#19488) //<Andrew Clark>//
- **[e1f96b82b](https://github.com/facebook/react/commit/e1f96b82b )**: Check PassiveStatic instead of Passive (#19489) //<Andrew Clark>//
- **[eae90cdbe](https://github.com/facebook/react/commit/eae90cdbe )**: Effects list refactor continued: passive effects traversal (#19374) //<Brian Vaughn>//
- **[74cd7e5f1](https://github.com/facebook/react/commit/74cd7e5f1 )**: Use feature flags for React Native in the test renderer (#19486) //<Ricky>//
- **[7c8cc4358](https://github.com/facebook/react/commit/7c8cc4358 )**: Add postTask browser scheduler implementation  (#19479) //<Ricky>//
- **[5227a3786](https://github.com/facebook/react/commit/5227a3786 )**: Add "unstable_" prefix to experimental mutable source APIs (#19472) //<Brian Vaughn>//
- **[52c514627](https://github.com/facebook/react/commit/52c514627 )**: Add SchedulerHostConfig fork for post task (#19470) //<Ricky>//
- **[722bc046d](https://github.com/facebook/react/commit/722bc046d )**: Don't rely on `didTimeout` for SyncBatched (#19469) //<Andrew Clark>//
- **[96ac799ea](https://github.com/facebook/react/commit/96ac799ea )**: Remove `callbackId` field from FiberRoot (#19458) //<Andrew Clark>//
- **[c24b641b7](https://github.com/facebook/react/commit/c24b641b7 )**: Remove `timeout` option from `scheduleCallback` (#19457) //<Andrew Clark>//
- **[06d104e8e](https://github.com/facebook/react/commit/06d104e8e )**: Don't emulate bubbling of the scroll event (#19464) //<Dan Abramov>//
- **[b55f75d0a](https://github.com/facebook/react/commit/b55f75d0a )**: fix issue #19362 + test (#19412) //<Robert Ferentz>//
- **[d93c8faad](https://github.com/facebook/react/commit/d93c8faad )**: Move Persistent Mode Optimization away from firstEffect (#19381) //<Sebastian Markbåge>//
- **[909b612e2](https://github.com/facebook/react/commit/909b612e2 )**: Sync React Native types (#19437) //<Ricky>//
- **[c9749d38e](https://github.com/facebook/react/commit/c9749d38e )**: Generate RN renderers for stable builds (#19421) //<Ricky>//
- **[ab1f51700](https://github.com/facebook/react/commit/ab1f51700 )**: isFBBundle should be true if it's FB for www or FB for RN (#19420) //<Sebastian Markbåge>//
- **[b23ea02be](https://github.com/facebook/react/commit/b23ea02be )**: Track event times per lane on the root (#19387) //<Andrew Clark>//
- **[faa697f4f](https://github.com/facebook/react/commit/faa697f4f )**: Set current update lane priority for user blocking events (#19342) //<Ricky>//
- **[51267c4ac](https://github.com/facebook/react/commit/51267c4ac )**: Sync scheduling profiler marks and debug tracing to new reconciler fork (#19375, #19376, #19396) //<Brian Vaughn>//
- **[aec934af7](https://github.com/facebook/react/commit/aec934af7 )**: Remove form event delegation flag (#19395) //<Dan Abramov>//
- **[9102719ba](https://github.com/facebook/react/commit/9102719ba )**: Tidy up React Scope API (#19352) //<Dominic Gannaway>//
- **[a226b9b44](https://github.com/facebook/react/commit/a226b9b44 )**: Effects list refactor continued: did-bailout flag (#19322) //<Brian Vaughn>//
- **[a89854bc9](https://github.com/facebook/react/commit/a89854bc9 )**: Fix Suspense-wrapping heuristic (and bump version numbers) (#19373) //<Brian Vaughn>//
- **[4961833db](https://github.com/facebook/react/commit/4961833db )**: Don't build shallow renderer UMD bundles //<Dan Abramov>//
- **[392277f0a](https://github.com/facebook/react/commit/392277f0a )**: Revert "Scheduling profiler updates (#19334)" (#19366) //<Dominic Gannaway>//
- **[6d7555b01](https://github.com/facebook/react/commit/6d7555b01 )**: Scheduling profiler updates (#19334) //<Brian Vaughn>//
- **[d1f2143aa](https://github.com/facebook/react/commit/d1f2143aa )**: Use RetryLanes instead of event time (follow up) (#19335) //<Andrew Clark>//
- **[fe19b4247](https://github.com/facebook/react/commit/fe19b4247 )**: eslint-plugin-react-hooks@4.0.8 //<Dan Abramov>//
- **[84479046f](https://github.com/facebook/react/commit/84479046f )**: reference not add to dependencies if only its type is used as typeof arg (#19316) //<Bianca Del Carretto>//
- **[26472c889](https://github.com/facebook/react/commit/26472c889 )**: Bubble onSubmit/onReset behind a feature flag (#19333) //<Dan Abramov>//
- **[61dd00db2](https://github.com/facebook/react/commit/61dd00db2 )**: Extract some of the tidy up changes from 19278 (#19315) //<Dominic Gannaway>//
- **[a2b4db05b](https://github.com/facebook/react/commit/a2b4db05b )**: eslint-plugin-react-hooks@4.0.7 //<Dan Abramov>//
- **[47915fd6e](https://github.com/facebook/react/commit/47915fd6e )**: [ESLint] Fix a bug causing a too coarse dependency suggestion (#19313) //<Dan Abramov>//
- **[970fa122d](https://github.com/facebook/react/commit/970fa122d )**: Use lanes to check if a render is a Suspense retry (#19307) //<Andrew Clark>//
- **[14084be28](https://github.com/facebook/react/commit/14084be28 )**: Refactor algorithm for next Lanes to work on (#19302) //<Andrew Clark>//
- **[965d08cff](https://github.com/facebook/react/commit/965d08cff )**: Add dedicated LanePriority for Suspense retries (#19287) //<Andrew Clark>//
- **[766af5968](https://github.com/facebook/react/commit/766af5968 )**: Move Scope API ref resolution to mutation phase (#19264) //<Dominic Gannaway>//
- **[77e872217](https://github.com/facebook/react/commit/77e872217 )**: Improve readability of isValidElementType (#19251) //<Behnam Mohammadi>//
- **[d87220f21](https://github.com/facebook/react/commit/d87220f21 )**: Add console group methods to dev disabled groups (#19069) //<Giovanni Fumagalli>//
- **[f5ea39c18](https://github.com/facebook/react/commit/f5ea39c18 )**: Modern Event System: make on*Capture events use capture phase (#19221) //<Dominic Gannaway>//
- **[40cddfeeb](https://github.com/facebook/react/commit/40cddfeeb )**: Add user timing marks for scheduling profiler tool (#19223) //<E-Liang Tan>//
- **[6fd432113](https://github.com/facebook/react/commit/6fd432113 )**: eslint-plugin-react-hooks@4.0.6 //<Dan Abramov>//
- **[7c35cb20e](https://github.com/facebook/react/commit/7c35cb20e )**: [ESLint] Handle optional member chains (#19275) //<Dan Abramov>//
- **[dccf541ec](https://github.com/facebook/react/commit/dccf541ec )**: Allow decoupleUpdatePriorityFromScheduler to be set (#19272) //<Ricky>//
- **[7ca1d861e](https://github.com/facebook/react/commit/7ca1d861e )**: [ESLint] Consistently treat optional chaining as regular chaining (#19273) //<Dan Abramov>//
- **[4eb9b1d2b](https://github.com/facebook/react/commit/4eb9b1d2b )**: Refactor createEventHandle signature (#19174) //<Dominic Gannaway>//
- **[91a2e8173](https://github.com/facebook/react/commit/91a2e8173 )**: Decouple update priority tracking from Scheduler package (#19121) //<Ricky>//
- **[0f84b0f02](https://github.com/facebook/react/commit/0f84b0f02 )**: Fix ExhaustiveDeps ESLint rule throwing with optional chaining (#19260) //<Joe Lencioni>//
- **[670c0376e](https://github.com/facebook/react/commit/670c0376e )**: Enable createEventHandle API for wWW test builds (#19262) //<Brian Vaughn>//
- **[9fba65efa](https://github.com/facebook/react/commit/9fba65efa )**: Enable modern event system and delete dead code (#19230) //<Dan Abramov>//
- **[e3f4eb727](https://github.com/facebook/react/commit/e3f4eb727 )**: Fork legacy-events folder into react-dom and react-native (#19228) //<Dan Abramov>//
- **[b231445f9](https://github.com/facebook/react/commit/b231445f9 )**: Move responder tests and remove dead code (#19226) //<Dan Abramov>//
- **[5707eeb2d](https://github.com/facebook/react/commit/5707eeb2d )**: Run ReactBrowserEventEmitter test on bundles (#19225) //<Dan Abramov>//
- **[b2bac7311](https://github.com/facebook/react/commit/b2bac7311 )**: Remove React Flare Keyboard responder (#19222) //<Dominic Gannaway>//
- **[f918b0eb4](https://github.com/facebook/react/commit/f918b0eb4 )**: Fix development mode hang when iframe is removed (#19220) //<Dan Abramov>//
- **[8bff8987e](https://github.com/facebook/react/commit/8bff8987e )**: Don't bailout after Suspending in Legacy Mode (#19216) //<Dan Abramov>//
- **[f4097c1ae](https://github.com/facebook/react/commit/f4097c1ae )**: Added warning to <Context.Provider> in case no value prop is provided (#19054) //<Shailendra Gupta>//
- **[47ff31a77](https://github.com/facebook/react/commit/47ff31a77 )**: Revert "Add regression test for #18497 (#18538)" (#19215) //<Dan Abramov>//
- **[fa32cf299](https://github.com/facebook/react/commit/fa32cf299 )**: Add regression tests where sync render causes later concurrent render to expire soon (#18608) //<jddxf>//
- **[1887c5d94](https://github.com/facebook/react/commit/1887c5d94 )**: eslint-plugin-react-hooks@4.0.5 //<Dan Abramov>//
- **[b0533fe33](https://github.com/facebook/react/commit/b0533fe33 )**: fix(eslint-plugin-react-hooks): Support optional chaining when accessing prototype method inside useCallback and useMemo #19061 (#19062) //<Fred Vollmer>//
- **[e9c1445ba](https://github.com/facebook/react/commit/e9c1445ba )**: Add regression test for #18497 (#18538) //<Sophie Alpert>//
- **[7d0e4150a](https://github.com/facebook/react/commit/7d0e4150a )**: Fix react-runtime `main` field (#19193) //<Christoph Nakazawa>//
- **[ffe516f3b](https://github.com/facebook/react/commit/ffe516f3b )**: use NoTimestamp instead of -1 (#19182) //<Chen Gang>//
- **[1425fcbb8](https://github.com/facebook/react/commit/1425fcbb8 )**: Re-enabled DebugTracing feature for old reconciler fork (#19161) //<Brian Vaughn>//
- **[5b9865690](https://github.com/facebook/react/commit/5b9865690 )**: fix: use define property to overwrite console, close #19099 (#19123) //<Jack Works>//
- **[6ba25b96d](https://github.com/facebook/react/commit/6ba25b96d )**: Bugfix: Legacy Mode + DevTools "force fallback" (#19164) //<Andrew Clark>//
- **[d1d9054e0](https://github.com/facebook/react/commit/d1d9054e0 )**: Revert "Re-enabled DebugTracing feature for old reconciler fork (#19142)" (#19159) //<Luna Ruan>//
- **[090c6ed75](https://github.com/facebook/react/commit/090c6ed75 )**: [eslint-plugin-react-hooks]: handling sparse array when no-inline callback (#19145) //<YeonJuan>//
- **[cc7c1aece](https://github.com/facebook/react/commit/cc7c1aece )**: Re-enabled DebugTracing feature for old reconciler fork (#19142) //<Brian Vaughn>//
- **[30b47103d](https://github.com/facebook/react/commit/30b47103d )**: Fix spelling errors and typos (#19138) //<Ricky>//
- **[655affa30](https://github.com/facebook/react/commit/655affa30 )**: Clarifications //<Rick Hanlon>//
- **[103ed08c4](https://github.com/facebook/react/commit/103ed08c4 )**: Remove shouldDeprioritizeSubtree from host config (#19124) //<Andrew Clark>//
- **[8f05f2bd6](https://github.com/facebook/react/commit/8f05f2bd6 )**: Land Lanes implementation in old fork (#19108) //<Andrew Clark>//
- **[7f28234f8](https://github.com/facebook/react/commit/7f28234f8 )**: Enable component stacks everywhere except RN (#19120) //<Sebastian Markbåge>//
- **[e3ccdf154](https://github.com/facebook/react/commit/e3ccdf154 )**: Remove synamic modern event system flag for FB (#19059) //<Dominic Gannaway>//
- **[4c7036e80](https://github.com/facebook/react/commit/4c7036e80 )**: Bugfix: Infinite loop in beforeblur event (#19053) //<Andrew Clark>//
- **[1d85bb3ce](https://github.com/facebook/react/commit/1d85bb3ce )**: Build FB specific Isomorphic Bundles (#19049) //<Sebastian Markbåge>//
- **[89edb0eae](https://github.com/facebook/react/commit/89edb0eae )**: Enable component stack locations in www (#19047) //<Sebastian Markbåge>//
- **[cb1416817](https://github.com/facebook/react/commit/cb1416817 )**: Remove unnecessary throw catch (#19044) //<Sebastian Markbåge>//
- **[c03b8661a](https://github.com/facebook/react/commit/c03b8661a )**: Upgrade Closure Compiler (#19041) //<Sebastian Markbåge>//
- **[2e7cc949a](https://github.com/facebook/react/commit/2e7cc949a )**: Remove www builds of fetch (#19038) //<Sebastian Markbåge>//
- **[76f157e3d](https://github.com/facebook/react/commit/76f157e3d )**: Add simple Node build (#19022) //<Sebastian Markbåge>//
- **[60afa3c11](https://github.com/facebook/react/commit/60afa3c11 )**: Lint bundles using the bundle config instead of scanning for files (#19025) //<Sebastian Markbåge>//
- **[518ce9c25](https://github.com/facebook/react/commit/518ce9c25 )**: Add Lazy Elements Behind a Flag (#19033) //<Sebastian Markbåge>//
- **[4985bb0a8](https://github.com/facebook/react/commit/4985bb0a8 )**: Rename 17 to 18 in warnings (#19031) //<Sebastian Markbåge>//
- **[86b4070dd](https://github.com/facebook/react/commit/86b4070dd )**: Cleaned up passive effects experimental flags (#19021) //<Brian Vaughn>//
- **[607148673](https://github.com/facebook/react/commit/607148673 )**: Remove ReactComponentTreeHook from internals (#19032) //<Sebastian Markbåge>//
- **[43e59f29d](https://github.com/facebook/react/commit/43e59f29d )**: Delete Entries without Build Output from package.json and the build directory (#19029) //<Sebastian Markbåge>//
- **[0219925e0](https://github.com/facebook/react/commit/0219925e0 )**: Remove regenerator from noop (#19024) //<Sebastian Markbåge>//
- **[c66ac10f4](https://github.com/facebook/react/commit/c66ac10f4 )**: Lint classic www build (#19023) //<Sebastian Markbåge>//
- **[55cb0b7ee](https://github.com/facebook/react/commit/55cb0b7ee )**: Only prepare extra stack frames if needed (#19014) //<Sebastian Markbåge>//
- **[9752d31f1](https://github.com/facebook/react/commit/9752d31f1 )**: Document `additionalHooks` option (#19005) //<Aaron Pettengill>//
- **[b7ff88819](https://github.com/facebook/react/commit/b7ff88819 )**: eslint-plugin-react-hooks@4.0.4 //<Dan Abramov>//
- **[18de3b6e7](https://github.com/facebook/react/commit/18de3b6e7 )**: Bug: Spawning hydration in response to Idle update (#19011) //<Andrew Clark>//
- **[fb735423b](https://github.com/facebook/react/commit/fb735423b )**: Fix rollup validate script (#18900) //<Toru Kobayashi>//
- **[8abc202c7](https://github.com/facebook/react/commit/8abc202c7 )**: [eslint-plugin-react-hooks] Prefer recommended eslint configuration (#18951) //<Julien Deniau>//
- **[4821d609e](https://github.com/facebook/react/commit/4821d609e )**: fix(eslint-plugin-react-hooks): Added matching for nullish coalescing and optional chaining of dependencies, relates to #18985 (#19008) //<Yann アウネ Eves>//
- **[67e130fc6](https://github.com/facebook/react/commit/67e130fc6 )**: eslint-plugin-react-hooks@4.0.3 //<Dan Abramov>//
- **[bb2239dc9](https://github.com/facebook/react/commit/bb2239dc9 )**: Revert "Feature: Add support to `exhaustive-deps` rule for any hook ending with `Effect` (#18580)" (#19004) //<Dan Abramov>//
- **[03e6b8ba2](https://github.com/facebook/react/commit/03e6b8ba2 )**: Make LegacyHidden match semantics of old fork (#18998) //<Andrew Clark>//
- **[3ca1904b3](https://github.com/facebook/react/commit/3ca1904b3 )**: react-refresh@0.8.3 //<Dan Abramov>//
- **[0aa4cc544](https://github.com/facebook/react/commit/0aa4cc544 )**: Resolve an edge case where ref.node can be falsy (#18984) //<yjimk>//
- **[8f4dc3e5d](https://github.com/facebook/react/commit/8f4dc3e5d )**: Warn if MutableSource snapshot is a function (#18933) //<Brian Vaughn>//
- **[142d4f1c0](https://github.com/facebook/react/commit/142d4f1c0 )**: useMutableSource hydration support (#18771) //<Brian Vaughn>//
- **[aefb97e6b](https://github.com/facebook/react/commit/aefb97e6b )**: DevTools: Add root and renderer version to inspected props panel (#18963) //<Brian Vaughn>//
- **[74394aa8c](https://github.com/facebook/react/commit/74394aa8c )**: Add unstable_isNewReconciler to dispatcher (#18975) //<Andrew Clark>//
- **[730ae7afa](https://github.com/facebook/react/commit/730ae7afa )**: Clear fiber.sibling field when clearing nextEffect (#18970) //<Dominic Gannaway>//
- **[4a3f779d6](https://github.com/facebook/react/commit/4a3f779d6 )**: Remove event pooling in the modern system (#18969) //<Dominic Gannaway>//
- **[22f7663f1](https://github.com/facebook/react/commit/22f7663f1 )**: Profiler: Don't count timed out (hidden) subtrees in base duration (#18966) //<Brian Vaughn>//
- **[64f50c667](https://github.com/facebook/react/commit/64f50c667 )**: Remove disableHiddenPropDeprioritization flag (#18964) //<Andrew Clark>//
- **[a30a1c6ef](https://github.com/facebook/react/commit/a30a1c6ef )**: Transfer actualDuration only once for SuspenseList (#18959) //<Sebastian Markbåge>//
- **[8b3b5c352](https://github.com/facebook/react/commit/8b3b5c352 )**: Bugfix: Missing mode check in resetChildLanes (#18961) //<Andrew Clark>//
- **[95ea8ed47](https://github.com/facebook/react/commit/95ea8ed47 )**: LegacyHidden: mode that defers without hiding (#18958) //<Andrew Clark>//
- **[c390ab364](https://github.com/facebook/react/commit/c390ab364 )**: Add test for displayName on React.memo components (#18925) //<Sebastian Silbermann>//
- **[6ed5c2243](https://github.com/facebook/react/commit/6ed5c2243 )**: Add MIT license to use-subscription package (#18927) //<Gabriele Prestifilippo>//
- **[121af3143](https://github.com/facebook/react/commit/121af3143 )**: Update inaccurate mapChildren comment (#18931) //<Ricky Vetter>//
- **[21dc41c32](https://github.com/facebook/react/commit/21dc41c32 )**: Simplify logic for mutable workInProgressSources (#18920) //<Sophie Alpert>//
- **[0fb747f36](https://github.com/facebook/react/commit/0fb747f36 )**: Add LegacyHidden to server renderer (#18919) //<Andrew Clark>//
- **[b4a1a4980](https://github.com/facebook/react/commit/b4a1a4980 )**: Disable <div hidden /> API in old fork, too (#18917) //<Andrew Clark>//
- **[9e5b2c94e](https://github.com/facebook/react/commit/9e5b2c94e )**: Add expando prop to disabledLog function (#18914) //<Brian Vaughn>//
- **[fdb641629](https://github.com/facebook/react/commit/fdb641629 )**: Fix useMutableSource tearing bug (#18912) //<Andrew Clark>//
- **[33589f742](https://github.com/facebook/react/commit/33589f742 )**: useMutableSource: "Entangle" instead of expiring (#18889) //<Andrew Clark>//
- **[43063fd84](https://github.com/facebook/react/commit/43063fd84 )**: eslint-plugin-react-hooks@4.0.2 //<Dan Abramov>//
- **[f6ff4c43d](https://github.com/facebook/react/commit/f6ff4c43d )**: Update changelog //<Dan Abramov>//
- **[487c69384](https://github.com/facebook/react/commit/487c69384 )**: [eslint-plugin-react-hooks] useWithoutEffectSuffix fix (#18902) (#18907) //<Boris Sergeev>//
- **[61f2a560e](https://github.com/facebook/react/commit/61f2a560e )**: Add experimental ReactDOM.createEventHandle (#18756) //<Dominic Gannaway>//
- **[14e554b31](https://github.com/facebook/react/commit/14e554b31 )**: Add missing changelog item //<Dan Abramov>//
- **[80c4dea0d](https://github.com/facebook/react/commit/80c4dea0d )**: Modern Event System: Add scaffolding for createEventHandle (#18898) //<Dominic Gannaway>//
- **[9f396bdd5](https://github.com/facebook/react/commit/9f396bdd5 )**: eslint-plugin-react-hooks@4.0.1 //<Dan Abramov>//
- **[c512aa008](https://github.com/facebook/react/commit/c512aa008 )**: [Blocks] Scaffolding react-fetch + first pass at node implementation (#18863) //<Richard Maisano>//
- **[e936034ee](https://github.com/facebook/react/commit/e936034ee )**: Add item to ESLint Hooks plugin changelog //<Dan Abramov>//
- **[c3ff21e01](https://github.com/facebook/react/commit/c3ff21e01 )**: feat(eslint-plugin-react-hooks): Support ESLint 7.x (#18878) //<Michaël De Boey>//
- **[8b9c4d168](https://github.com/facebook/react/commit/8b9c4d168 )**: Expose LegacyHidden type and disable <div hidden /> API in new fork (#18891) //<Andrew Clark>//
- **[ef0bf8e31](https://github.com/facebook/react/commit/ef0bf8e31 )**: Revert "Hard code enableComponentStacks in www (#18869)" (#18890) //<Dominic Gannaway>//
- **[ddcc69c83](https://github.com/facebook/react/commit/ddcc69c83 )**: Added clear message for functional component starting with lowercase (#18881) //<Rohith Srivathsav>//
- **[539527b64](https://github.com/facebook/react/commit/539527b64 )**: Don't cut off effects at end of list if hydrating (#18872) //<Sebastian Markbåge>//
- **[fd696df47](https://github.com/facebook/react/commit/fd696df47 )**: Hard code enableComponentStacks in www (#18869) //<Sebastian Markbåge>//
- **[6edaf6f76](https://github.com/facebook/react/commit/6edaf6f76 )**: Detect and prevent render starvation, per lane (#18864) //<Andrew Clark>//
- **[df14b5bcc](https://github.com/facebook/react/commit/df14b5bcc )**: add new IDs for each each server renderer instance and prefixes to distinguish between each server render (#18576) //<Luna Ruan>//
- **[fb3f0acad](https://github.com/facebook/react/commit/fb3f0acad )**: Disable Webpack setImmediate polyfill for DevTools (#18860) //<Brian Vaughn>//
- **[edf6eac8a](https://github.com/facebook/react/commit/edf6eac8a )**: Don't cut off the tail of a SuspenseList if hydrating (#18854) //<Sebastian Markbåge>//
- **[55f5cdee0](https://github.com/facebook/react/commit/55f5cdee0 )**: Disable setState before mount in legacy mode (#18851) //<Sebastian Markbåge>//
- **[47ebc90b0](https://github.com/facebook/react/commit/47ebc90b0 )**: Put render phase update change behind a flag (#18850) //<Andrew Clark>//
- **[96f3b7d1c](https://github.com/facebook/react/commit/96f3b7d1c )**: Warn if calling setState outside of render but before commit (#18838) //<Sebastian Markbåge>//
- **[40e602946](https://github.com/facebook/react/commit/40e602946 )**: wrap SuspenseInstanceRetry callback so scheduler waits for it (#18805) //<Fernando Lores>//
- **[3cde22a84](https://github.com/facebook/react/commit/3cde22a84 )**: Experimental test selector API (#18607) //<Brian Vaughn>//
- **[7992ca10d](https://github.com/facebook/react/commit/7992ca10d )**: eslint-plugin-react-hooks: allow OptionalMemberExpression in deps (#18819) (#18820) //<Kevin Lewis>//
- **[fe7163e73](https://github.com/facebook/react/commit/fe7163e73 )**: Add unstable prefix to experimental APIs (#18825) //<Andrew Clark>//
- **[cd4a96035](https://github.com/facebook/react/commit/cd4a96035 )**: Remove old CM exports (#18710) //<Sebastian Markbåge>//
- **[9751935ab](https://github.com/facebook/react/commit/9751935ab )**: Modern Event System: improve dispatching queue (#18799) //<Dominic Gannaway>//
- **[3e13d7098](https://github.com/facebook/react/commit/3e13d7098 )**: [RN] Remove debugging invariant (#18813) //<Dan Abramov>//
- **[d830cd998](https://github.com/facebook/react/commit/d830cd998 )**: [Blocks] Fix stale data on updates (#18810) //<Dan Abramov>//
- **[64d4b8420](https://github.com/facebook/react/commit/64d4b8420 )**: Rename Flight to Transport (#18808) //<Sebastian Markbåge>//
- **[93e078ddf](https://github.com/facebook/react/commit/93e078ddf )**: Initial Lanes implementation (#18796) //<Andrew Clark>//
- **[3c7d52c3d](https://github.com/facebook/react/commit/3c7d52c3d )**: Give unresolved lazy() a name in component stack (#16104) //<Moti Zilberman>//
- **[333deb707](https://github.com/facebook/react/commit/333deb707 )**: Remove hint to post feedback about exhaustive-deps rule (#18712) //<Benedikt Franke>//
- **[aa88589d0](https://github.com/facebook/react/commit/aa88589d0 )**: Refine experimental Scopes API (#18778) //<Dominic Gannaway>//
- **[d804f99b9](https://github.com/facebook/react/commit/d804f99b9 )**: eslint-plugin-react-hooks@4.0.0 //<Dan Abramov>//
- **[4e93b9364](https://github.com/facebook/react/commit/4e93b9364 )**: Add changelog for eslint-plugin-react-hooks (#18801) //<Dan Abramov>//
- **[5ac9ca72d](https://github.com/facebook/react/commit/5ac9ca72d )**: Feature: Add support to `exhaustive-deps` rule for any hook ending with `Effect` (#18580) //<Aaron Pettengill>//
- **[eab94403d](https://github.com/facebook/react/commit/eab94403d )**: Build Flight runtime for WWW (revert part of earlier change) //<Dan Abramov>//
- **[17dcc29cd](https://github.com/facebook/react/commit/17dcc29cd )**: Don't "schedule" discrete work if we're scheduling sync work (#18797) //<Sebastian Markbåge>//
- **[9491f3947](https://github.com/facebook/react/commit/9491f3947 )**: react-refresh@0.8.2 //<Dan Abramov>//
- **[43a1c7275](https://github.com/facebook/react/commit/43a1c7275 )**: Don't build react-data for WWW //<Dan Abramov>//
- **[01914a767](https://github.com/facebook/react/commit/01914a767 )**: Update bundle configs to not build some packages (#18800) //<Dan Abramov>//
- **[21670cf4b](https://github.com/facebook/react/commit/21670cf4b )**: [react-refresh/babel] Always insert registrations after var (#18794) //<Sophie Alpert>//
- **[914b57be2](https://github.com/facebook/react/commit/914b57be2 )**: Move legacy hidden API to new internal Fiber type (#18782) //<Andrew Clark>//
- **[ac533fde3](https://github.com/facebook/react/commit/ac533fde3 )**: Prevent stale legacy root from clearing a container (DRAFT) (#18792) //<Brian Vaughn>//
- **[5b89d353e](https://github.com/facebook/react/commit/5b89d353e )**: Update react-refresh README //<Dan Abramov>//
- **[3a9c37352](https://github.com/facebook/react/commit/3a9c37352 )**: [Blocks] Add preload to fetch (#18785) //<Dan Abramov>//
- **[dd7f0deb9](https://github.com/facebook/react/commit/dd7f0deb9 )**: [Blocks] Use native fetch (#18784) //<Dan Abramov>//
- **[515326753](https://github.com/facebook/react/commit/515326753 )**: [Blocks] Initial implementation of cache and data/fetch (#18774) //<Dan Abramov>//
- **[ea2af878c](https://github.com/facebook/react/commit/ea2af878c )**: Root API should clear non-empty roots before mounting (#18730) //<Brian Vaughn>//
- **[53ce0c345](https://github.com/facebook/react/commit/53ce0c345 )**: Allow flushSync to noop in life cycles but with a warning (#18759) //<Sebastian Markbåge>//
- **[f342a2399](https://github.com/facebook/react/commit/f342a2399 )**: SuspenseList: Reschedule at same priority (#18738) //<Andrew Clark>//
- **[cb7075399](https://github.com/facebook/react/commit/cb7075399 )**: Move hide/unhide logic to Offscreen component //<Andrew Clark>//
- **[cb48f974c](https://github.com/facebook/react/commit/cb48f974c )**: Wrap primary tree in Offscreen fiber type //<Andrew Clark>//
- **[ed01fdacc](https://github.com/facebook/react/commit/ed01fdacc )**: Add Offscreen component type //<Luna Ruan>//
- **[1df756ba2](https://github.com/facebook/react/commit/1df756ba2 )**: Always wrap Suspense children in fragment (#18711) //<Andrew Clark>//
- **[db6513914](https://github.com/facebook/react/commit/db6513914 )**: Make ExpirationTime an opaque type (#18732) //<Andrew Clark>//
- **[4b02b6611](https://github.com/facebook/react/commit/4b02b6611 )**: [ESLint] Extend isHook to recognize those under PascalCase's namespace (#18722) //<Chang Yan>//
- **[30cee2f4c](https://github.com/facebook/react/commit/30cee2f4c )**: Modern Event System: register onMouseEnter for portals (#18720) //<Dominic Gannaway>//
- **[b58dec979](https://github.com/facebook/react/commit/b58dec979 )**: Remove unnecessary stack (#18707) //<Sebastian Markbåge>//
- **[a2fb84beb](https://github.com/facebook/react/commit/a2fb84beb )**: Disable prepareStackTrace while we're generating stacks (#18708) //<Sebastian Markbåge>//
- **[b0cb137bc](https://github.com/facebook/react/commit/b0cb137bc )**: Don't dedupe using the stack (#18693) //<Sebastian Markbåge>//
- **[571f5ad2d](https://github.com/facebook/react/commit/571f5ad2d )**: Temporarily Remove DebugTracing from the New Reconciler (#18697) //<Sebastian Markbåge>//
- **[2325375f4](https://github.com/facebook/react/commit/2325375f4 )**: Nit: add suffix _TIMEOUT consistently in scheduler (#18696) //<Sebastian Markbåge>//
- **[36cab2720](https://github.com/facebook/react/commit/36cab2720 )**: DevTools: Improved "native" component stacks (#18656) //<Brian Vaughn>//
- **[940f48b99](https://github.com/facebook/react/commit/940f48b99 )**: Avoid passing custom stacks to console.error (#18685) //<Sebastian Markbåge>//
- **[ff431b7fc](https://github.com/facebook/react/commit/ff431b7fc )**: Remove ReactDOM.useEvent and associated types+tests (#18689) //<Dominic Gannaway>//
- **[80d39d8b5](https://github.com/facebook/react/commit/80d39d8b5 )**: Remove null sibling (#18687) //<Dominic Gannaway>//
- **[0960b7ba5](https://github.com/facebook/react/commit/0960b7ba5 )**: Upgrade fbjs-scripts (#18684) //<Sebastian Markbåge>//
- **[a152827ef](https://github.com/facebook/react/commit/a152827ef )**: Refine the heuristics around beforeblur/afterblur (#18668) //<Dominic Gannaway>//
- **[96203240d](https://github.com/facebook/react/commit/96203240d )**: ReactDOM: remove unstable-native-dependencies bundle (#18483) //<Nicolas Gallagher>//
- **[263bc5d54](https://github.com/facebook/react/commit/263bc5d54 )**: Fix incorrect unmounted state update warning (#18617) //<Brian Vaughn>//
- **[cfefc81ab](https://github.com/facebook/react/commit/cfefc81ab )**: Fix for #18657 (#18663) //<Andrew Clark>//
- **[e7163a9c2](https://github.com/facebook/react/commit/e7163a9c2 )**: Revise isFiberInsideHiddenOrRemovedTree (#18662) //<Dominic Gannaway>//
- **[a4b1e65af](https://github.com/facebook/react/commit/a4b1e65af )**: Remove redundant expiration time comparisons (#18620) //<Andrew Clark>//
- **[0301f3e24](https://github.com/facebook/react/commit/0301f3e24 )**: Statically disable factory components for WWW (#18641) //<Dan Abramov>//
- **[c12c2c4c8](https://github.com/facebook/react/commit/c12c2c4c8 )**: Run error replay test again new reconciler (#18628) //<Andrew Clark>//
- **[7b4403cec](https://github.com/facebook/react/commit/7b4403cec )**: Fix requiring timers module with non standard require (#18632) //<Boris Serdiuk>//
- **[71964c034](https://github.com/facebook/react/commit/71964c034 )**: Fix CI (#18626) //<Brian Vaughn>//
- **[22dc2e42b](https://github.com/facebook/react/commit/22dc2e42b )**: Add experimental DebugTracing logger for internal use (#18531) //<Brian Vaughn>//
- **[b68017484](https://github.com/facebook/react/commit/b68017484 )**: Delete mutableSourceFirstPendingUpdateTime (#18613) //<Andrew Clark>//
- **[d53988a9d](https://github.com/facebook/react/commit/d53988a9d )**: ReactDOM.useEvent: add useEvent interaction hook (#18604) //<Dominic Gannaway>//
- **[bf55ea743](https://github.com/facebook/react/commit/bf55ea743 )**: Move beforeblur phase to prepareForCommit (#18609) //<Dominic Gannaway>//
- **[843b50cbe](https://github.com/facebook/react/commit/843b50cbe )**: Remove `.internal` from more test suites (#18597) //<Andrew Clark>//
- **[b928fc030](https://github.com/facebook/react/commit/b928fc030 )**: Delete flushSuspenseFallbacksInTests flag (#18596) //<Andrew Clark>//
- **[bec759906](https://github.com/facebook/react/commit/bec759906 )**: Migrate conditional tests to gate pragma (#18585) //<Andrew Clark>//
- **[65237a237](https://github.com/facebook/react/commit/65237a237 )**: Codemod it.experimental to gate pragma (#18582) //<Andrew Clark>//
- **[72d00ab62](https://github.com/facebook/react/commit/72d00ab62 )**: Fix Component Stacks for IE and Native Classes in Safari (#18575) //<Sebastian Markbåge>//
- **[98d410f50](https://github.com/facebook/react/commit/98d410f50 )**: Build Component Stacks from Native Stack Frames (#18561) //<Sebastian Markbåge>//
- **[50bdd75a6](https://github.com/facebook/react/commit/50bdd75a6 )**: Bubble errors if processing the error itself errors (#18567) //<Sebastian Markbåge>//
- **[348ed0e93](https://github.com/facebook/react/commit/348ed0e93 )**: Don't return from perform/completeUnitOfWork  (#18566) //<Sebastian Markbåge>//
- **[b04c7fa28](https://github.com/facebook/react/commit/b04c7fa28 )**: Decouple expiration times and transition timeouts (#17920) //<Andrew Clark>//
- **[dc630d337](https://github.com/facebook/react/commit/dc630d337 )**: Fork ReactFiberExpirationTime //<Andrew Clark>//
- **[e5d06e34b](https://github.com/facebook/react/commit/e5d06e34b )**: Revert "Clear more Fiber fields in detachFiber (#18556)" (#18562) //<Dan Abramov>//
- **[cbab25bb5](https://github.com/facebook/react/commit/cbab25bb5 )**: Exclude forwardRef and memo from stack frames (#18559) //<Sebastian Markbåge>//
- **[d48dbb824](https://github.com/facebook/react/commit/d48dbb824 )**: Clear more Fiber fields in detachFiber (#18556) //<Dominic Gannaway>//
- **[0566b706e](https://github.com/facebook/react/commit/0566b706e )**: Fix fiber memory leak with runAllPassiveEffectDestroysBeforeCreates (#18554) //<Dominic Gannaway>//
- **[ca1a703d2](https://github.com/facebook/react/commit/ca1a703d2 )**: Make enableLegacyFBSupport flag dynamic for www (#18551) //<Dominic Gannaway>//
- **[4c6470cb3](https://github.com/facebook/react/commit/4c6470cb3 )**: Point ReactDOMForked to the new implementation //<Andrew Clark>//
- **[17f582e04](https://github.com/facebook/react/commit/17f582e04 )**: Add forked copies of reconciler modules //<Andrew Clark>//
- **[376d5c1b5](https://github.com/facebook/react/commit/376d5c1b5 )**: Split cross-package types from implementation //<Andrew Clark>//
- **[d686f3f16](https://github.com/facebook/react/commit/d686f3f16 )**: Add `.old` prefix to reconciler modules //<Andrew Clark>//
- **[147bdef11](https://github.com/facebook/react/commit/147bdef11 )**: Port more tests to the Scheduler.unstable_yieldValue pattern and drop internal.js (#18549) //<Sebastian Markbåge>//
- **[b014e2d5e](https://github.com/facebook/react/commit/b014e2d5e )**: Don't use closures in DevTools injection (#18278) //<Sebastian Markbåge>//
- **[5474a83e2](https://github.com/facebook/react/commit/5474a83e2 )**: Disable console.logs in the second render pass of DEV mode double render (#18547) //<Sebastian Markbåge>//
- **[b225d4f26](https://github.com/facebook/react/commit/b225d4f26 )**: Revert "Revert "Refactor commitPlacement to recursively insert nodes (#17996)" (#18517)" (#18540) //<Dan Abramov>//
- **[241103a6f](https://github.com/facebook/react/commit/241103a6f )**: Fix bailout broken in lazy components due to default props resolving (#18539) //<jddxf>//
- **[2dddd1e00](https://github.com/facebook/react/commit/2dddd1e00 )**: Bugfix: Render phase update causes remaining updates in same component to be dropped (#18537) //<Andrew Clark>//
- **[2def7b3ca](https://github.com/facebook/react/commit/2def7b3ca )**: More robust fix for #18515 (#18535) //<Andrew Clark>//
- **[948fad357](https://github.com/facebook/react/commit/948fad357 )**: Improve detachFiber (#18536) //<Dominic Gannaway>//
- **[ddc4b65cf](https://github.com/facebook/react/commit/ddc4b65cf )**: Clear finished discrete updates during commit phase (#18515) //<jddxf>//
- **[dc49ea108](https://github.com/facebook/react/commit/dc49ea108 )**: Filter certain DOM attributes (e.g. src) if value is empty string (#18513) //<Brian Vaughn>//
- **[e69ca310e](https://github.com/facebook/react/commit/e69ca310e )**: Revert "Refactor commitPlacement to recursively insert nodes (#17996)" (#18517) //<Dan Abramov>//
- **[3278d2421](https://github.com/facebook/react/commit/3278d2421 )**: Add useOpaqueIdentifier Hook (#17322) //<Luna Ruan>//
- **[416942019](https://github.com/facebook/react/commit/416942019 )**: Refactor Component Stack Traces (#18495) //<Sebastian Markbåge>//
- **[a3875663f](https://github.com/facebook/react/commit/a3875663f )**: React Event System: cleanup plugins + break out update batching logic (#18503) //<Dominic Gannaway>//
- **[fe2cb5255](https://github.com/facebook/react/commit/fe2cb5255 )**: [eslint] Consider `useRef() as ...` as constant (#18496) //<Sophie Alpert>//
- **[2ff27ec11](https://github.com/facebook/react/commit/2ff27ec11 )**: [eslint] strip tailing property in assignments (#16784) //<Zen>//
- **[5022fdfd5](https://github.com/facebook/react/commit/5022fdfd5 )**: Refactor Error Dialog Logging (#18487) //<Sebastian Markbåge>//
- **[e2dd30898](https://github.com/facebook/react/commit/e2dd30898 )**: [Flight] Lazily parse models and allow any value to suspend (#18476) //<Sebastian Markbåge>//
- **[59fd09cb6](https://github.com/facebook/react/commit/59fd09cb6 )**: [Flight] Add webpack plugin build (#18485) //<Sebastian Markbåge>//
- **[a876808f0](https://github.com/facebook/react/commit/a876808f0 )**: remove jsx plugin from react (#18484) //<Luna Ruan>//
- **[f312a3fc3](https://github.com/facebook/react/commit/f312a3fc3 )**: useMutableSource: bugfix for new getSnapshot with mutation (#18297) //<Brian Vaughn>//
- **[a8f2165e8](https://github.com/facebook/react/commit/a8f2165e8 )**: Update to Jest 25 (#18480) //<Dan Abramov>//
- **[3c16baf84](https://github.com/facebook/react/commit/3c16baf84 )**: Remove /dist/ UMD builds (#18473) //<Sebastian Markbåge>//
- **[4123d729e](https://github.com/facebook/react/commit/4123d729e )**: Revert "Revert: Enable new passive effect behavior for FB builds (#18467)" (#18468) //<Brian Vaughn>//
- **[8815e4cc7](https://github.com/facebook/react/commit/8815e4cc7 )**: Cleanup getListener and EventSystemFlags (#18469) //<Dominic Gannaway>//
- **[5e464546a](https://github.com/facebook/react/commit/5e464546a )**: ReactDOM.useEvent: fix scope propagation issue (#18464) //<Dominic Gannaway>//
- **[d5e4b3ae1](https://github.com/facebook/react/commit/d5e4b3ae1 )**: Modern Event System: refine flags and handling of enableLegacyFBSupport (#18466) //<Dominic Gannaway>//
- **[3966081cf](https://github.com/facebook/react/commit/3966081cf )**: Revert: Enable new passive effect behavior for FB builds (#18467) //<Dominic Gannaway>//
- **[7dfdff42a](https://github.com/facebook/react/commit/7dfdff42a )**: Run more flags in VARIANT tests (#18461) //<Dan Abramov>//
- **[31734540d](https://github.com/facebook/react/commit/31734540d )**: Remove a flag for style collision warning (#18462) //<Dan Abramov>//
- **[663c13d71](https://github.com/facebook/react/commit/663c13d71 )**: Refactor Enter/Leave listener accumulation (#18405) //<Dominic Gannaway>//
- **[58afba066](https://github.com/facebook/react/commit/58afba066 )**: Fix: Don't read primaryChild.childExpirationTime (#18457) //<Andrew Clark>//
- **[2ea7c6079](https://github.com/facebook/react/commit/2ea7c6079 )**: Fixed race condition in release script (#18456) //<Brian Vaughn>//
- **[3f4684489](https://github.com/facebook/react/commit/3f4684489 )**: [eslint-plugin-react-hooks] Added meta property (including docs) (#16607) //<Gabriel McAdams>//
- **[2bf60d9f9](https://github.com/facebook/react/commit/2bf60d9f9 )**: Fix ESLint rule crash (#18455) //<Dan Abramov>//
- **[3e94bce76](https://github.com/facebook/react/commit/3e94bce76 )**: Enable prefer-const lint rules (#18451) //<Sebastian Markbåge>//
- **[e6ea3d387](https://github.com/facebook/react/commit/e6ea3d387 )**: Use Closure Compiler to compile to ES5 instead of Babel (#18449) //<Sebastian Markbåge>//
- **[7516bdfce](https://github.com/facebook/react/commit/7516bdfce )**: feat(createContext): Include displayName in warning (#18386) //<Sebastian Silbermann>//
- **[5ee0efe83](https://github.com/facebook/react/commit/5ee0efe83 )**: Remove state update warning for passive effect cleanup functions (#18453) //<Brian Vaughn>//
- **[d8d2b6e89](https://github.com/facebook/react/commit/d8d2b6e89 )**: Disable module components dynamically for WWW (#18446) //<Dan Abramov>//
- **[e2c6702fc](https://github.com/facebook/react/commit/e2c6702fc )**: Remove ConcurrentMode and AsyncMode symbols (#18450) //<Sebastian Markbåge>//
- **[dc3c6c956](https://github.com/facebook/react/commit/dc3c6c956 )**: ReactDOM.useEvent: revert and add guard for null stateNode (#18441) //<Dominic Gannaway>//
- **[0f334553c](https://github.com/facebook/react/commit/0f334553c )**: Reset stateNode in resetWorkInProgress (#18448) //<Sebastian Markbåge>//
- **[153b5c305](https://github.com/facebook/react/commit/153b5c305 )**: Cleanup previous shims directories before re-copying (#18447) //<Brian Vaughn>//
- **[4de3a6032](https://github.com/facebook/react/commit/4de3a6032 )**: Remove disableMapsAsChildren flag (#18445) //<Brian Vaughn>//
- **[f4cc97027](https://github.com/facebook/react/commit/f4cc97027 )**: Enable new passive effect behavior for FB builds (#18444) //<Brian Vaughn>//
- **[9065e02d6](https://github.com/facebook/react/commit/9065e02d6 )**: Fix a warning typo (#18443) //<Dan Abramov>//
- **[1960131f1](https://github.com/facebook/react/commit/1960131f1 )**: Add opt-in support for dangerous autofix (#18437) //<Dan Abramov>//
- **[90e90ac8e](https://github.com/facebook/react/commit/90e90ac8e )**: Revert useEvent PRs (#18438) //<Andrew Clark>//
- **[da54641a1](https://github.com/facebook/react/commit/da54641a1 )**: [ESLint] Check deps when callback body is outside the Hook call, too (#18435) //<Dan Abramov>//
- **[bf30e370a](https://github.com/facebook/react/commit/bf30e370a )**: Remove User Timings (#18417) //<Dan Abramov>//
- **[dd7e5e4f5](https://github.com/facebook/react/commit/dd7e5e4f5 )**: Add getInspectorDataForViewAtPoint (take two) (#18388) //<Ricky>//
- **[d7382b6c4](https://github.com/facebook/react/commit/d7382b6c4 )**: Bugfix: Do not unhide a suspended tree without finishing the suspended update (#18411) //<Andrew Clark>//
- **[1f8c40451](https://github.com/facebook/react/commit/1f8c40451 )**: Make interaction tracing on by default in all WWW builds (#18419) //<Dan Abramov>//
- **[ba31ad40a](https://github.com/facebook/react/commit/ba31ad40a )**: feat(StrictMode): Double-invoke render for every component (#18430) //<Sebastian Silbermann>//
- **[689d27586](https://github.com/facebook/react/commit/689d27586 )**: Reset lastEffect when resuming SuspenseList (#18412) //<Sebastian Markbåge>//
- **[be4c8b19c](https://github.com/facebook/react/commit/be4c8b19c )**: Don't show destroy function state update warning when updating ancestors (#18409) //<Brian Vaughn>//
- **[35a2f7497](https://github.com/facebook/react/commit/35a2f7497 )**: Delete leftover assignment from #18384 //<Andrew Clark>//
- **[9d67847f7](https://github.com/facebook/react/commit/9d67847f7 )**: [Bugfix] Dropped updates inside a suspended tree (#18384) //<Andrew Clark>//
- **[5bd1bc29b](https://github.com/facebook/react/commit/5bd1bc29b )**: eslint-plugin-react-hooks@3.0.0 //<Dan Abramov>//
- **[e0ab1a429](https://github.com/facebook/react/commit/e0ab1a429 )**: ReactDOM.useEvent: enable on internal www and add inspection test (#18395) //<Dominic Gannaway>//
- **[a16b34974](https://github.com/facebook/react/commit/a16b34974 )**: ReactDOM.useEvent: Add support for experimental scopes API (#18375) //<Dominic Gannaway>//
- **[dbb060d56](https://github.com/facebook/react/commit/dbb060d56 )**: Pass BundlerConfig through to Relay Integration (#18393) //<Sebastian Markbåge>//
- **[ce6fe50b0](https://github.com/facebook/react/commit/ce6fe50b0 )**: Add server-runtime to create Server Blocks (#18392) //<Sebastian Markbåge>//
- **[64ed221c3](https://github.com/facebook/react/commit/64ed221c3 )**: Formalize the Wakeable and Thenable types (#18391) //<Sebastian Markbåge>//
- **[a6924d77b](https://github.com/facebook/react/commit/a6924d77b )**: Change .model getter to .readRoot method (#18382) //<Sebastian Markbåge>//
- **[6498f62ed](https://github.com/facebook/react/commit/6498f62ed )**: Fix a mistake in ReactChildren refactor (#18380) //<Dan Abramov>//
- **[2ba43edc2](https://github.com/facebook/react/commit/2ba43edc2 )**: Rename internal fields (#18377) //<Dan Abramov>//
- **[a317bd033](https://github.com/facebook/react/commit/a317bd033 )**: Flip the arguments of Blocks and make the query optional (#18374) //<Sebastian Markbåge>//
- **[fc7835c65](https://github.com/facebook/react/commit/fc7835c65 )**: Revert "Upgrade to jest 25 (#17896)" (#18376) //<Andrew Clark>//
- **[a56309fb8](https://github.com/facebook/react/commit/a56309fb8 )**: [Flight] Integrate Blocks into Flight (#18371) //<Sebastian Markbåge>//
- **[fc96a52be](https://github.com/facebook/react/commit/fc96a52be )**: Refactor React.Children to reduce indirection (#18332) //<Dan Abramov>//
- **[fd61f7ea5](https://github.com/facebook/react/commit/fd61f7ea5 )**: Refactor Lazy Components to use teh Suspense (and wrap Blocks in Lazy) (#18362) //<Sebastian Markbåge>//
- **[31a9e391f](https://github.com/facebook/react/commit/31a9e391f )**: Remove unnecessary lines for `hasBadMapPolyfill` issue for rollup (#16231) //<Mohammad Aziz>//
- **[c0cd1be90](https://github.com/facebook/react/commit/c0cd1be90 )**: [Flight] Move bundler configs to use Suspense instead of returning thenable (#18367) //<Sebastian Markbåge>//
- **[b779dd51e](https://github.com/facebook/react/commit/b779dd51e )**: Stop syncing ReactTypes to RN (#18366) //<Sebastian Markbåge>//
- **[c5d2fc712](https://github.com/facebook/react/commit/c5d2fc712 )**: Move some files out of /shared and rename to upper case (#18363) //<Sebastian Markbåge>//
- **[a600408b2](https://github.com/facebook/react/commit/a600408b2 )**: ReactDOM.useEvent: add `EventTarget` support (#18355) //<Dominic Gannaway>//
- **[dbd85a08d](https://github.com/facebook/react/commit/dbd85a08d )**: ReactDOM.useEvent: support custom types (#18351) //<Dominic Gannaway>//
- **[7c1478680](https://github.com/facebook/react/commit/7c1478680 )**: fix string ref cannot be auto converted warning for React.jsxDEV (#18354) //<Luna Ruan>//
- **[fc91508c1](https://github.com/facebook/react/commit/fc91508c1 )**: Follow ups to bundler configs (#18352) //<Sebastian Markbåge>//
- **[ffefb4e77](https://github.com/facebook/react/commit/ffefb4e77 )**: ModernEventSystem: refine Flow types (#18349) //<Dominic Gannaway>//
- **[6818a2aa0](https://github.com/facebook/react/commit/6818a2aa0 )**: Revert accidental changes to package.json (#18348) //<Andrew Clark>//
- **[ad445b127](https://github.com/facebook/react/commit/ad445b127 )**: Update package.jsons for 16.13.1 patch relase //<Andrew Clark>//
- **[8311cb5d2](https://github.com/facebook/react/commit/8311cb5d2 )**: Modern Event System: refactor legacy FB support logic (#18336) //<Dominic Gannaway>//
- **[d3368beee](https://github.com/facebook/react/commit/d3368beee )**: [eslint-plugin-react-hooks] Disallow hooks in class components (#18341) //<Ian Obermiller>//
- **[8206b4b86](https://github.com/facebook/react/commit/8206b4b86 )**: Wire up bundler configs (#18334) //<Sebastian Markbåge>//
- **[5152c4a9f](https://github.com/facebook/react/commit/5152c4a9f )**: Fixed inconcistency with surrounding punctuation (#18339) //<ItsByteMe>//
- **[94505b961](https://github.com/facebook/react/commit/94505b961 )**: Don't use EventListener Fork in Modern WWW Builds (#18333) //<Sebastian Markbåge>//
- **[aae83a4b9](https://github.com/facebook/react/commit/aae83a4b9 )**: Fix UMD Builds (ReactSharedInternals) //<Luna Ruan>//
- **[fe1f79b95](https://github.com/facebook/react/commit/fe1f79b95 )**: Don't fire the render phase update warning for class lifecycles (#18330) //<Dan Abramov>//
- **[22cab1cbd](https://github.com/facebook/react/commit/22cab1cbd )**: test(getComponentName): Increase test coverage (#18149) //<Sebastian Silbermann>//
- **[90f8fe6f5](https://github.com/facebook/react/commit/90f8fe6f5 )**: add jsx-runtime and jsx-dev-runtime (#18299) //<Luna Ruan>//
- **[26666427d](https://github.com/facebook/react/commit/26666427d )**: Don't support older isomorphic React with newer renderers (#18329) //<Dan Abramov>//
- **[3a0076e0e](https://github.com/facebook/react/commit/3a0076e0e )**: useEvent: Small tweaks and changes (#18328) //<Dominic Gannaway>//
- **[924091853](https://github.com/facebook/react/commit/924091853 )**: Bump react-shallow-renderer to 16.13.1 (#18187) //<Minh Nguyen>//
- **[c804f9aeb](https://github.com/facebook/react/commit/c804f9aeb )**: ReactDOM.useEvent: wire to event system to the hook (#18304) //<Dominic Gannaway>//
- **[297f7588c](https://github.com/facebook/react/commit/297f7588c )**: Moved passive effects flag to be beside execution context (#18322) //<Brian Vaughn>//
- **[95df39b6b](https://github.com/facebook/react/commit/95df39b6b )**: improve error message for cross-functional component updates (#18316) //<Jovi De Croock>//
- **[c0ed0a246](https://github.com/facebook/react/commit/c0ed0a246 )**: Replace passive effect context with boolean (#18309) //<Brian Vaughn>//
- **[730389b9d](https://github.com/facebook/react/commit/730389b9d )**: Warn against state updates from useEffect destroy functions (#18307) //<Brian Vaughn>//
- **[73ff8b909](https://github.com/facebook/react/commit/73ff8b909 )**: Run ReactElementJSX-test against bundles (#18301) //<Dan Abramov>//
- **[2a7cd5895](https://github.com/facebook/react/commit/2a7cd5895 )**: ReactDOM.useEvent: Add DOM host event listener logic (#18292) //<Dominic Gannaway>//
- **[d3ec42020](https://github.com/facebook/react/commit/d3ec42020 )**: Address feedback for accumulateTwoPhaseListeners (#18289) //<Dominic Gannaway>//
- **[cd48a0654](https://github.com/facebook/react/commit/cd48a0654 )**: Set up infra for react-reconciler fork (#18285) //<Andrew Clark>//
- **[615df434b](https://github.com/facebook/react/commit/615df434b )**: Remove manual feature flag overrides (#18291) //<Andrew Clark>//
- **[99d271228](https://github.com/facebook/react/commit/99d271228 )**: ReactDOM.useEvent: more scaffolding changes (#18282) //<Dominic Gannaway>//
- **[8b155d261](https://github.com/facebook/react/commit/8b155d261 )**: Flow type ReactDOMComponentTree (#18280) //<Dominic Gannaway>//
- **[322cdcd3a](https://github.com/facebook/react/commit/322cdcd3a )**: useMutableSource hook (#18000) //<Brian Vaughn>//
- **[30a998deb](https://github.com/facebook/react/commit/30a998deb )**: ModernEventSystem: refactor accumulateTwoPhaseListeners (#18274) //<Dominic Gannaway>//
- **[8fe066fda](https://github.com/facebook/react/commit/8fe066fda )**: Bugfix: "Captured" updates on legacy queue (#18265) //<Andrew Clark>//

Changelog:
[General][Changed] - React Native sync for revisions b5c6dd2...c9749d3

Reviewed By: gaearon

Differential Revision: D22640659

fbshipit-source-id: c3c146b87fa5663954bd94adbe689303aabbcd3c
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. Merged This PR has been merged. 🌐Networking Related to a networking API.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants