-
Notifications
You must be signed in to change notification settings - Fork 24.4k
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
[Native Animated] Support for animated tracking in native driver #17896
Conversation
@facebook-github-bot label Core Team @facebook-github-bot large-pr Attention: @janicduplessis Generated by 🚫 dangerJS |
…r traversal of animated nodes graph
14aad73
to
27f5d43
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Awesome work, mostly just some small nits.
@@ -33,6 +33,7 @@ NS_ASSUME_NONNULL_BEGIN | |||
- (void)startAnimation; | |||
- (void)stepAnimationWithTime:(NSTimeInterval)currentTime; | |||
- (void)stopAnimation; | |||
- (void)resetAnimationConfig:(NSDictionary *)config; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we call this updateAnimationConfig
instead since it doesn't "reset" the animation completely but only updates certain parameters.
[super performUpdate]; | ||
|
||
// change animation config's "toValue" to reflect updated value of the parent node | ||
RCTValueAnimatedNode *node = (RCTValueAnimatedNode *)[self.parentNodes objectForKey:_nodeTag]; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nit: dictionary notation (a[@"b"]) for this and next line.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
parentNodes is of type NSMapTable
so that won't work. I can use it for the next line tho
{ | ||
if ((self = [super initWithTag:tag config:config])) { | ||
_animationId = config[@"animationId"]; | ||
_nodeTag = config[@"toValue"]; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe call this _toValueNodeTag, kind of confusing which is what because of _valueNodeTag.
* transision. E.g. in case of a spring animation we want to keep the current value and speed and | ||
* start animating with the new properties (different destination or spring settings) | ||
*/ | ||
public void resetConfig(ReadableMap config) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If we decide to update the name in the iOS impl update this too.
@@ -49,7 +57,7 @@ public void runAnimationStep(long frameTimeNanos) { | |||
mFromValue = mAnimatedValue.mValue; | |||
} | |||
long timeFromStartMillis = (frameTimeNanos - mStartFrameTimeNanos) / 1000000; | |||
int frameIndex = (int) (timeFromStartMillis / FRAME_TIME_MILLIS); | |||
int frameIndex = (int) Math.round(timeFromStartMillis / FRAME_TIME_MILLIS); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why was this change needed? Does it match the iOS / JS implementation better like this?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tried to explain that in my PR description, you might have missed it as it is at the very end:
In addition this PR fixes an issue with frames animation driver on Android that because of rounding issues was taking one extra frame to start. Because of that change I had to update a number of Android unit tests that were relying on that behavior and running that one additional animation step prior to performing checks.
So basically because of unfortunate rounding here frames driver on android would always "play" first frame twice. This could also be seen in all the unit tests where we run update loop twice at the beginning for all the framedriver tests. I am also updating these in the PR.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks like this line is starting to cause IllegalStateException in apps-
Caused by: java.lang.IllegalStateException: Calculated frame index should never be lower than 0
at com.facebook.react.animated.FrameBasedAnimationDriver.runAnimationStep(FrameBasedAnimationDriver.java:60)
at com.facebook.react.animated.NativeAnimatedNodesManager.runUpdates(NativeAnimatedNodesManager.java:444)
at com.facebook.react.animated.NativeAnimatedModule$1.doFrameGuarded(NativeAnimatedModule.java:100)
at com.facebook.react.uimanager.GuardedFrameCallback.doFrame(GuardedFrameCallback.java:29)
Is there a reason why timeFromStartMills will be negative ? The exception seems to have started with this PR merged in
TrackingAnimatedNode(ReadableMap config, NativeAnimatedNodesManager nativeAnimatedNodesManager) { | ||
mNativeAnimatedNodesManager = nativeAnimatedNodesManager; | ||
mAnimationId = config.getInt("animationId"); | ||
mParentNode = config.getInt("toValue"); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's name these ivars the same as the iOS implementation if possible.
@@ -60,12 +88,12 @@ public boolean isNull(int index) { | |||
|
|||
@Override | |||
public double getDouble(int index) { | |||
return (Double) mBackingList.get(index); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Were these broken before?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So there was a small inconsistency with the way getDouble and getInt work with JavaOnlyArray or Map vs NativeArray or Map. The problem was that in JS we only have "numbers" so both int and double map to the same type. Therefore NativeArray or Map is also casting the value to an appropriate type at the moment when getDouble or getInt is called. So even if we send a floating point from the JS, java code can call getInt and it will return a rounded integer. Same if we send an integer from JS.
This has became a problem since in animated driver tracking node I need to clone NativeArray/Map to JavaOnlyArray/Map, and when there are fields of type "Number" I can't tell if these are floating point numbers or not. Because of that I always read and write them as double. Then when I pass that JavaOnlyMap/Array down to the driver it knows about semantics of the fields and thus it may call getInt on some fields. In that case it was failing because the number has been set as a double.
@facebook-github-bot shipit |
Something went wrong executing that command, @hramos could you take a look? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@janicduplessis is landing this pull request. If you are a Facebook employee, you can view this diff on Phabricator.
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. |
I looked into the failure and it looks like this is not passing some of our internal tests:
If you're surprised by this (Circle shows this PR as passing The failure is not necessarily coming from this PR -- I haven't digged into that just yet -- but just wanted to let you know what's currently blocking it. I'll report back if it turns out this PR needs to be updated, but until then, assume that it's unrelated and that we need to fix our own internal breakage first. |
@hramos Sometimes this happens on iOS because OSS and FB use different clang warning flags when building (I think because fb build uses buck internally to build iOS which is not open source). |
@facebook-github-bot shipit |
Something went wrong executing that command, @hramos could you take a look? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@janicduplessis is landing this pull request. If you are a Facebook employee, you can view this diff on Phabricator.
Summary: This PR adds support for Animated tracking to Animated Native Driver implementation on Android and iOS. Animated tracking allows for animation to be started with a "dynamic" end value. Instead of passing a fixed number as end value we can pass a reference to another Animated.Value. Then when that value changes, the animation will be reconfigured to drive the animation to the new destination point. What is important is that animation will keep its state in the process of updating "toValue". That is if it is a spring animation and the end value changes while the previous animation still hasn't settled the new animation will start from the current position and will inherit current velocity. This makes end value transitions very smooth. Animated tracking is available in JS implementation of Animated library but not in the native implementation. Therefore until now, it wasn't possible to utilize native driver when using animated tracking. Offloading animation from JS thread turns out to be crucial for gesture driven animations. This PR is a step forward towards feature parity between JS and native implementations of Animated. Here is a link to example video that shows how tracking can be used to implement chat heads effect: https://twitter.com/kzzzf/status/958362032650244101 In addition this PR fixes an issue with frames animation driver on Android that because of rounding issues was taking one extra frame to start. Because of that change I had to update a number of Android unit tests that were relying on that behavior and running that one additional animation step prior to performing checks. As a part of this PR I'm adding three unit tests for each of the platforms that verifies most important aspects of this implementation. Please refer to the code and look at the test cases top level comments to learn what they do. I'm also adding a section to "Native Animated Example" screen in RNTester app that provides a test case for tracking. In the example we have blue square that fallows the red line drawn on screen. Line uses Animated.Value for it's position while square is connected via tracking spring animation to that value. So it is ought to follow the line. When user taps in the area surrounding the button new position for the red line is selected at random and the value updates. Then we can watch blue screen animate to that position. You can also refer to this video that I use to demonstrate how tracking can be linked with native gesture events using react-native-gesture-handler lib: https://twitter.com/kzzzf/status/958362032650244101 [GENERAL][FEATURE][Native Animated] - Added support for animated tracking to native driver. Now you can use `useNativeDriver` flag with animations that track other Animated.Values Closes facebook#17896 Differential Revision: D6974170 Pulled By: hramos fbshipit-source-id: 50e918b36ee10f80c1deb866c955661d4cc2619b
@@ -60,7 +68,7 @@ public void runAnimationStep(long frameTimeNanos) { | |||
if (frameIndex >= mFrames.length - 1) { | |||
nextValue = mToValue; | |||
if (mIterations == -1 || mCurrentLoop < mIterations) { // looping animation, return to start | |||
mStartFrameTimeNanos = frameTimeNanos; | |||
mStartFrameTimeNanos = frameTimeNanos + ((long) FRAME_TIME_MILLIS) * 1000000L; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@axemclion @kmagiera I think this line could be the culprit. I guess it could be possible that mStartFrameTimeNanos is bigger than the curent clock time.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe this would be better as mStartFrameTimeNanos = -1;
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I remember there was some other problem when I was setting it to -1 but can't remember what exactly. Will try that and send a new PR
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah, ok I remember now, I didn't want mFromValue
to be updated with the next loop and that happens when mStartFrameTimeNanos is -1. Will add another check for this case and send a PR
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Submitted it here: #18061
Summary: This PR fixes regression introduced in #17896 with IllegalStateException being thrown in FrameBasedAnimationDriver. After investigating it seemed that the root cause was the code responsible for looping animations that was setting next frame time by adding the frame interval to the current time. In some circumstances the next frame would run earlier than that and as a result the calculated frame index was negative. Here is the stacktrace as reported by axemclion https://github.com/facebook/react-native/pull/17896/files#r170007224 ``` Caused by: java.lang.IllegalStateException: Calculated frame index should never be lower than 0 at com.facebook.react.animated.FrameBasedAnimationDriver.runAnimationStep(FrameBasedAnimationDriver.java:60) at com.facebook.react.animated.NativeAnimatedNodesManager.runUpdates(NativeAnimatedNodesManager.java:444) at com.facebook.react.animated.NativeAnimatedModule$1.doFrameGuarded(NativeAnimatedModule.java:100) at com.facebook.react.uimanager.GuardedFrameCallback.doFrame(GuardedFrameCallback.java:29) ``` Run native animated tests suite. Run RNTester and scroll to the loop animation and see it working correctly [ANDROID][BUGFIX][Animated] - Fix exception thrown by timing animation when looping Closes #18061 Differential Revision: D7059335 Pulled By: hramos fbshipit-source-id: b08dfd1398d028eeeabeb11863743666379da374
Summary: This PR adds support for Animated tracking to Animated Native Driver implementation on Android and iOS. Animated tracking allows for animation to be started with a "dynamic" end value. Instead of passing a fixed number as end value we can pass a reference to another Animated.Value. Then when that value changes, the animation will be reconfigured to drive the animation to the new destination point. What is important is that animation will keep its state in the process of updating "toValue". That is if it is a spring animation and the end value changes while the previous animation still hasn't settled the new animation will start from the current position and will inherit current velocity. This makes end value transitions very smooth. Animated tracking is available in JS implementation of Animated library but not in the native implementation. Therefore until now, it wasn't possible to utilize native driver when using animated tracking. Offloading animation from JS thread turns out to be crucial for gesture driven animations. This PR is a step forward towards feature parity between JS and native implementations of Animated. Here is a link to example video that shows how tracking can be used to implement chat heads effect: https://twitter.com/kzzzf/status/958362032650244101 In addition this PR fixes an issue with frames animation driver on Android that because of rounding issues was taking one extra frame to start. Because of that change I had to update a number of Android unit tests that were relying on that behavior and running that one additional animation step prior to performing checks. As a part of this PR I'm adding three unit tests for each of the platforms that verifies most important aspects of this implementation. Please refer to the code and look at the test cases top level comments to learn what they do. I'm also adding a section to "Native Animated Example" screen in RNTester app that provides a test case for tracking. In the example we have blue square that fallows the red line drawn on screen. Line uses Animated.Value for it's position while square is connected via tracking spring animation to that value. So it is ought to follow the line. When user taps in the area surrounding the button new position for the red line is selected at random and the value updates. Then we can watch blue screen animate to that position. You can also refer to this video that I use to demonstrate how tracking can be linked with native gesture events using react-native-gesture-handler lib: https://twitter.com/kzzzf/status/958362032650244101 [GENERAL][FEATURE][Native Animated] - Added support for animated tracking to native driver. Now you can use `useNativeDriver` flag with animations that track other Animated.Values Closes facebook/react-native#17896 Differential Revision: D6974170 Pulled By: hramos fbshipit-source-id: 50e918b36ee10f80c1deb866c955661d4cc2619b
@kmagiera Did you know that the native tracking doesn't work as it should when the tracked value is animated (rather than being set directly). The tracking starts only after the initiating animation is complete. Is this some issue with how the native animations pre-calculate and serialize the values when the animation is started? Here are the screen shots for animations without and with native driver - I have animated the red circle to move with timing of duration 500, the green circle tracks the red with spring animation and the blue circle tracks the green one. Here's a code for your reference:
|
Summary: This sync includes the following changes: - **[57333ca33](facebook/react@57333ca33 )**: Show first component stack in context warning (#17922) //<Dan Abramov>// - **[cf0081263](facebook/react@cf0081263 )**: Upgrade to jest 25 (#17896) //<Simen Bekkhus>// - **[6faf6f5eb](facebook/react@6faf6f5eb )**: Update to flow 0.97 (#17892) //<Nicolas Gallagher>// - **[81e30c7ff](facebook/react@81e30c7ff )**: Remove unused modules from legacy event responders (#17907) //<Nicolas Gallagher>// - **[3c713d513](facebook/react@3c713d513 )**: chore: update to latest release of babel (#17897) //<Simen Bekkhus>// - **[3b3decf87](facebook/react@3b3decf87 )**: add warning when owner and self are different for string refs (#17864) //<Luna Ruan>// - **[6c00c5bba](facebook/react@6c00c5bba )**: Update to [email protected] (#17842) //<Nicolas Gallagher>// - **[cf7a0c24d](facebook/react@cf7a0c24d )**: Remove dynamic GKs for selective/train (#17888) //<Sebastian Markbåge>// - **[c322f5913](facebook/react@c322f5913 )**: Add unstable_renderSubtreeIntoContainer and unstable_createPortal feature flags (#17880) //<Dominic Gannaway>// - **[f2fd484af](facebook/react@f2fd484af )**: Add React.createFactory() deprecation warning (#17878) //<Dominic Gannaway>// - **[0c04acaf8](facebook/react@0c04acaf8 )**: Remove FB specific build (#17875) //<Sebastian Markbåge>// - **[9fd760ce7](facebook/react@9fd760ce7 )**: Add disable <textarea/> children flag (#17874) //<Dominic Gannaway>// - **[a209a97ed](facebook/react@a209a97ed )**: Add feature flag around React.createFactory (#17873) //<Dominic Gannaway>// - **[95bd7aad7](facebook/react@95bd7aad7 )**: Remove renderPhaseUpdates Map (#17625) //<Andrew Clark>// - **[b43b36dd9](facebook/react@b43b36dd9 )**: Remove ReactInstanceMap_DO_NOT_USE shim (#17861) //<Dominic Gannaway>// - **[9e075d16b](facebook/react@9e075d16b )**: [react-interactions] Remove deprecated Scope APIs + update Focus components/docs (#17859) //<Dominic Gannaway>// - **[b6173e6](facebook/react@b6173e643 )**: [react-interactions] Add DO_NOT_USE to Scope methods (#17835) //<Dominic Gannaway>// - **[f4ca909e0](facebook/react@f4ca909e0 )**: [email protected] //<Dan>// - **[255d9ac5f](facebook/react@255d9ac5f )**: [Fresh] Fix edge case with early function call (#17824) //<Dan Abramov>// - **[d8570ec6e](facebook/react@d8570ec6e )**: Create ReactFabric.stopSurface and use that for bridgeless mode binding (#16164) //<Emily>// - **[5d6129b5d](facebook/react@5d6129b5d )**: Update ReactSuspenseList-test.internal.js (#17034) //<Ganapati V S>// - **[3ac81a57f](facebook/react@3ac81a57f )**: Update create-react-app note for eslint-plugin-react-hooks (#16982) //<Tao>// - **[e70672149](facebook/react@e70672149 )**: Update Flow to 0.84 (#17805) //<Dan Abramov>// - **[b979db4e7](facebook/react@b979db4e7 )**: Bump Prettier (#17811) //<Dan Abramov>// Changelog: [General][Changed] - React Native sync for revisions 19f6fe1...241c446 Reviewed By: yungsters Differential Revision: D19623180 fbshipit-source-id: 3cdecb33aa66dfc21a2b347bf7f63a5b27fcf6ea
Summary: This sync includes the following changes: - **[57333ca33](facebook/react@57333ca33 )**: Show first component stack in context warning (facebook#17922) //<Dan Abramov>// - **[cf0081263](facebook/react@cf0081263 )**: Upgrade to jest 25 (facebook#17896) //<Simen Bekkhus>// - **[6faf6f5eb](facebook/react@6faf6f5eb )**: Update to flow 0.97 (facebook#17892) //<Nicolas Gallagher>// - **[81e30c7ff](facebook/react@81e30c7ff )**: Remove unused modules from legacy event responders (facebook#17907) //<Nicolas Gallagher>// - **[3c713d513](facebook/react@3c713d513 )**: chore: update to latest release of babel (facebook#17897) //<Simen Bekkhus>// - **[3b3decf87](facebook/react@3b3decf87 )**: add warning when owner and self are different for string refs (facebook#17864) //<Luna Ruan>// - **[6c00c5bba](facebook/react@6c00c5bba )**: Update to [email protected] (facebook#17842) //<Nicolas Gallagher>// - **[cf7a0c24d](facebook/react@cf7a0c24d )**: Remove dynamic GKs for selective/train (facebook#17888) //<Sebastian Markbåge>// - **[c322f5913](facebook/react@c322f5913 )**: Add unstable_renderSubtreeIntoContainer and unstable_createPortal feature flags (facebook#17880) //<Dominic Gannaway>// - **[f2fd484af](facebook/react@f2fd484af )**: Add React.createFactory() deprecation warning (facebook#17878) //<Dominic Gannaway>// - **[0c04acaf8](facebook/react@0c04acaf8 )**: Remove FB specific build (facebook#17875) //<Sebastian Markbåge>// - **[9fd760ce7](facebook/react@9fd760ce7 )**: Add disable <textarea/> children flag (facebook#17874) //<Dominic Gannaway>// - **[a209a97ed](facebook/react@a209a97ed )**: Add feature flag around React.createFactory (facebook#17873) //<Dominic Gannaway>// - **[95bd7aad7](facebook/react@95bd7aad7 )**: Remove renderPhaseUpdates Map (facebook#17625) //<Andrew Clark>// - **[b43b36dd9](facebook/react@b43b36dd9 )**: Remove ReactInstanceMap_DO_NOT_USE shim (facebook#17861) //<Dominic Gannaway>// - **[9e075d16b](facebook/react@9e075d16b )**: [react-interactions] Remove deprecated Scope APIs + update Focus components/docs (facebook#17859) //<Dominic Gannaway>// - **[b6173e6](facebook/react@b6173e643 )**: [react-interactions] Add DO_NOT_USE to Scope methods (facebook#17835) //<Dominic Gannaway>// - **[f4ca909e0](facebook/react@f4ca909e0 )**: [email protected] //<Dan>// - **[255d9ac5f](facebook/react@255d9ac5f )**: [Fresh] Fix edge case with early function call (facebook#17824) //<Dan Abramov>// - **[d8570ec6e](facebook/react@d8570ec6e )**: Create ReactFabric.stopSurface and use that for bridgeless mode binding (facebook#16164) //<Emily>// - **[5d6129b5d](facebook/react@5d6129b5d )**: Update ReactSuspenseList-test.internal.js (facebook#17034) //<Ganapati V S>// - **[3ac81a57f](facebook/react@3ac81a57f )**: Update create-react-app note for eslint-plugin-react-hooks (facebook#16982) //<Tao>// - **[e70672149](facebook/react@e70672149 )**: Update Flow to 0.84 (facebook#17805) //<Dan Abramov>// - **[b979db4e7](facebook/react@b979db4e7 )**: Bump Prettier (facebook#17811) //<Dan Abramov>// Changelog: [General][Changed] - React Native sync for revisions 19f6fe1...241c446 Reviewed By: yungsters Differential Revision: D19623180 fbshipit-source-id: 3cdecb33aa66dfc21a2b347bf7f63a5b27fcf6ea
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 )**: [email protected] //<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 )**: [email protected] //<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 )**: [email protected] //<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 )**: [email protected] //<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 )**: [email protected] //<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 )**: [email protected] //<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 )**: [email protected] //<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 )**: [email protected] //<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 )**: [email protected] //<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 )**: [email protected] //<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 )**: [email protected] //<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 )**: [email protected] //<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
This PR adds support for Animated tracking to Animated Native Driver implementation on Android and iOS.
Motivation
Animated tracking allows for animation to be started with a "dynamic" end value. Instead of passing a fixed number as end value we can pass a reference to another Animated.Value. Then when that value changes, the animation will be reconfigured to drive the animation to the new destination point. What is important is that animation will keep its state in the process of updating "toValue". That is if it is a spring animation and the end value changes while the previous animation still hasn't settled the new animation will start from the current position and will inherit current velocity. This makes end value transitions very smooth.
Animated tracking is available in JS implementation of Animated library but not in the native implementation. Therefore until now, it wasn't possible to utilize native driver when using animated tracking. Offloading animation from JS thread turns out to be crucial for gesture driven animations. This PR is a step forward towards feature parity between JS and native implementations of Animated.
Here is a link to example video that shows how tracking can be used to implement chat heads effect: https://twitter.com/kzzzf/status/958362032650244101
In addition this PR fixes an issue with frames animation driver on Android that because of rounding issues was taking one extra frame to start. Because of that change I had to update a number of Android unit tests that were relying on that behavior and running that one additional animation step prior to performing checks.
Test Plan
As a part of this PR I'm adding three unit tests for each of the platforms that verifies most important aspects of this implementation. Please refer to the code and look at the test cases top level comments to learn what they do.
I'm also adding a section to "Native Animated Example" screen in RNTester app that provides a test case for tracking. In the example we have blue square that fallows the red line drawn on screen. Line uses Animated.Value for it's position while square is connected via tracking spring animation to that value. So it is ought to follow the line. When user taps in the area surrounding the button new position for the red line is selected at random and the value updates. Then we can watch blue screen animate to that position.
You can also refer to this video that I use to demonstrate how tracking can be linked with native gesture events using react-native-gesture-handler lib: https://twitter.com/kzzzf/status/958362032650244101
Release Notes
[GENERAL][FEATURE][Native Animated] - Added support for animated tracking to native driver. Now you can use
useNativeDriver
flag with animations that track other Animated.Values