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

adds --port option to react-native run-ios as well as patches port … #16172

Closed
wants to merge 2 commits into from

Conversation

DaKaZ
Copy link

@DaKaZ DaKaZ commented Oct 2, 2017

The pull request adds the --port option to run-ios allowing a developer to build and launch a react-native app using a single command line like this:

react-native run-ios --port 8088

It defaults to the current port 8081.

This pull request fixes issue #9145 and issue #14113.

This patch also extends run-android to properly test and launch the packager with the specified port, extending the work done in PR: ##15316

Test Plan

  1. Create a new react-native app, or simply clone this branch and then update your version of react-native using yarn add file:./path/to/this/fork/of/react-native
  2. run react-native run-ios --port 8088
  3. watch the packager start on the desired port (8088 in this case) and watch your app in your simulator connect to the packager and launch the app.

@facebook-github-bot
Copy link
Contributor

Thank you for your pull request and welcome to our community. We require contributors to sign our Contributor License Agreement, and we don't seem to have you on file. In order for us to review and merge your code, please sign up at https://code.facebook.com/cla. If you are contributing on behalf of someone else (eg your employer), the individual CLA may not be sufficient and your employer may need the corporate CLA signed.

If you have received this in error or have any questions, please contact us at cla@fb.com. Thanks!

@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 Oct 2, 2017
@facebook-github-bot
Copy link
Contributor

Thank you for signing our Contributor License Agreement. We can now accept your code for this (and any) Facebook open source project. Thanks!

Copy link
Contributor

@janicduplessis janicduplessis left a comment

Choose a reason for hiding this comment

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

Thanks for the PR!

I think we should find a better way to pass the port when building the project, the current method is very likely to break in the future. The easiest way is probably to use the RCT_PACKAGER env variable with some xcode config magic that defines a preprocessor variable.

Also did we use the RCT_PACKAGER env var before? If not I think we should name it RCT_PACKAGER_PORT instead.

Rest looks good, just some small nits :)

@@ -170,11 +170,23 @@ function buildProject(xcodeProject, udid, scheme, configuration = 'Debug', launc
'-derivedDataPath', 'build',
];
console.log(`Building using "xcodebuild ${xcodebuildArgs.join(' ')}"`);
child_process.exec(`sed -i '.orig' "s/const NSUInteger kRCTBundleURLProviderDefaultPort = [0-9]*;/const NSUInteger kRCTBundleURLProviderDefaultPort = ${port};/g" "${__dirname}/../../React/Base/RCTBundleURLProvider.m"`, (err, stdout, stderr) => {
Copy link
Contributor

Choose a reason for hiding this comment

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

Can we use a preprocessor macro instead of modifying the source? I think we already set the RCT_PACKAGER env var so we could use that, if I remember correctly there's some config in xcode to hook up defines to env vars.

@@ -262,7 +262,7 @@ function runOnAllDevices(args, cmd, packageNameWithSuffix, packageName, adbPath)
}
}

function startServerInNewWindow() {
function startServerInNewWindow(port = 8081) {
Copy link
Contributor

Choose a reason for hiding this comment

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

Do we need this default arg? Let's try to only specify the default value once in the command config.

let xcpretty;
if (!verbose) {
xcpretty = xcprettyAvailable() && child_process.spawn('xcpretty', [], { stdio: ['pipe', process.stdout, process.stderr] });
xcpretty = xcprettyAvailable() && child_process.spawn('xcpretty', [], { stdio: ['pipe', process.stdout, process.stderr], env: { RCT_PACKAGER: port } });
Copy link
Contributor

Choose a reason for hiding this comment

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

I don't think we need to pass the packager port to xcpretty.

@@ -232,9 +244,11 @@ function printFoundDevices(devices) {
}
}

function getProcessOptions(launchPackager) {
function getProcessOptions(launchPackager, port=null) {
Copy link
Contributor

Choose a reason for hiding this comment

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

Can we remove default value here?

if (launchPackager) {
return {};
return {
env: Object.assign({}, process.env, { RCT_PACKAGER: port } )
Copy link
Contributor

Choose a reason for hiding this comment

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

Nit: We can use object spread instead of Object.assign here:
return {env: {...process.env, RCT_PACKAGER: port}};

@@ -19,8 +19,8 @@ const fetch = require('node-fetch');
* - `unrecognized`: one other process is running on the port we expect the
* packager to be running.
*/
function isPackagerRunning() {
return fetch('http://localhost:8081/status').then(
function isPackagerRunning(packagerPort = (process.env.RCT_PACKAGER || 8081)) {
Copy link
Contributor

Choose a reason for hiding this comment

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

Same here can we get rid of the default value?

@@ -271,6 +271,11 @@ function startServerInNewWindow() {
const procConfig = {cwd: scriptsDir};
const terminal = process.env.REACT_TERMINAL;

// setup the .packager.env file to ensure the packager starts on the right port
const packagerEnvFile = `${__dirname}/../../scripts/.packager.env`;
Copy link
Contributor

Choose a reason for hiding this comment

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

Use path.join

// setup the .packager.env file to ensure the packager starts on the right port
const packagerEnvFile = `${__dirname}/../../scripts/.packager.env`;
const content = `export RCT_PACKAGER=${port}`;
fs.writeFileSync(packagerEnvFile,content,{encoding:'utf8',flag:'w'}); // passing the 'w' flag will overwrite the file
Copy link
Contributor

Choose a reason for hiding this comment

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

Nit: Spaces after commas and colons

function isPackagerRunning() {
return fetch('http://localhost:8081/status').then(
function isPackagerRunning(packagerPort = (process.env.RCT_PACKAGER || 8081)) {
return fetch('http://localhost:' + packagerPort + '/status').then(
Copy link
Contributor

Choose a reason for hiding this comment

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

Nit: Use string interpolation here.

@DaKaZ DaKaZ requested a review from shergin as a code owner October 3, 2017 19:59
@DaKaZ
Copy link
Author

DaKaZ commented Oct 3, 2017

@janicduplessis thanks for the extremely quick and complete review. I too did not like the sed approach but was unsure how to fix. I found the answer ;) I also addressed all the other smaller style issues in my latest commit. Thanks!

@@ -19,8 +19,8 @@ const fetch = require('node-fetch');
* - `unrecognized`: one other process is running on the port we expect the
* packager to be running.
*/
function isPackagerRunning() {
return fetch('http://localhost:8081/status').then(
function isPackagerRunning(packagerPort = (process.env.RCT_PACKAGER_PORT || 8081)) {
Copy link
Author

Choose a reason for hiding this comment

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

Please note: I left the default here because it is possible for someone to use this function outside of the build scripts.

@DaKaZ
Copy link
Author

DaKaZ commented Oct 6, 2017

@janicduplessis just a quick ping to make sure you saw that I addressed all the issues in your initial review. I know that there a more pressing issues than this PR so just wanted to make sure you saw that the PR is updated. Thanks

@janicduplessis
Copy link
Contributor

Nice work!

@shergin Will this work with fb internal build? (need to define RCT_PACKAGER_PORT)

@syzer
Copy link

syzer commented Oct 19, 2017

Guys please merge.. we need that feature

@cauboy
Copy link

cauboy commented Oct 19, 2017

Good work 👍
Please merge

@pull-bot
Copy link

pull-bot commented Oct 19, 2017

Warnings
⚠️

📋 Release Notes - This PR appears to be missing Release Notes.

@facebook-github-bot label Needs more information

Attention: @shergin

Generated by 🚫 dangerJS

Copy link
Contributor

@shergin shergin left a comment

Choose a reason for hiding this comment

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

Please add #ifndef somewhere with default value. Internal infrastructure does not use xcode project files.

@shergin
Copy link
Contributor

shergin commented Oct 20, 2017

And this is not "packager", this is "Metro", so please rename it to "metro" in code.

@DaKaZ
Copy link
Author

DaKaZ commented Oct 25, 2017

@shergin I have made your requested changes. Please take a look. Thanks

@pvinis
Copy link
Contributor

pvinis commented Nov 3, 2017

good job :D

one question, how is this supposed to work with normal start and compile?
by that i mean, if i do yarn start 8082 that calls node node_modules/react-native/local-cli/cli.js start --port 8082 on the terminal, and then go to xcode and press run, will that work? would i have to put 8082 somewhere else manually?

this is a nice thing for running a production build on the same machine that you are developing at the same time. you develop in one port running the scheme with that port, and you have another port and a compilation for that other port.

@DaKaZ
Copy link
Author

DaKaZ commented Nov 3, 2017

@pvinis the easiest way to do this is to not run start and run in separate processes. Instead, you can simply do this and it will start the metro packager:

react-native run-ios --port 8082

If you have already started the packager, you would need to tell your build with the port number the same way as above.

@DaKaZ
Copy link
Author

DaKaZ commented Nov 3, 2017

@shergin and @grabbou is there anything I can do to help in the review and merge process?

@pvinis
Copy link
Contributor

pvinis commented Nov 4, 2017

I don't work with run-ios. I prefer to start the packager and then run from xcode because I need to do changes on the native part.

if I can suggest a change in the pr, it could be to extract the ifndefs to a file, so they are not copy pasted in so many places. better to centralize these kind of constants.
thanks.

@janicduplessis
Copy link
Contributor

@pvinis
Copy link
Contributor

pvinis commented Nov 4, 2017

yes that's perfect

@DaKaZ DaKaZ force-pushed the iOS_packager_port branch from 7588c6c to e36a4f6 Compare November 6, 2017 17:00
@DaKaZ
Copy link
Author

DaKaZ commented Nov 6, 2017

@janicduplessis @pvinis I have made the requested change and also merged the latest master back into the branch

@syzer
Copy link

syzer commented Dec 19, 2017

@gregholliday you can use proxy to use with other port.
Shall I explain how to?
Also you have my deepest condolences for working with locked in laptop.

Maybe you could do RDP/VPN to home server/amazon aws and develop from there?
Again all best.

@DaKaZ
Copy link
Author

DaKaZ commented Dec 20, 2017

@syzer that does not work with McAffee unless you run your RN development in a docker container. I work in a secure environment and we have to patch react-native after every yarn install to use a different port - thus the motivation for fixing this.

@remyrylan
Copy link

remyrylan commented Dec 20, 2017

Paging @samwgoldman @hramos @sahrens -- this is a highly desired issue (just google search "react native port" to see) and the PR author has been waiting nearly a month just for feedback in order to complete this PR and get it merged into master.

Can we please get this PR assigned to a different set of reviewers who are more available?

@hramos
Copy link
Contributor

hramos commented Dec 20, 2017

Hey all - @shergin is one of our engineers in the React Native team and has provided a lot of feedback on the PR, so I'd hardly say this has not gotten attention from our team. We have to be very careful when merging PRs to ensure they do not introduce issues, especially around holidays when fewer people may be around. Hang tight and we'll get back to this PR soon.

@remyrylan
Copy link

@hramos The issue definitely did receive attention, it's the fact that it's been 27 days since @shergin has responded to requests for further feedback. No one is discrediting the hard work that @shergin and the rest of the team does -- we're all very grateful and respect the talented contributions.

The particular concern here is that with 27 days without feedback, we start getting into territory where the PR runs the risk of becoming a waste of time as the author has to not only wait on feedback but also keep up-to-date with incoming changes within the master branch that may break their changes.

Point being: if we all want to foster the spirit of the community being involved, we need to avoid unnecessary burden for volunteers. If PRs are going to take longer to review, perhaps the RFC strategy adopted by React recently is a better option where decisions can be discussed in the open and once a consensus is reached, then development can begin by a volunteer or staff.

@DaKaZ
Copy link
Author

DaKaZ commented Dec 20, 2017

@hramos I did not mean to disrespect @shergin - I do recognize the massive amount of work going into react-native and the number of PRs that are merged daily. Admittedly, I am a bit jealous that other PRs get so much love so quickly, but thats really just an ego issue I'll need to work through.

The problem here is that the review was not very timely and it is incredibly vague - I asked follow up questions almost immediately so that I could conform to the proper standard and better understand what (if any) issue was raised. And there is nothing - there is no guidance on how to proceed, no expectation that it might be weeks or months before more feedback can be provided. Let me ask you, how do you respond to a code review comment like this one:

Maaaaaagic...

That is not helpful. So yes... I am a bit frustrated, I want to contribute not only this PR but others in the future. So please take this as constructive criticism, we can all improve, my self included :) If its going to take a month or two before a PR is reviewed because of the holidays, competing priorities, or you just don't like the author - great - just state that. Thats all I ask...

@shergin
Copy link
Contributor

shergin commented Dec 20, 2017

I am really sorry guys, by "Maaaagic" I meant "I wish I knew what exactly this unreadable inliner does and why we changed this".
I am with you guys, I wish I have more time for reviewing PRs.

@shergin
Copy link
Contributor

shergin commented Dec 20, 2017

Okay, since Janic @janicduplessis is okay with it, let's try to land it.

Copy link
Contributor

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

Choose a reason for hiding this comment

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

@shergin has imported this pull request. If you are a Facebook employee, you can view this diff on Phabricator.

@DaKaZ
Copy link
Author

DaKaZ commented Dec 29, 2017

@shergin how is this going, any kind of status update?

@facebook-github-bot
Copy link
Contributor

@DaKaZ I tried to find reviewers for this pull request and wanted to ping them to take another look. However, based on the blame information for the files in this pull request I couldn't find any reviewers. This sometimes happens when the files in the pull request are new or don't exist on master anymore. Is this pull request still relevant? If yes could you please rebase? In case you know who has context on this code feel free to mention them in a comment (one person is fine). Thanks for reading and hope you will continue contributing to the project.

Michael S. Kazmier added 2 commits January 4, 2018 11:13
# This is the 1st commit message:

adds --port option to `react-native run-ios` as well as patches port option with run-android to properly detect and start the packager

# This is the commit message facebook#2:

refactor iOS build to use preprocessor variable set from env variable; clean up sytle issues

# This is the commit message facebook#3:

add ifndef for default ports and change name of env var to RCT_METRO_PORT

# This is the commit message facebook#4:

move defines to RCTDefines.h

# This is the commit message facebook#5:

add new line

# This is the commit message facebook#6:

fix code formating issue
…option with run-android to properly detect and start the packager

refactor iOS build to use preprocessor variable set from env variable; clean up sytle issues

add ifndef for default ports and change name of env var to RCT_METRO_PORT

move defines to RCTDefines.h

add new line

fix code formating issue

checks for empty RCT_METRO_PORT define and replaces it with default

adds --port option to `react-native run-ios` as well as patches port option with run-android to properly detect and start the packager

refactor iOS build to use preprocessor variable set from env variable; clean up sytle issues

add ifndef for default ports and change name of env var to RCT_METRO_PORT

move defines to RCTDefines.h

add new line

fix code formating issue

checks for empty RCT_METRO_PORT define and replaces it with default
@DaKaZ DaKaZ force-pushed the iOS_packager_port branch from d5d5152 to 8251757 Compare January 4, 2018 18:16
@pull-bot
Copy link

pull-bot commented Jan 4, 2018

Warnings
⚠️

📋 Release Notes - This PR appears to be missing Release Notes.

@facebook-github-bot label Needs more information

Attention: @shergin

Generated by 🚫 dangerJS

@DaKaZ
Copy link
Author

DaKaZ commented Jan 4, 2018

@facebook-github-bot I have rebased and squashed my commits for easy review

@DaKaZ
Copy link
Author

DaKaZ commented Jan 4, 2018

@shergin @janicduplessis @hramos Is there anything else I need to do? The bot says I am missing release notes, but I cannot find any documentation on contributing them. The CONTRIBUTING.mb file makes no mention of them.

@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 Jan 5, 2018
Copy link
Contributor

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

Choose a reason for hiding this comment

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

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

@DaKaZ
Copy link
Author

DaKaZ commented Jan 5, 2018

Yahoo! Thanks @shergin!!

mathiasbynens pushed a commit to mathiasbynens/react-native that referenced this pull request Jan 13, 2018
Summary:
The pull request adds the `--port` option to `run-ios` allowing a developer to build and launch a react-native app using a single command line like this:
```
react-native run-ios --port 8088
```

It defaults to the current port 8081.

This pull request fixes issue facebook#9145 and issue facebook#14113.

This patch also extends `run-android` to properly test and launch the packager with the specified port, extending the work done in PR:  #facebook#15316

1. Create a new react-native app, or simply clone this branch and then update your version of react-native using `yarn add file:./path/to/this/fork/of/react-native`
2. run `react-native run-ios --port 8088`
3. watch the packager start on the desired port (8088 in this case) and watch your app in your simulator connect to the packager and launch the app.
Closes facebook#16172

Differential Revision: D6612534

Pulled By: shergin

fbshipit-source-id: 50af449f5e4c32fb76ba95f4cb7bf179e35526d5
@MrLoh
Copy link

MrLoh commented Jan 19, 2018

very cool. Any idea when this will land?

@hramos
Copy link
Contributor

hramos commented Jan 19, 2018

The process for figuring that out is the same for any commit:

  1. Visit 33d710e
  2. Scroll down and look for the list of tags

screen shot 2018-01-19 at 11 43 32 am

In this case, you can see it's tagged with v0.53.0-rc.1, meaning it's already part of the 0.53 release.

@MrLoh
Copy link

MrLoh commented Jan 19, 2018

Cool thanks for the explanation I didn’t know that.

@MrLoh
Copy link

MrLoh commented Feb 16, 2018

@pvinis so is there a way to set RCT_METRO_PORT somewhere as an environment variable to run from xCode with a specified port. Usually run-ios is fine for me, but sometimes I need xcode, and I don't wanna edit library files.

@DaKaZ
Copy link
Author

DaKaZ commented Feb 16, 2018

@MrLoh you can add that to your ~/.profile or ~/.bash_profile as

export RCT_METRO_PORT=8088

grabbou pushed a commit to react-native-community/cli that referenced this pull request Sep 26, 2018
Summary:
The pull request adds the `--port` option to `run-ios` allowing a developer to build and launch a react-native app using a single command line like this:
```
react-native run-ios --port 8088
```

It defaults to the current port 8081.

This pull request fixes issue #9145 and issue #14113.

This patch also extends `run-android` to properly test and launch the packager with the specified port, extending the work done in PR:  ##15316

1. Create a new react-native app, or simply clone this branch and then update your version of react-native using `yarn add file:./path/to/this/fork/of/react-native`
2. run `react-native run-ios --port 8088`
3. watch the packager start on the desired port (8088 in this case) and watch your app in your simulator connect to the packager and launch the app.
Closes facebook/react-native#16172

Differential Revision: D6612534

Pulled By: shergin

fbshipit-source-id: 50af449f5e4c32fb76ba95f4cb7bf179e35526d5
facebook-github-bot pushed a commit that referenced this pull request Jul 30, 2019
Summary:
This sync includes the following changes:
- **[55bc393f7](https://github.com/facebook/react/^Cmmit/55bc393f7 )**: [Flare] Ensure we check for bad polyfill when creating responders (#16243) //<Dominic Gannaway>//
- **[47656bf2a](https://github.com/facebook/react/^Cmmit/47656bf2a )**: [Flare] Remove longpress from press responder (#16242) //<Nicolas Gallagher>//
- **[9914a1919](https://github.com/facebook/react/^Cmmit/9914a1919 )**: [Fresh] Transfer refs when remounting (#16241) //<Dan Abramov>//
- **[75ab53b9e](https://github.com/facebook/react/^Cmmit/75ab53b9e )**: [scheduler] Yield many times per frame, no rAF (#16214) //<Andrew Clark>//
- **[0d7141dd4](https://github.com/facebook/react/^Cmmit/0d7141dd4 )**: [Flare] Fix SSR issue with serializing responders prop (#16227) //<Dominic Gannaway>//
- **[ed57bf8ed](https://github.com/facebook/react/^Cmmit/ed57bf8ed )**: [Bugfix] Check tag before calling hook effects (#16215) //<Andrew Clark>//
- **[858c84206](https://github.com/facebook/react/^Cmmit/858c84206 )**: Don't hyphenate custom CSS properties for ReactDOMServer (#16167) //<Belmin Bedak>//
- **[d412eec83](https://github.com/facebook/react/^Cmmit/d412eec83 )**: [act] flush work correctly without a mocked scheduler (#16223) //<Sunil Pai>//
- **[b43785e15](https://github.com/facebook/react/^Cmmit/b43785e15 )**: Update use-subscription README (#16216) //<Sophie Alpert>//
- **[c0830a0e6](https://github.com/facebook/react/^Cmmit/c0830a0e6 )**: [Scheduler] Test browser implementation details (#16198) //<Andrew Clark>//
- **[857deb2ed](https://github.com/facebook/react/^Cmmit/857deb2ed )**: Warn when Using DefaultProps on Function Components (#16210) //<lunaruan>//
- **[e0472709c](https://github.com/facebook/react/^Cmmit/e0472709c )**: [Flare] Adds Keyboard event responder (#16204) //<Dominic Gannaway>//
- **[5b08f7b43](https://github.com/facebook/react/^Cmmit/5b08f7b43 )**: [Flare] Adds useListener implementation to ReactDebugHooks (#16205) //<Dominic Gannaway>//
- **[ed72f4025](https://github.com/facebook/react/^Cmmit/ed72f4025 )**: [Flare] Remove references to EventComponent (#16206) //<Dominic Gannaway>//
- **[121bfb03b](https://github.com/facebook/react/^Cmmit/121bfb03b )**: update legacy context warning message (#16196) //<Sunil Pai>//
- **[9ae5e38f1](https://github.com/facebook/react/^Cmmit/9ae5e38f1 )**: Add guard to ensure Profiler onRender prop is function before calling (#16197) //<Brian Vaughn>//
- **[144dba1a1](https://github.com/facebook/react/^Cmmit/144dba1a1 )**: Fix suspenseCallback type warning, add a test (#16194) //<Benoit Girard>//
- **[7ad221126](https://github.com/facebook/react/^Cmmit/7ad221126 )**: [Flare] Ensure Flare components are no-ops for TestRenderer (#16192) //<Dominic Gannaway>//
- **[06cc99699](https://github.com/facebook/react/^Cmmit/06cc99699 )**: Edit Suspense Priority Warning Message (#16186) //<lunaruan>//
- **[42b75ab00](https://github.com/facebook/react/^Cmmit/42b75ab00 )**: Add suspenseCallback feature for runtime tracing of loading states (#16134) //<Benoit Girard>//
- **[c73e1f236](https://github.com/facebook/react/^Cmmit/c73e1f236 )**: flush work on exiting outermost act(), with nested act()s from different renderers (#16181) //<Sunil Pai>//
- **[509889119](https://github.com/facebook/react/^Cmmit/509889119 )**: [Flare] Redesign core event system (#16163) //<Dominic Gannaway>//
- **[19354db51](https://github.com/facebook/react/^Cmmit/19354db51 )**: [Scheduler] Add names to inline functions (#16180) //<Andrew Clark>//
- **[bff7abf6b](https://github.com/facebook/react/^Cmmit/bff7abf6b )**: [Scheduler][Bugfix] Multiple rAFs in same frame (#16184) //<Andrew Clark>//
- **[afb599168](https://github.com/facebook/react/^Cmmit/afb599168 )**: Enable profiler+tracing for test renderer (#16178) //<Brian Vaughn>//
- **[2237efcef](https://github.com/facebook/react/^Cmmit/2237efcef )**: [Fresh] Track unrecoverable errors (#16183) //<Dan Abramov>//
- **[bbd21066e](https://github.com/facebook/react/^Cmmit/bbd21066e )**: [Flare] Press: fix keyboard interactions (#16179) //<Nicolas Gallagher>//
- **[03944bfb0](https://github.com/facebook/react/^Cmmit/03944bfb0 )**: Update Suspense Priority Warning to Include Component that Triggered Update (#16030) //<lunaruan>//
- **[3f2cafe8b](https://github.com/facebook/react/^Cmmit/3f2cafe8b )**: [WIP][Scheduler] Use rIC to post first callback (#16166) //<Andrew Clark>//
- **[2bd88e38a](https://github.com/facebook/react/^Cmmit/2bd88e38a )**: [Scheduler] Bugfix: Cancelling a continuation (#16151) //<Andrew Clark>//
- **[783b8f4ae](https://github.com/facebook/react/^Cmmit/783b8f4ae )**: [Flare] Ensure mouse events can use target to validate press (#16172) //<Dominic Gannaway>//
- **[2c4d61e10](https://github.com/facebook/react/^Cmmit/2c4d61e10 )**: Adds experimental fundamental interface (#16049) //<Dominic Gannaway>//
- **[b4178af81](https://github.com/facebook/react/^Cmmit/b4178af81 )**: clean up nextEffect pointers (#16115) //<Paul Shen>//
- **[997154bcc](https://github.com/facebook/react/^Cmmit/997154bcc )**: [Flare] Add FocusWithin responder (#16152) //<Nicolas Gallagher>//
- **[65b80fdd9](https://github.com/facebook/react/^Cmmit/65b80fdd9 )**: [Flare] Add Input event responder surface (#16148) //<Dominic Gannaway>//
- **[ce883a19d](https://github.com/facebook/react/^Cmmit/ce883a19d )**: useSubscription hook (#15022) //<Brian Vaughn>//
- **[c45c2c3a2](https://github.com/facebook/react/^Cmmit/c45c2c3a2 )**: Move ReactFiberErrorDialog RN fork into RN itself (#16141) //<Moti Zilberman>//
- **[d9b4c55d5](https://github.com/facebook/react/^Cmmit/d9b4c55d5 )**: unify deprecated/unsafe lifecycle warnings, pass tests (#16103) //<Sunil Pai>//
- **[424099da6](https://github.com/facebook/react/^Cmmit/424099da6 )**: Inject getCurrentFiber() function to DevTools (#16133) //<Brian Vaughn>//
- **[9f395904c](https://github.com/facebook/react/^Cmmit/9f395904c )**: Inject ReactDebugCurrentFrame into DevTools so it can append component stacks to warnings in DEV mode (#16127) //<Brian Vaughn>//
- **[fcff9c57b](https://github.com/facebook/react/^Cmmit/fcff9c57b )**: Add tail="hidden" option to SuspenseList (#16024) //<Sebastian Markbåge>//
- **[8d413bf2c](https://github.com/facebook/react/^Cmmit/8d413bf2c )**: Remove React.error and React.warn (#16126) //<Brian Vaughn>//
- **[ca4d78f9b](https://github.com/facebook/react/^Cmmit/ca4d78f9b )**: [Flare] Press: fix middle-click handling (#16114) //<Nicolas Gallagher>//
- **[3f1dee09a](https://github.com/facebook/react/^Cmmit/3f1dee09a )**: expose act() sigil correctly for umd builds (#16110) //<Sunil Pai>//
- **[b7669044d](https://github.com/facebook/react/^Cmmit/b7669044d )**: Use Map instead of object as map in ReactNativeComponentTree (#16107) //<Sebastian Markbåge>//
- **[d2d9b1f70](https://github.com/facebook/react/^Cmmit/d2d9b1f70 )**: [Scheduler] Support inferring priority from stack (#16105) //<Andrew Clark>//
- **[48f659447](https://github.com/facebook/react/^Cmmit/48f659447 )**: Add warning when single item or nested arrays are used with SuspenseList (#16094) //<Sebastian Markbåge>//
- **[2073a7144](https://github.com/facebook/react/^Cmmit/2073a7144 )**: [Flare] Press includes button type (#16100) //<Nicolas Gallagher>//
- **[23b8a2534](https://github.com/facebook/react/^Cmmit/23b8a2534 )**: [Flare] Remove responder flags to simplify logic (#16084) //<Dominic Gannaway>//
- **[8533c0a16](https://github.com/facebook/react/^Cmmit/8533c0a16 )**: [Fabric] Add dispatchCommand to React Native renderers (#16085) //<Eli White>//
- **[2253bc81d](https://github.com/facebook/react/^Cmmit/2253bc81d )**: [Flare] Switch from currentTarget model to responderTarget model (#16082) //<Dominic Gannaway>//
- **[67e3f3fb6](https://github.com/facebook/react/^Cmmit/67e3f3fb6 )**: [Flare] Revise responder event types (#16081) //<Dominic Gannaway>//
- **[2a0f6390e](https://github.com/facebook/react/^Cmmit/2a0f6390e )**: Fix typos (#16076) //<Min ho Kim>//
- **[aa519c17c](https://github.com/facebook/react/^Cmmit/aa519c17c )**: [Flare] Add currentTarget and unify RN and DOM codepaths (#16066) //<Dominic Gannaway>//
- **[35d2b3bb5](https://github.com/facebook/react/^Cmmit/35d2b3bb5 )**: fix spelling error: resoltion ->  resolution (#16055) //<fnll>//
- **[bd72b0493](https://github.com/facebook/react/^Cmmit/bd72b0493 )**: [Flare] Clear pressStart timeout on pointercancel (#16067) //<Vincent Riemer>//
- **[c40075a72](https://github.com/facebook/react/^Cmmit/c40075a72 )**: [Flare] Remove capture phase Flare events (#16054) //<Dominic Gannaway>//
- **[786186c69](https://github.com/facebook/react/^Cmmit/786186c69 )**: [Flare] createInitialState -> getInitialState (#16051) //<Dominic Gannaway>//
- **[c64f40d71](https://github.com/facebook/react/^Cmmit/c64f40d71 )**: [Flare] Remove dead event target code (#16063) //<Dominic Gannaway>//
- **[e6bfa327d](https://github.com/facebook/react/^Cmmit/e6bfa327d )**: [Flare] Cleanup ReactFiberEvents-test (#16047) //<Dominic Gannaway>//
- **[b365ee281](https://github.com/facebook/react/^Cmmit/b365ee281 )**: [Fire] Remove unused React fire fork (#16046) //<Dominic Gannaway>//
- **[b8f91e664](https://github.com/facebook/react/^Cmmit/b8f91e664 )**: [fail] reset IsThisRendererActing correctly (#16042) //<Sunil Pai>//
- **[bd846459d](https://github.com/facebook/react/^Cmmit/bd846459d )**: [fail] Only warn on unacted effects for strict / non sync modes (#16041) //<Sunil Pai>//
- **[6b946ad9d](https://github.com/facebook/react/^Cmmit/6b946ad9d )**: [Flare] Add more functionality to Scroll event resonder (#16036) //<Dominic Gannaway>//
- **[a457e02ae](https://github.com/facebook/react/^Cmmit/a457e02ae )**: allow nested `act()`s from different renderers (#16039) //<Sunil Pai>//
- **[a865e4a64](https://github.com/facebook/react/^Cmmit/a865e4a64 )**: Clone a custom hook node before use (#16019) //<Anton Korzunov>//
- **[6cf2234a5](https://github.com/facebook/react/^Cmmit/6cf2234a5 )**: [Flare] Do not block mouse presses on scroll (#16033) //<Dominic Gannaway>//
- **[5cb8f6f34](https://github.com/facebook/react/^Cmmit/5cb8f6f34 )**: Add tail="collapsed" option to SuspenseList (#16007) //<Sebastian Markbåge>//
- **[46bd11ac3](https://github.com/facebook/react/^Cmmit/46bd11ac3 )**: Flush sync bug (#16027) //<lunaruan>//
- **[933c664ad](https://github.com/facebook/react/^Cmmit/933c664ad )**: SuspenseList Optimizations (#16005) //<Sebastian Markbåge>//
- **[fbbbea16e](https://github.com/facebook/react/^Cmmit/fbbbea16e )**: fix word async -> concurrent (#15844) //<Heaven>//
- **[eb2ace128](https://github.com/facebook/react/^Cmmit/eb2ace128 )**: [Flare] Bring Flare support to React Native Fabric (#15887) //<Dominic Gannaway>//
- **[9b0bd4355](https://github.com/facebook/react/^Cmmit/9b0bd4355 )**: [Flare] Re-label Flare flag (#16014) //<Dominic Gannaway>//
- **[8b88ac259](https://github.com/facebook/react/^Cmmit/8b88ac259 )**: [Flare] Remove event targets including TouchHitTarget (#16011) //<Dominic Gannaway>//
- **[f11540926](https://github.com/facebook/react/^Cmmit/f11540926 )**: Handle changes at module boundaries (#16002) //<Dan Abramov>//
- **[915dfe697](https://github.com/facebook/react/^Cmmit/915dfe697 )**: Slightly improve performance of hydration. (#15998) //<Benedikt Meurer>//
- **[824e9bec7](https://github.com/facebook/react/^Cmmit/824e9bec7 )**: [Flare] Fix issues with touch + pointer interactions (#15997) //<Dominic Gannaway>//
- **[dd93357aa](https://github.com/facebook/react/^Cmmit/dd93357aa )**: [Flare] Move click handling back into target phase (#15993) //<Dominic Gannaway>//
- **[4d307de45](https://github.com/facebook/react/^Cmmit/4d307de45 )**: Prefix mock Scheduler APIs with _unstable (#15999) //<Andrew Clark>//
- **[9b55bcfc6](https://github.com/facebook/react/^Cmmit/9b55bcfc6 )**: [Flare] Add Hooks to event modules (#15953) //<Brandon Dail>//
- **[20da1dae4](https://github.com/facebook/react/^Cmmit/20da1dae4 )**: Fix error logging in getDerivedStateFromProps (#15797) //<Ricky>//
- **[6088a201e](https://github.com/facebook/react/^Cmmit/6088a201e )**: [Flare] Fix Press scroll cancellation handling (#15983) //<Dominic Gannaway>//
- **[fd601fb21](https://github.com/facebook/react/^Cmmit/fd601fb21 )**: [Flare] Move all event responders to dom directory (#15981) //<Dominic Gannaway>//
- **[827cbc4d0](https://github.com/facebook/react/^Cmmit/827cbc4d0 )**: Rename StatelessComponent to FunctionComponent in react-is/README.md (#15963) //<Veniamin Krol>//
- **[d48db594e](https://github.com/facebook/react/^Cmmit/d48db594e )**: eslint-plugin-react-hooks@1.6.1 //<Dan Abramov>//
- **[7439b48cf](https://github.com/facebook/react/^Cmmit/7439b48cf )**: Add explicit support for ESLint 6.0.0 (#15974) //<Thomas Broyer>//
- **[fce15f14d](https://github.com/facebook/react/^Cmmit/fce15f14d )**: don't fire missing act() warnings for react-art (#15975) //<Sunil Pai>//
- **[20f354696](https://github.com/facebook/react/^Cmmit/20f354696 )**: [Flare] Ensure Press event hook does not execute side-effects (#15976) //<Dominic Gannaway>//
- **[d420d2ccb](https://github.com/facebook/react/^Cmmit/d420d2ccb )**: [Fresh] Retry failed roots on refresh (#15966) //<Dan Abramov>//
- **[04b77c630](https://github.com/facebook/react/^Cmmit/04b77c630 )**: followup to #15763, fix failing test in ReactDOMTracing-test (#15972) //<Sunil Pai>//
- **[e1c5e8720](https://github.com/facebook/react/^Cmmit/e1c5e8720 )**: warn if passive effects get queued outside of an act() call. (#15763) //<Sunil Pai>//
- **[39b97e8eb](https://github.com/facebook/react/^Cmmit/39b97e8eb )**: Report refreshed families to the caller (#15957) //<Dan Abramov>//
- **[d271df5c9](https://github.com/facebook/react/^Cmmit/d271df5c9 )**: Use function expression for custom Hook signature argument (#15956) //<Dan Abramov>//
- **[4189f712c](https://github.com/facebook/react/^Cmmit/4189f712c )**: [Scheduler] Increase max frame length to 300 //<Andrew Clark>//
- **[595c9414b](https://github.com/facebook/react/^Cmmit/595c9414b )**: [Scheduler] Fix navigator.isInputPending call //<Andrew Clark>//
- **[e7fcfe104](https://github.com/facebook/react/^Cmmit/e7fcfe104 )**: [scheduler] Put isPendingInput behind a flag (#15962) //<Andrew Clark>//
- **[6568a7993](https://github.com/facebook/react/^Cmmit/6568a7993 )**: [Scheduler] requestPaint (#15960) //<Andrew Clark>//
- **[8d4ddd33a](https://github.com/facebook/react/^Cmmit/8d4ddd33a )**: [Scheduler] Yield less if there's no pending input (#15959) //<Andrew Clark>//
- **[d77d12510](https://github.com/facebook/react/^Cmmit/d77d12510 )**: Expire rendering the tail of SuspenseList after a timeout (#15946) //<Sebastian Markbåge>//
- **[dc298fdf9](https://github.com/facebook/react/^Cmmit/dc298fdf9 )**: [Flare] Refinements to useEvent hook (#15955) //<Dominic Gannaway>//
- **[696609d49](https://github.com/facebook/react/^Cmmit/696609d49 )**: [Fiber] Clear down dependencies during detachFiber (#15947) //<Dominic Gannaway>//
- **[a5ed2f98f](https://github.com/facebook/react/^Cmmit/a5ed2f98f )**: [Flare] Guard against stateNode being null (#15952) //<Dominic Gannaway>//
- **[34ce57ae7](https://github.com/facebook/react/^Cmmit/34ce57ae7 )**: [Flare] Refine flow type annotations (#15950) //<Dominic Gannaway>//
- **[4f92fbce5](https://github.com/facebook/react/^Cmmit/4f92fbce5 )**: [Flare] Move createEvent back to React object (#15943) //<Dominic Gannaway>//
- **[175111de7](https://github.com/facebook/react/^Cmmit/175111de7 )**: Lazily initialize dependencies object (#15944) //<Andrew Clark>//
- **[720db4cbe](https://github.com/facebook/react/^Cmmit/720db4cbe )**: [Flare] Add useEvent hook implementation (#15927) //<Dominic Gannaway>//
- **[6ff4c9de1](https://github.com/facebook/react/^Cmmit/6ff4c9de1 )**: [Flare] Press: fix stale deactivation region state (#15931) //<Nicolas Gallagher>//
- **[7a4c3e3b7](https://github.com/facebook/react/^Cmmit/7a4c3e3b7 )**: Make global names more obscure (#15941) //<Dan Abramov>//
- **[270dc2e4d](https://github.com/facebook/react/^Cmmit/270dc2e4d )**: Add forwards and backwards options to SuspenseList (#15918) //<Sebastian Markbåge>//
- **[5368f7316](https://github.com/facebook/react/^Cmmit/5368f7316 )**: [Flare] Fix keyboard keyup regression (#15938) //<Dominic Gannaway>//
- **[3d0af2aea](https://github.com/facebook/react/^Cmmit/3d0af2aea )**: Don't consider require-like calls to be likely HOCs (#15940) //<Dan Abramov>//
- **[d4f384d25](https://github.com/facebook/react/^Cmmit/d4f384d25 )**: [Fresh] Throw in prod and change annotation (#15939) //<Dan Abramov>//
- **[ff91bfa58](https://github.com/facebook/react/^Cmmit/ff91bfa58 )**: [act] reset scope depth on synchronous errors (#15937) //<Sunil Pai>//
- **[e61c9e0a2](https://github.com/facebook/react/^Cmmit/e61c9e0a2 )**: [Flare] Fix Press retention state regression (#15936) //<Dominic Gannaway>//
- **[76864f7ff](https://github.com/facebook/react/^Cmmit/76864f7ff )**: Add SuspenseList Component (#15902) //<Sebastian Markbåge>//
- **[e9d0a3ff2](https://github.com/facebook/react/^Cmmit/e9d0a3ff2 )**: [Fresh] Track mounted roots via DevTools Hook (#15928) //<Dan Abramov>//
- **[35ef78de3](https://github.com/facebook/react/^Cmmit/35ef78de3 )**: [Scheduler] Integrated timers (#15911) //<Andrew Clark>//
- **[3af91eb8c](https://github.com/facebook/react/^Cmmit/3af91eb8c )**: [Scheduler] Use continuation pattern for posting host callback (#15910) //<Andrew Clark>//
- **[b62ae1642](https://github.com/facebook/react/^Cmmit/b62ae1642 )**: [Flare] Rename createEventComponent -> createEvent (#15929) //<Dominic Gannaway>//
- **[f4e1ac8ca](https://github.com/facebook/react/^Cmmit/f4e1ac8ca )**: [Flare] Press events include defaultPrevented (#15916) //<Nicolas Gallagher>//
- **[4a7a39b59](https://github.com/facebook/react/^Cmmit/4a7a39b59 )**: [Flare] Add RN build step for ReactTypes (#15926) //<Dominic Gannaway>//
- **[0bd755114](https://github.com/facebook/react/^Cmmit/0bd755114 )**: Remove mention of Prepack (#15922) //<Christoph Nakazawa>//
- **[689beef6f](https://github.com/facebook/react/^Cmmit/689beef6f )**: [Flare] Move unstable_createEventComponent to ReactDOM (#15890) //<Dominic Gannaway>//
- **[98454371a](https://github.com/facebook/react/^Cmmit/98454371a )**: Construct Error at invariant call site for clearer stack traces (#15877) //<Moti Zilberman>//
- **[f97b95166](https://github.com/facebook/react/^Cmmit/f97b95166 )**: [Flare] add disableContextMenu to Press (#15909) //<Nicolas Gallagher>//
- **[cd98e63b4](https://github.com/facebook/react/^Cmmit/cd98e63b4 )**: [Fresh] Fall back to Map/Set if Weak equivalents are not available (#15907) //<Dan Abramov>//
- **[a3c5b1fb8](https://github.com/facebook/react/^Cmmit/a3c5b1fb8 )**: [Fresh] Rename findHostNodesForHotUpdate to findHostInstancesForHotUpdate (#15904) //<Dan Abramov>//
- **[7985bf7d5](https://github.com/facebook/react/^Cmmit/7985bf7d5 )**: Remove outdated test renderer comments (#15898) //<Sebastian Markbåge>//
- **[f0156766d](https://github.com/facebook/react/^Cmmit/f0156766d )**: [Fresh] react-fresh => react-refresh (#15888) //<Dan Abramov>//
- **[801feed95](https://github.com/facebook/react/^Cmmit/801feed95 )**: Interaction tracing works across hidden and SSR hydration boundaries (#15872) //<Brian Vaughn>//
- **[661562fc5](https://github.com/facebook/react/^Cmmit/661562fc5 )**: Fix outdated test comments (#15892) //<Andrew Clark>//
- **[788da69b7](https://github.com/facebook/react/^Cmmit/788da69b7 )**: [Suspense] Fix bad loading state not being delayed (#15891) //<Andrew Clark>//
- **[353e0ee47](https://github.com/facebook/react/^Cmmit/353e0ee47 )**: [Flare] remove stopLocalPropagation option + modify responder ownership (#15889) //<Dominic Gannaway>//
- **[a146c1f9e](https://github.com/facebook/react/^Cmmit/a146c1f9e )**: [Flare] Refactor of Press to fix various issues (#15878) //<Dominic Gannaway>//
- **[de7a09c1e](https://github.com/facebook/react/^Cmmit/de7a09c1e )**: [Fresh] Make transform resilient to plugin order (#15883) //<Dan Abramov>//
- **[2fe8fd290](https://github.com/facebook/react/^Cmmit/2fe8fd290 )**: [Suspense] Use style.setProperty to set display (#15882) //<Andrew Clark>//
- **[e91dd70ba](https://github.com/facebook/react/^Cmmit/e91dd70ba )**: Remove disableYielding feature flag (#15654) //<Andrew Clark>//
- **[4d949d764](https://github.com/facebook/react/^Cmmit/4d949d764 )**: [React Native] Replace touch discrepancy errors to warnings (#15866) //<Timothy Yung>//
- **[45acbdc0b](https://github.com/facebook/react/^Cmmit/45acbdc0b )**: [Flare] Unsure root events are removed on contextmenu (#15862) //<Dominic Gannaway>//
- **[198ed661c](https://github.com/facebook/react/^Cmmit/198ed661c )**: [Suspense] Use !important to hide Suspended nodes (#15861) //<Andrew Clark>//
- **[191920605](https://github.com/facebook/react/^Cmmit/191920605 )**: [Fresh] Implement missing features (#15860) //<Dan Abramov>//
- **[c403ae4d3](https://github.com/facebook/react/^Cmmit/c403ae4d3 )**: [Flare] Move Press root event removal till click phase (#15854) //<Dominic Gannaway>//
- **[f4cd7a38d](https://github.com/facebook/react/^Cmmit/f4cd7a38d )**:  [Flare] Listen to document.body + add stopPropagation to Press (#15853) //<Dominic Gannaway>//
- **[425473f43](https://github.com/facebook/react/^Cmmit/425473f43 )**: [Flare] Improve runtime performance of hit target intersection (#15836) //<Dominic Gannaway>//
- **[def56c979](https://github.com/facebook/react/^Cmmit/def56c979 )**: [Fresh] Capture Hook signatures lazily on first render (#15832) //<Dan Abramov>//
- **[8cfcfe0fc](https://github.com/facebook/react/^Cmmit/8cfcfe0fc )**: [Flare] Fix ES6 issues with IE11 (#15834) //<Dominic Gannaway>//
- **[d0e041aee](https://github.com/facebook/react/^Cmmit/d0e041aee )**: [Fresh] Support classes by force-remounting them on edit (#15801) //<Dan Abramov>//
- **[73c27d8b4](https://github.com/facebook/react/^Cmmit/73c27d8b4 )**: [Flare] Add basic Scroll event responder module (#15827) //<Dominic Gannaway>//
- **[c72dceffb](https://github.com/facebook/react/^Cmmit/c72dceffb )**: [Flare] Small Swipe/Drag fixes (#15825) //<Dominic Gannaway>//
- **[6aaa43708](https://github.com/facebook/react/^Cmmit/6aaa43708 )**: Rename ReactFeatureFlags to remove the `.fb` suffix. (#15826) //<Christoph Nakazawa>//
- **[843a59ab6](https://github.com/facebook/react/^Cmmit/843a59ab6 )**: [React Native] Remove eventTypes from ReactNativeBridgeEventPlugin (#15802) //<Ricky>//
- **[7b28ad119](https://github.com/facebook/react/^Cmmit/7b28ad119 )**: [Flare] EventPriority enum (#15823) //<Andrew Clark>//
- **[d707a7579](https://github.com/facebook/react/^Cmmit/d707a7579 )**: nit: a quick copy edit for an act() message/comment (#15805) //<Sunil Pai>//
- **[cfb79ee5b](https://github.com/facebook/react/^Cmmit/cfb79ee5b )**: [Flare] Fix isTouchEvent (#15824) //<Dominic Gannaway>//
- **[6b5deeed5](https://github.com/facebook/react/^Cmmit/6b5deeed5 )**: [Events] Add support for events that are both user-blocking and continuous (#15811) //<Andrew Clark>//
- **[8d4fb132e](https://github.com/facebook/react/^Cmmit/8d4fb132e )**: [Flare] Fix nativeEvent.x/y for older browsers (#15820) //<Dominic Gannaway>//
- **[2534c0c92](https://github.com/facebook/react/^Cmmit/2534c0c92 )**: [Flare] Add event position properties to Hover responder (#15819) //<Dominic Gannaway>//
- **[dd43cb5fb](https://github.com/facebook/react/^Cmmit/dd43cb5fb )**: [Flare] Fix isPressWithinResponderRegion logic (#15808) //<Nicolas Gallagher>//
- **[4f6cab547](https://github.com/facebook/react/^Cmmit/4f6cab547 )**: [Flare] Ignore keyboard interactions on text input children (#15810) //<Nicolas Gallagher>//
- **[fa1e8df11](https://github.com/facebook/react/^Cmmit/fa1e8df11 )**: chore: use jest-serializer-raw for react-fresh snapshots (#15806) //<Simen Bekkhus>//
- **[07da821bf](https://github.com/facebook/react/^Cmmit/07da821bf )**: [react-native] Rewrite Haste imports in RN shims and add .fb.js extension (#15786) //<James Ide>//
- **[a383c4678](https://github.com/facebook/react/^Cmmit/a383c4678 )**: [ESLint] don't warn for Flow type variables (#15804) //<Jordan Rome>//
- **[5763f1d4c](https://github.com/facebook/react/^Cmmit/5763f1d4c )**: [Events] Nested discrete events across systems //<Andrew Clark>//
- **[7aa35ceae](https://github.com/facebook/react/^Cmmit/7aa35ceae )**: Fix casing of shouldflushDiscreteUpdates //<Andrew Clark>//
- **[91635dd48](https://github.com/facebook/react/^Cmmit/91635dd48 )**: Switch to "discrete" and "continuous" terminology //<Andrew Clark>//
- **[73c380fca](https://github.com/facebook/react/^Cmmit/73c380fca )**: WorkPhase -> ExecutionContext //<Andrew Clark>//
- **[88b396382](https://github.com/facebook/react/^Cmmit/88b396382 )**: [Flare] Remove deprecated keypress event (#15795) //<Nicolas Gallagher>//
- **[63fe08eef](https://github.com/facebook/react/^Cmmit/63fe08eef )**: React Events: allow Tab+Alt on Mac in Focus responder (#15679) //<Mateusz Burzyński>//
- **[113497cc0](https://github.com/facebook/react/^Cmmit/113497cc0 )**: [Suspense] Change Suspending and Restarting Heuristics (#15769) //<Sebastian Markbåge>//
- **[3b2302253](https://github.com/facebook/react/^Cmmit/3b2302253 )**: Fix sizebot (#15771) //<Andrew Clark>//
- **[0f7cc2ba8](https://github.com/facebook/react/^Cmmit/0f7cc2ba8 )**: React Events: check window before using navigator (#15768) //<Nicolas Gallagher>//
- **[2670bc340](https://github.com/facebook/react/^Cmmit/2670bc340 )**: React Events: support legacy browser Spacebar key value (#15766) //<Nicolas Gallagher>//
- **[9aad17d60](https://github.com/facebook/react/^Cmmit/9aad17d60 )**: using the wrong renderer's act() should warn (#15756) //<Sunil Pai>//
- **[1cc3bba00](https://github.com/facebook/react/^Cmmit/1cc3bba00 )**: Parallelizes the build script across multiple processes (#15716) //<Andrew Clark>//
- **[112168f31](https://github.com/facebook/react/^Cmmit/112168f31 )**: Lint rule for unminified errors (#15757) //<Andrew Clark>//
- **[142cf56cb](https://github.com/facebook/react/^Cmmit/142cf56cb )**: [Flare] Adds onContextMenu and fixes some contextmenu related issues (#15761) //<Dominic Gannaway>//
- **[556cc6fe1](https://github.com/facebook/react/^Cmmit/556cc6fe1 )**: [Fresh] Generate signatures for Hooks (#15733) //<Dan Abramov>//
- **[b74fa9868](https://github.com/facebook/react/^Cmmit/b74fa9868 )**: Clean up (#15755) //<Sebastian Markbåge>//
- **[d915a4c1f](https://github.com/facebook/react/^Cmmit/d915a4c1f )**: [Suspense] Add Batched Mode variant to fuzz tester (#15734) //<Andrew Clark>//
- **[401065fe5](https://github.com/facebook/react/^Cmmit/401065fe5 )**: Adds test for #15732. (#15747) //<Caleb Meredith>//
- **[287ef30bb](https://github.com/facebook/react/^Cmmit/287ef30bb )**: [Flare] Deeply prevent default on anchor elements (#15750) //<Dominic Gannaway>//
- **[a97b5c07b](https://github.com/facebook/react/^Cmmit/a97b5c07b )**: [Flare] More fixes for getAbsoluteBoundingClientRect (#15746) //<Dominic Gannaway>//
- **[393924879](https://github.com/facebook/react/^Cmmit/393924879 )**: [Fresh] Babel plugin now handles HOCs + add integration tests (#15724) //<Dan Abramov>//
- **[8af1f8792](https://github.com/facebook/react/^Cmmit/8af1f8792 )**: Rename ReactFiberScheduler -> ReactFiberWorkLoop and extract throwException from Unwind (#15725) //<Sebastian Markbåge>//
- **[399cd0d16](https://github.com/facebook/react/^Cmmit/399cd0d16 )**: Set up cron job to run fuzz tester (#15718) //<Andrew Clark>//
- **[025b07b61](https://github.com/facebook/react/^Cmmit/025b07b61 )**: [Flare] Ensure getAbsoluteBoundingClientRect aligns with offsetParent (#15720) //<Dominic Gannaway>//
- **[61f62246c](https://github.com/facebook/react/^Cmmit/61f62246c )**: [react-native] Use path-based imports instead of Haste for the RN renderer (#15604) //<James Ide>//
- **[b962adfc2](https://github.com/facebook/react/^Cmmit/b962adfc2 )**: [Flare] event component displayName is now mandatory (#15717) //<Dominic Gannaway>//
- **[5c2124fc7](https://github.com/facebook/react/^Cmmit/5c2124fc7 )**: [Fresh] Initial Babel plugin implementation (#15711) //<Dan Abramov>//
- **[b9ebc37c5](https://github.com/facebook/react/^Cmmit/b9ebc37c5 )**: Fix Flow (#15710) //<Dominic Gannaway>//
- **[a25a793fe](https://github.com/facebook/react/^Cmmit/a25a793fe )**: [Flare] update getEventCurrentTarget to use fiber tree (#15708) //<Dominic Gannaway>//
- **[b5dff62fa](https://github.com/facebook/react/^Cmmit/b5dff62fa )**: [Flare] Account for fixed elements in getAbsoluteBoundingClientRect (#15707) //<Dominic Gannaway>//
- **[f50f9ba5d](https://github.com/facebook/react/^Cmmit/f50f9ba5d )**: Fix ReactFiberNewContext spelling (#15692) //<Maksim Markelov>//
- **[e180f656f](https://github.com/facebook/react/^Cmmit/e180f656f )**: Flare: change flushDiscreteUpdates invariant to warning (#15702) //<Dominic Gannaway>//
- **[7829d8cf9](https://github.com/facebook/react/^Cmmit/7829d8cf9 )**: Fix missing return pointer assignment (#15700) //<Andrew Clark>//
- **[d7afe23f1](https://github.com/facebook/react/^Cmmit/d7afe23f1 )**: Rename "loading" to "busy" in SuspenseConfig API (#15699) //<Sebastian Markbåge>//
- **[ef4ac42f8](https://github.com/facebook/react/^Cmmit/ef4ac42f8 )**: [Flare] Update interactiveUpdates flushing heuristics (#15687) //<Dominic Gannaway>//
- **[6d4f85b61](https://github.com/facebook/react/^Cmmit/6d4f85b61 )**: [Fresh] Set up infra for runtime and Babel plugin (#15698) //<Dan Abramov>//
- **[121acae09](https://github.com/facebook/react/^Cmmit/121acae09 )**: Flare: simplify dispatchEvent discrete argument (#15694) //<Dominic Gannaway>//
- **[a398cbd5a](https://github.com/facebook/react/^Cmmit/a398cbd5a )**: Flare: update invalid accessor warnings + add no-ops (#15693) //<Dominic Gannaway>//
- **[9c9ea9485](https://github.com/facebook/react/^Cmmit/9c9ea9485 )**: flush only on exiting outermost act() (#15682) //<Sunil Pai>//
- **[50b50c26f](https://github.com/facebook/react/^Cmmit/50b50c26f )**: Inform DevTools of commit priority level (#15664) //<Brian Vaughn>//
- **[0bd9b5d00](https://github.com/facebook/react/^Cmmit/0bd9b5d00 )**: [Fresh] Support re-rendering lazy() without losing state (#15686) //<Dan Abramov>//
- **[ec38def44](https://github.com/facebook/react/^Cmmit/ec38def44 )**: [Fresh] Don't traverse remounted trees (#15685) //<Dan Abramov>//
- **[5731e522d](https://github.com/facebook/react/^Cmmit/5731e522d )**: [Fresh] Support lazy() and add Suspense tests (#15681) //<Dan Abramov>//
- **[31487dd82](https://github.com/facebook/react/^Cmmit/31487dd82 )**: [Fresh] Set up initial scaffolding (#15619) //<Dan Abramov>//
- **[9c6de716d](https://github.com/facebook/react/^Cmmit/9c6de716d )**: Add withSuspenseConfig API (#15593) //<Sebastian Markbåge>//
- **[1160b3769](https://github.com/facebook/react/^Cmmit/1160b3769 )**: Event API: Add responder allowMultipleHostChildren flag (#15646) //<Dominic Gannaway>//
- **[95e06ac3d](https://github.com/facebook/react/^Cmmit/95e06ac3d )**: Event API: isTargetWithinEventResponderScope on unmounted event components (#15672) //<Dominic Gannaway>//
- **[d278a3ff8](https://github.com/facebook/react/^Cmmit/d278a3ff8 )**: `act()` - s / flushPassiveEffects / Scheduler.unstable_flushWithoutYielding (#15591) //<Sunil Pai>//
- **[aad5a264d](https://github.com/facebook/react/^Cmmit/aad5a264d )**: Event API: ensure calculateResponderRegion accounts for page offset (#15671) //<Dominic Gannaway>//
- **[bb89b4eac](https://github.com/facebook/react/^Cmmit/bb89b4eac )**: Bail out of updates in offscreen trees (#15666) //<Dan Abramov>//
- **[4bf88ddec](https://github.com/facebook/react/^Cmmit/4bf88ddec )**: Fix <embed> not triggering onLoad (#15614) //<Andrew Cherniavskii>//
- **[f961050a3](https://github.com/facebook/react/^Cmmit/f961050a3 )**: Always flushPassiveEffects before rendering //<Andrew Clark>//
- **[b899819e7](https://github.com/facebook/react/^Cmmit/b899819e7 )**: Use dynamic flag in test renderer in www (#15662) //<Andrew Clark>//
- **[d34b457ce](https://github.com/facebook/react/^Cmmit/d34b457ce )**: Feature flag to revert #15650 (#15659) //<Andrew Clark>//
- **[668fbd651](https://github.com/facebook/react/^Cmmit/668fbd651 )**: Fix serial passive effects (#15650) //<Andrew Clark>//
- **[b0657fde6](https://github.com/facebook/react/^Cmmit/b0657fde6 )**: Event API: ensure getFocusableElementsInScope handles suspended trees (#15651) //<Dominic Gannaway>//
- **[8af90c897](https://github.com/facebook/react/^Cmmit/8af90c897 )**: Add test for nested avoided boundaries (#15636) //<Sebastian Markbåge>//
- **[af19e2eb2](https://github.com/facebook/react/^Cmmit/af19e2eb2 )**: Event API: adds pointerType to Focus events (#15645) //<Dominic Gannaway>//
- **[cc24d0ea5](https://github.com/facebook/react/^Cmmit/cc24d0ea5 )**: Invariant that throws when committing wrong tree (#15517) //<Andrew Clark>//
- **[83fc258f2](https://github.com/facebook/react/^Cmmit/83fc258f2 )**: Remove <ConcurrentMode /> (#15532) //<Andrew Clark>//
- **[283ce5320](https://github.com/facebook/react/^Cmmit/283ce5320 )**: Add ReactDOM.unstable_createSyncRoot (#15504) //<Andrew Clark>//
- **[862f499fa](https://github.com/facebook/react/^Cmmit/862f499fa )**: Add Batched Mode (#15502) //<Andrew Clark>//
- **[fec74f99d](https://github.com/facebook/react/^Cmmit/fec74f99d )**: Event API: ensure preventDefault works for nested targets (#15633) //<Dominic Gannaway>//
- **[edfedf3ae](https://github.com/facebook/react/^Cmmit/edfedf3ae )**: Fork ReactSharedInternals for UMD builds (#15617) //<Andrew Clark>//
- **[39ef609e7](https://github.com/facebook/react/^Cmmit/39ef609e7 )**: Update test to fix CI //<Andrew Clark>//
- **[5b6eb55e1](https://github.com/facebook/react/^Cmmit/5b6eb55e1 )**: Remove scheduler from React package dependencies (#15616) //<Andrew Clark>//
- **[0803d2247](https://github.com/facebook/react/^Cmmit/0803d2247 )**: Don't consider "Never" expiration as part of most recent event time (#15606) //<Sebastian Markbåge>//
- **[90f54d77f](https://github.com/facebook/react/^Cmmit/90f54d77f )**: Event API: add follow up event unwind test (#15612) //<Dominic Gannaway>//
- **[91a044e31](https://github.com/facebook/react/^Cmmit/91a044e31 )**: Event API: add key modifiers to Press events (#15611) //<Dominic Gannaway>//
- **[3d8b836e2](https://github.com/facebook/react/^Cmmit/3d8b836e2 )**: Event API: ensure we pop context for event system fibers (#15599) //<Dominic Gannaway>//
- **[e33e32db0](https://github.com/facebook/react/^Cmmit/e33e32db0 )**: Event API: normalize event timeStamp property to be in event system (#15598) //<Dominic Gannaway>//
- **[3669b9010](https://github.com/facebook/react/^Cmmit/3669b9010 )**: Event API: add more warnings for responder based events (#15597) //<Dominic Gannaway>//
- **[05d08500b](https://github.com/facebook/react/^Cmmit/05d08500b )**: Experimental Event API: Press event properties (#15586) //<Dominic Gannaway>//
- **[51e66cf9f](https://github.com/facebook/react/^Cmmit/51e66cf9f )**: Experimental Event API: reduce code size of event modules (#15590) //<Dominic Gannaway>//
- **[8abf243b8](https://github.com/facebook/react/^Cmmit/8abf243b8 )**: Ensure touch events are properly handled for pageX and pageY (#15587) //<Dominic Gannaway>//
- **[c7398f339](https://github.com/facebook/react/^Cmmit/c7398f339 )**: Add Suspense Boundary Context (and unstable_avoidThisFallback) (#15578) //<Sebastian Markbåge>//
- **[f9e60c8a1](https://github.com/facebook/react/^Cmmit/f9e60c8a1 )**: Warn when suspending at wrong priority (#15492) //<Andrew Clark>//
- **[89d8d1435](https://github.com/facebook/react/^Cmmit/89d8d1435 )**: Add React.unstable_createEventComponent (#15580) //<Nicolas Gallagher>//
- **[6da04b5d8](https://github.com/facebook/react/^Cmmit/6da04b5d8 )**: Fix interaction tracing for batched update mounts (#15567) //<Brian Vaughn>//
- **[d38cfd452](https://github.com/facebook/react/^Cmmit/d38cfd452 )**: Ensure TouchHitTarget element is server side rendered with hit slop (#15385) //<Dominic Gannaway>//
- **[2e5d1a8b9](https://github.com/facebook/react/^Cmmit/2e5d1a8b9 )**: React Events: fix cancel events for Press (#15563) //<Nicolas Gallagher>//
- **[307e0a7d7](https://github.com/facebook/react/^Cmmit/307e0a7d7 )**: React Events: cancel onLongPress for large enough moves (#15562) //<Nicolas Gallagher>//
- **[339366c46](https://github.com/facebook/react/^Cmmit/339366c46 )**: Event API: Support press reentry for pointer events (#15560) //<Dominic Gannaway>//

Changelog:
[General][Changed] - React sync for revisions ec6691a...55bc393

Reviewed By: yungsters

Differential Revision: D16555458

fbshipit-source-id: 2d71da52992fbb05b682247cfee20385d70a681b
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. Import Started This pull request has been imported. This does not imply the PR has been approved.
Projects
None yet
Development

Successfully merging this pull request may close these issues.