Commit Graph

5254 Commits

Author SHA1 Message Date
Peter Argany 30c1196d7d Convert RCTImageLoader to TurboModules [4/N]
Summary:
This diff adds a JS spec for RCTImageLoader, and conforms to it in ObjC++. Since RCTImageLoader isn't called from JS, the js spec is empty. Since `/CoreModules/` is the only dir in OSS which supports TM, move the ObjC++ impl there.

The change in `NativeExceptionsManager.js` fixes a weird bug I was hitting in codegen, where the codegen cpp file wouldn't compile due to unused variable.

Reviewed By: JoshuaGross

Differential Revision: D16495674

fbshipit-source-id: 191897b87730a6b0b96022eedc6412551fae04a6
2019-08-15 11:33:37 -07:00
Joshua Gross c8b9a3f8e2 Support Double in when generating props for .h files, in parsing component props, and for commands and events
Summary: I realized my previous diff was incomplete. Adding parsing and generation code for Double for props, commands, and events.

Reviewed By: rickhanlonii

Differential Revision: D16823540

fbshipit-source-id: fbed9897bb84b789c502cf4153e81060590152b8
2019-08-15 10:18:16 -07:00
empyrical 0057cc9bf2 Deprecate Text proptypes (#26055)
Summary:
This pull request moves `Text`'s prop types to the `DeprecatedPropTypes` folder.

This was already partly in progress - there were redundant `TextPropTypes` and `DeprecatedTextPropTypes` files so I removed one, and made sure the version with the doc strings was the one used.

## Changelog

[General] [Deprecated] - Move `Text` component's proptypes to DeprecatedPropTypes
Pull Request resolved: https://github.com/facebook/react-native/pull/26055

Test Plan: Flow checks pass for iOS and Android

Differential Revision: D16801078

Pulled By: TheSavior

fbshipit-source-id: ef19300945d48d0a4a83d728ee32cdf7d1c0f0cc
2019-08-14 17:34:07 -07:00
Ramanpreet Nara bf78d7969a Migrate RCTImage NativeModules to CoreModules
Summary:
This diff moves RCTImageLoader, RCTImageEditingManager, and RCTImageStoreManager to CoreModules. This is necessary for us to convert all these NativeModules to TurboModules.

**Note:** As a part of this diff, I had to break apart `RCTImageLoader.h`. All the protocols that were in `RCTImageLoader` are now in their own headers. Furthermore, `RCTImageLoader`'s methods are defined in `RCTImageLoaderProtocol`, so that we can call them from classes like `RCTImageViewManager` in `RCTImage`.

Reviewed By: PeteTheHeat

Differential Revision: D16805827

fbshipit-source-id: 89f6728b0766c30b74e25f7af1be8e6b8a7e6397
2019-08-14 13:39:30 -07:00
David Vacca 441c00abc9 Revert D16543433: [Fabric][JS] Use SoundManager in Pressability and Touchable
Differential Revision:
D16543433

Original commit changeset: a2ba060bc480

fbshipit-source-id: 0ba31019fb7a9e77577e495782a3b10029575d22
2019-08-14 13:32:56 -07:00
David Vacca 9dbe5e241e Use SoundManager in Pressability and Touchable
Summary: This diff replaces the usage of UIManagerModule.playTouchSound() in Pressability and Touchable for the SoundManager.playTouchSound()

Reviewed By: yungsters

Differential Revision: D16543433

fbshipit-source-id: a2ba060bc480889c1e08c5c87086361e06974684
2019-08-14 12:38:36 -07:00
Eli White 9a31fa5fd6 Delete ensureComponentIsNative.js
Summary:
This function was used by Touchable*. It was removed from the Touchables in D6494579 in 2017. The only remaining callsite was ImageBackground which is attaching a ref directly to the View so we know it is a native component.

This is needed for some setNativeProps cleanup

Reviewed By: sahrens

Differential Revision: D16796973

fbshipit-source-id: 19379094b3b91920efac4bf1969fc22d4b80bcc6
2019-08-14 11:46:58 -07:00
empyrical d00f0882fb Add documentation to TextInput's Flow types (#26054)
Summary:
The documentation from the Flow types' respective proptypes have been copied over to `TextInput`.

## Changelog

[Internal] [Changed] - Added documentation to TextInput's Flow types
Pull Request resolved: https://github.com/facebook/react-native/pull/26054

Test Plan: `yarn flow-check-ios` and `yarn flow-check-android` both pass.

Differential Revision: D16801435

Pulled By: TheSavior

fbshipit-source-id: 7f3d75ba149259d5bbf719375320e2e325188826
2019-08-14 11:33:14 -07:00
jsfu 71d7d6883c fix display problems when image fails to load (#25969)
Summary:
This problem was also affecting Fabric and was fixed in D16708532.
When the image resource is changed and the new image resource fails to load, we expect the display image to fail to load, but the image still shows the image that was successfully loaded last time.

## Changelog

[iOS] [Fixed] - fix display problems when image fails to load
Pull Request resolved: https://github.com/facebook/react-native/pull/25969

Test Plan:
This is catalyst playground with following code P78264143.
TLDR of the code, it sets URL <Image> that is 404.

{F175486515}

Reviewed By: makovkastar

Differential Revision: D16783330

Pulled By: sammy-SC

fbshipit-source-id: 1cb488590ce15d957357f32a73ebf8df6cccf4cd
2019-08-14 03:35:14 -07:00
Adam Ernst 724fe11472 Add reexport_all_header_dependencies to (yet more) misc rules
Summary: Currently this is the default, but I plan to toggle the default to False shortly. False is better for build speed, as it forces you to separate deps and exported_deps.

Reviewed By: williamtwilson

Differential Revision: D16785991

fbshipit-source-id: 8cb73b87f1dfa50f21c0c12df1579054cdc99e6e
2019-08-13 11:14:06 -07:00
Vojtech Novak 8a82503b54 fix SectionList scrollToLocation and prevent regressions (#25997)
Summary:
Recently there were quite a few changes to this functionality, and they caused breakages

https://github.com/facebook/react-native/issues/21577
https://github.com/facebook/react-native/issues/24034
https://github.com/facebook/react-native/issues/24734
https://github.com/facebook/react-native/issues/24735

Currently,  whichever `viewOffset` I pass, it will be overridden (either by 0 or something computed in the if body). This fixes the issue and also adds tests to make sure there is no regression.

## Changelog

[Javascript] [Fixed] - VirtualizedSectionList scrollToLocation viewOffset param ignored
Pull Request resolved: https://github.com/facebook/react-native/pull/25997

Test Plan: tests pass

Differential Revision: D16784036

Pulled By: cpojer

fbshipit-source-id: 46421250993785176634b30a2629a6e12f0c2278
2019-08-13 07:52:54 -07:00
empyrical 427b54eef6 Move TextInput PropTypes to Deprecated PropTypes (#26042)
Summary:
This pull request moves `TextInput`'s proptypes to `DeprecatedTextInputPropTypes`. This is in line with what is happening with other components.

## Changelog

[General] [Deprecated] - Moved `TextInput`'s proptypes to `DeprecatedTextInputPropTypes`
Pull Request resolved: https://github.com/facebook/react-native/pull/26042

Test Plan: Flow checks pass.

Differential Revision: D16782322

Pulled By: cpojer

fbshipit-source-id: c5f9caa402c0c5cd878e7fff502d380c7b468cbd
2019-08-13 03:36:58 -07:00
jeswinsimon e104204ae0 URL: Do not prepend baseUrl if the URL is not a relative URL (#26009)
Summary:
Fix for bug https://github.com/facebook/react-native/issues/26006 URL with base is always used, even when absolute URL is provided

## Changelog

[Javascript] [Fixed] - `URL`: Base url value is ignored when the input url is not a relative url.
Pull Request resolved: https://github.com/facebook/react-native/pull/26009

Test Plan:
`new URL('http://github.com', 'http://google.com')` now returns `http://github.com/`
Added a test case to `URL-test.js` to verify the same.

Differential Revision: D16781921

Pulled By: cpojer

fbshipit-source-id: 038aca3610e34f513f603e8993f9a925b7d28626
2019-08-13 02:55:21 -07:00
Spencer Ahrens a9c8103baa Fix jest test crashes with animated components
Summary:
In the jest test renderer, host components have null refs by default. `createAnimatedComponent` tries to access the ref in componentDidMount, which then crashes. This is particularly problematic when trying to update test data:

https://fb.workplace.com/groups/mpen00bs/permalink/494236684721027/?comment_id=510656413079054

Just checking for null fixes the issue and shouldn't affect anything else.

Reviewed By: TheSavior, yungsters

Differential Revision: D16777137

fbshipit-source-id: 0b9f7c5734c849f36318512ceffcc42dd44c58bb
2019-08-12 20:44:50 -07:00
Vojtech Novak bef87b648c improve VirtualizedList error message (#25973)
Summary:
Motivation: when you receive error like `scrollToIndex out of range: 5 vs -1` it's not immediately clear if I requested 5 or -1. This will make the error a little easier to understand.

## Changelog

not needed
Pull Request resolved: https://github.com/facebook/react-native/pull/25973

Test Plan: not needed, tests must pass

Differential Revision: D16708522

Pulled By: osdnk

fbshipit-source-id: 8dfcbd95ff0f42805dbe32cd57969a93aea55add
2019-08-12 04:34:25 -07:00
Eli White 0ccedf3964 React sync for revisions 55bc393...85d05b3
Summary:
This sync includes the following changes:
- **[85d05b3a4](https://github.com/facebook/react/commit/85d05b3a4 )**: Bump package.json versions //<Andrew Clark>//
- **[d9fdec6cf](https://github.com/facebook/react/commit/d9fdec6cf )**: [Flare] Remove contextmenu logic from Press (#16322) //<Dominic Gannaway>//
- **[12be8938a](https://github.com/facebook/react/commit/12be8938a )**: [Fresh] Support multiple renderers at the same time (#16302) //<Dan Abramov>//
- **[6f3c8332d](https://github.com/facebook/react/commit/6f3c8332d )**: Reset hydration state after reentering (#16306) //<Sebastian Markbåge>//
- **[028c07f89](https://github.com/facebook/react/commit/028c07f89 )**: Ensure Fundamental flags are added to more locations (#16311) //<Dominic Gannaway>//
- **[9dfe973b5](https://github.com/facebook/react/commit/9dfe973b5 )**: Nit: fix inconsistent spacing in a warning (#16310) //<Dan Abramov>//
- **[c4f0b9370](https://github.com/facebook/react/commit/c4f0b9370 )**: Warn when Using String Refs (#16217) //<lunaruan>//
- **[7c838a645](https://github.com/facebook/react/commit/7c838a645 )**: [Flare] Adds support for hydrating host components with listeners (#16304) //<Dominic Gannaway>//
- **[ed4970079](https://github.com/facebook/react/commit/ed4970079 )**: [react-events] Separate the Focus/FocusWithin unit tests (#16298) //<Nicolas Gallagher>//
- **[23405c9c4](https://github.com/facebook/react/commit/23405c9c4 )**: [react-events] Add ContextMenu responder (#16296) //<Nicolas Gallagher>//
- **[606f76b6e](https://github.com/facebook/react/commit/606f76b6e )**: Fix hydration bug with nested suspense boundaries (#16288) //<Sebastian Markbåge>//
- **[a1dbb852c](https://github.com/facebook/react/commit/a1dbb852c )**: warn if you try to use act() in prod (#16282) //<Sunil Pai>//
- **[dc232e677](https://github.com/facebook/react/commit/dc232e677 )**: chore: remove outdated comment about gcc (#16232) //<Ashwin Ramaswami>//
- **[6b565ce73](https://github.com/facebook/react/commit/6b565ce73 )**: Rendering tasks should not jump the queue (#16284) //<Andrew Clark>//
- **[c4c9f086e](https://github.com/facebook/react/commit/c4c9f086e )**: BugFix: Suspense priority warning firing when not supposed to (#16256) //<lunaruan>//
- **[05dce7598](https://github.com/facebook/react/commit/05dce7598 )**: Fix priority of clean-up function on deletion (#16277) //<Andrew Clark>//
- **[a53f5cc22](https://github.com/facebook/react/commit/a53f5cc22 )**: [SuspenseList] Bug fix: Reset renderState when bailing out (#16278) //<Sebastian Markbåge>//
- **[0c1ec049f](https://github.com/facebook/react/commit/0c1ec049f )**: Add a feature flag to disable legacy context (#16269) //<Dan Abramov>//
- **[42794557c](https://github.com/facebook/react/commit/42794557c )**: [Flare] Tweaks to Flare system design and API (#16264) //<Dominic Gannaway>//
- **[b5af4fe3c](https://github.com/facebook/react/commit/b5af4fe3c )**: Remove FocusScope (#16267) //<Dominic Gannaway>//
- **[375616788](https://github.com/facebook/react/commit/375616788 )**: Add missing check to unmocked Scheduler warning (#16261) //<Andrew Clark>//
- **[f939df402](https://github.com/facebook/react/commit/f939df402 )**: [act] Wrap IsThisRendererActing in DEV check (#16259) //<Andrew Clark>//
- **[f440bfd55](https://github.com/facebook/react/commit/f440bfd55 )**: Bugfix:  Effects should never have higher than normal priority (#16257) //<Andrew Clark>//
- **[db3ae32b8](https://github.com/facebook/react/commit/db3ae32b8 )**: flush fallbacks in tests (#16240) //<Sunil Pai>//
- **[e6a0473c3](https://github.com/facebook/react/commit/e6a0473c3 )**: Warn when rendering tests in concurrent/batched mode without a mocked scheduler (#16207) //<Sunil Pai>//
- **[e276a5e85](https://github.com/facebook/react/commit/e276a5e85 )**: [Flare] Remove delay props from Hover (#16248) //<Nicolas Gallagher>//
- **[1912b4a0f](https://github.com/facebook/react/commit/1912b4a0f )**: [Flare] Remove delay props from Press (#16247) //<Nicolas Gallagher>//

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

Reviewed By: zackargyle, rickhanlonii

Differential Revision: D16720468

fbshipit-source-id: 1884ef67f404623697f516cd77ad952d1fbb4737
2019-08-09 14:32:40 -07:00
Ramanpreet Nara bfecb1266a Remove usage of NativeModules.AccessibilityManager
Summary: We introduced NativeAccessibilityManager a while back. This diff makes sure that there are no usages of NativeModules.AccessibilityManager in our codebase.

Reviewed By: ejanzer

Differential Revision: D16714424

fbshipit-source-id: edebf0f7a0fab615aa1722406f9d538696bd65a0
2019-08-09 14:23:52 -07:00
Logan Daniels 91f139b941 xplat/js/react-native-github
Reviewed By: panagosg7

Differential Revision: D16657770

fbshipit-source-id: 4e260842c838a35317515044c54ccf55a083da33
2019-08-09 10:11:15 -07:00
Logan Daniels 9127fb51fc Manual fixes for xplat/js/react-native-github
Summary:
Need to add explicit type annotations in these areas to unblock types-first architecture for Flow. These are locations the codemod could not automatically handle.

I'll call out areas I need a close eye on in the comments.

Reviewed By: panagosg7

Differential Revision: D16659053

fbshipit-source-id: 167dd2abe093019b128676426374c1c62cf71e7f
2019-08-09 10:11:15 -07:00
Bruno Lemos 742a544b73 Fix forceUpdate method on useWindowDimensions (#25990)
Summary:
useState won't trigger re-renders if the value passed is the same.

## Changelog

[Internal] [Fixed] - Fix forceUpdate method on useWindowDimensions
Pull Request resolved: https://github.com/facebook/react-native/pull/25990

Test Plan: Codesandbox: https://codesandbox.io/embed/elegant-cori-0ixbx

Differential Revision: D16723962

Pulled By: sahrens

fbshipit-source-id: 8a46152908a90553151e0353bbfd8c2e64cfd2af
2019-08-08 17:12:26 -07:00
Ramanpreet Nara aecdee0ab0 Introduce NativeFrameRateLogger
Summary: This diff introduces `NativeFrameRateLogger` and eliminates all usages of `NativeModules.FrameRateLogger` from our codebase.

Reviewed By: ejanzer

Differential Revision: D16718105

fbshipit-source-id: caf903162bab978ee1b3faef56aedef6ada75b89
2019-08-08 16:03:41 -07:00
Ramanpreet Nara b1b5bd4418 Introduce NativeBugReporting
Summary: This diff introduces `NativeBugReporting` and eliminates all uses of `NativeModules.BugReporting` from our codebase.

Reviewed By: ejanzer

Differential Revision: D16717540

fbshipit-source-id: 67b8620ba9dd4b41557ae042c30bdc521e927d30
2019-08-08 16:03:41 -07:00
Eli White 305b0a2814 DrawerLayoutAndroid drawerPosition now expects a string, number is deprecated
Summary: The native change to support strings was made in D15912607 on June 21st. Migrating the JS callsites now to start passing strings instead of the constants.

Reviewed By: zackargyle, mdvacca

Differential Revision: D16703569

fbshipit-source-id: cb1d8698df55d2961cde1e2b1fbfcba086a03bb2
2019-08-08 12:01:56 -07:00
Eli White 87d2f4e33a Refactor TextInput.js passes strings to Java for autoCapitalize
Summary:
We are working to remove constants from the view configs.

On June 21st I modified native to support both numbers and strings. D15911323

Changelog:
[Internal]

Reviewed By: JoshuaGross

Differential Revision: D16697916

fbshipit-source-id: f346f37b2e664c2dd49e2a1308a0517f50284e4d
2019-08-08 11:06:34 -07:00
Kevin Gozali d2e18a1c5c iOS: Revert RCT->RN prefix renaming to avoid confusion
Summary: The previous rename from RCT->RN prefix ended up causing some confusions on which prefix to use for which files and under what circumstances. To avoid further confusion before we're done with the re-architecture project, let's keep them as RCT.

Reviewed By: mdvacca

Differential Revision: D16705566

fbshipit-source-id: 395bff771c84e5ded6b2261a84c7549df1e6c5e5
2019-08-08 07:21:25 -07:00
Rick Hanlon 2e8ecab583 Add tests for codegenNativeComponent
Summary: Adds tests for codegenNativeComponent

Reviewed By: TheSavior

Differential Revision: D16582627

fbshipit-source-id: 3527126c7838f3e2c0c56b19956c618f0a7fb9f9
2019-08-07 06:00:23 -07:00
Brian Vaughn cf819bf048 Remove outdated React async component check
Summary: I added this check [a couple of years ago](https://github.com/facebook/react-native/commit/1b22d49ae8945680dee4fd01e3fbb78b1e443e01) to mimic how [React used to check for async roots](https://github.com/facebook/react/blob/acabf112454e5545205da013266d8529599a2a82/packages/react-reconciler/src/ReactFiberReconciler.js#L321-L330). This code doesn't make sense anymore since there's neither an async base class or an `unstable_ConcurrentMode` export, so I'm just cleaning it up.

Reviewed By: threepointone, sebmarkbage

Differential Revision: D16668567

fbshipit-source-id: 5ccf5feccc4b65ffb3aeb0a09891d8be7490df26
2019-08-06 12:16:26 -07:00
Rick Hanlon deaaab908b Fix error string in codegenNativeComponent
Summary: This diff fixes the error message in the codegenNativeComponent fallback

Reviewed By: TheSavior

Differential Revision: D16579775

fbshipit-source-id: 176f81ea91e11f671407a5e5e5b000c4b83f93b2
2019-08-06 07:02:57 -07:00
Ramanpreet Nara a5b925d950 Fix up NativeDialogManagerAndroid PR
Summary:
This diff has three changes:
1. Remove all references to `Stringish` from `NativeDialogManagerAndroid`. (All Fbt objects expose a `.toString` method we could call).
2. Make sure that we only access `DialogManagerAndroid` through `NativeDialogManagerAndroid`.
3. Removed a bunch of `$FlowFixMes` in the files I touched. Probably not the best idea to bite into this cleanup on this diff, but what's done is done.

Since this diff is fairly large, I've commented on parts of it I thought were note-worthy. I've also commented on the changes I had to make to fix flow after removing the `$FlowFixMe`s.

Reviewed By: PeteTheHeat

Differential Revision: D16428855

fbshipit-source-id: 0e6daf2957f4b086ebb1e78e0a59930668c65576
2019-08-05 12:16:46 -07:00
Moti Zilberman 3eaf245540 Pop frames correctly in console.error handler
Reviewed By: cpojer

Differential Revision: D16648992

fbshipit-source-id: 4581e2cd6859f27bc384fc3ab328ab5b9414c704
2019-08-05 11:19:56 -07:00
Michał Osadnik 306c8d64d9 Back out "[react-native][PR] Allow Animation EndResult callback to return Promise"
Summary:
Original commit changeset: 420d29d262b6

Reverts https://github.com/facebook/react-native/pull/25793 / D16515465

Union type property is not supported by codegen. We don't want to support unions yet and because the improvement is not that big and not yet published as stable for OSS (neither used anywhere internally) we can safely revert it.

Reviewed By: RSNara

Differential Revision: D16621228

fbshipit-source-id: 2fa416eef1ae353990860026ca97d2b0b429a852
2019-08-05 02:37:56 -07:00
Thibault Malbranche f4f08d3c54 Fix missing rotateZ to useAnimatedDriver Whitelist (#25938)
Summary:
Added missing property to whitelist

## Changelog

[General] [Fixed] - Fixed rotateZ native animation
Pull Request resolved: https://github.com/facebook/react-native/pull/25938

Differential Revision: D16645798

Pulled By: cpojer

fbshipit-source-id: ef74d7230fa80068dcceaaff841af27365df92e9
2019-08-05 02:33:40 -07:00
Eli White e906af18a1 Change AndroidDrawerLayoutNativeComponent to use JS codegen for commands
Summary:
`codegenNativeCommands` returns an object with functions for each command that has the previous behavior inside the React Renderer, and the new Fabric logic inside of the Fabric React Native Renderer.

Changelog:
[Internal] - Change AndroidDrawerLayoutNativeComponent to use JS codegen for commands

Reviewed By: rickhanlonii

Differential Revision: D16529887

fbshipit-source-id: 24a5307944a7f62e18482d60d26052fea3be2051
2019-08-02 16:55:31 -07:00
Eli White d123bea8c1 Change Animated's Flow Type to require useNativeDriver be explicit
Summary:
We found that many callsites existed that could be using the native driver, but weren't. In order to help people use it when appropriate and eventually switch the default, we are requiring that useNativeDriver is explicit, even when set to false.

For now, we are changing the flow type to turn this on at Facebook, but aren't making this a runtime warning until we have a bit more confidence in our plans so that we don't churn the community.

Reviewed By: mdvacca

Differential Revision: D16611301

fbshipit-source-id: dfa8536786fc949f0239118a9e0936b268b1081d
2019-08-02 14:03:30 -07:00
Moti Zilberman 9f85f1e39c Type ErrorUtils (error-guard.js)
Summary:
* Adds Flow types to `error-guard.js` and propagates them via the `ErrorUtils` module.
* Fixes some call sites to account for the stricter (correct) types.

Differential Revision: D16619538

fbshipit-source-id: c006ff2736ec380763956c4b89702cf44dd4deb0
2019-08-02 09:38:46 -07:00
Kevin Gozali 9420de6860 iOS: codemod react-native-github: RCT->RN prefix for Fabric
Summary: Fabric ObjC(++) files will be prefixed by RN* for the time being, this codemod is a simple rename. This includes `interface` and `protocol` definition

Reviewed By: PeteTheHeat, yungsters

Differential Revision: D16611524

fbshipit-source-id: 868d2571ea2414dde4cbb3b75b1334b779b5d832
2019-08-01 20:06:04 -07:00
David Vacca a55ae3a3f0 Implement SoundManager TurboModule in JS and Android
Summary: This diff implements the Turbo Module SoundManager, this will be used by following diffs of the stack

Reviewed By: JoshuaGross

Differential Revision: D16543430

fbshipit-source-id: 34ba545f54b759fe4e49d4e3c5f8867205de907c
2019-08-01 19:49:11 -07:00
David Vacca a03a406ad7 Create Turbo Module spect for SoundManager
Summary: This diff creates the Turbo Module SoundManager to expose the method playTouchSound

Reviewed By: JoshuaGross

Differential Revision: D16543435

fbshipit-source-id: b83c679e3c3be9b19a84c470e4bc7cfd12792c11
2019-08-01 19:49:11 -07:00
Spencer Ahrens 103ec2f770 Fix Dimensions for ComponentScript
Summary: ComponentScript uses Dimensions, but doesn't support native modules, so we need to keep the `nativeExtensions` stuff that was dropped in D16525189.

Reviewed By: PeteTheHeat

Differential Revision: D16611233

fbshipit-source-id: c0add40529743e02ab7943814dc9f2188e8e0633
2019-08-01 18:25:57 -07:00
Eli White 0a68763743 Add explicit useNativeDriver: false to callsites
Summary:
In order to cleanup the callsites that are not using Animated's native driver, we are going to make useNativeDriver a required option so people have to think about whether they want the native driver or not.

I made this change by changing [Animated.js](https://fburl.com/ritcebri) to have this animation config type:

```
export type AnimationConfig = {
  isInteraction?: boolean,
  useNativeDriver: true,
  onComplete?: ?EndCallback,
  iterations?: number,
};
```

This causes Flow to error anywhere where useNativeDriver isn't set or where it is set to false.

I then used these Flow errors to codemod the callsites.

I got the location of the Flow errors by running:
```
flow status --strip-root --json --message-width=0 | jq '.errors | [.[].extra | .[].message | .[].loc | objects | {source: .source, start: .start, end: .end}]'
```

And then ran this codemod:
```
const json = JSON.parse('JSON RESULT FROM FLOW');

const fileLookup = new Map();

json.forEach(item => {
  if (!fileLookup.has(item.source)) {
    fileLookup.set(item.source, []);
  }

  fileLookup.get(item.source).push(item);
});

export default function transformer(file, api) {
  const j = api.jscodeshift;

  const filePath = file.path;
  if (!fileLookup.has(filePath)) {
    return;
  }

  const locationInfo = fileLookup.get(filePath);

  return j(file.source)
    .find(j.ObjectExpression)
    .forEach(path => {
      if (
        path.node.properties.some(
          property =>
            property != null &&
            property.key != null &&
            property.key.name === 'useNativeDriver',
        )
      ) {
        return;
      }

      const hasErrorOnLine = locationInfo.some(
        singleLocationInfo =>
          singleLocationInfo.start.line === path.node.loc.start.line &&
          Math.abs(
            singleLocationInfo.start.column - path.node.loc.start.column,
          ) <= 2,
      );
      if (!hasErrorOnLine) {
        return;
      }

      path.node.properties.push(
        j.property(
          'init',
          j.identifier('useNativeDriver'),
          j.booleanLiteral(false),
        ),
      );
    })
    .toSource();
}

export const parser = 'flow';
```

```
yarn jscodeshift --parser=flow --transform addUseNativeDriver.js RKJSModules react-native-github
```

Followed up with

```
hg status -n --change . | xargs js1 prettier
```

Reviewed By: mdvacca

Differential Revision: D16611291

fbshipit-source-id: 1157587416ec7603d1a59e1fad6a821f1f57b952
2019-08-01 16:46:30 -07:00
Eli White a6fffb7cd0 Add runtime behavior to codegenNativeCommands
Summary:
Previously codegenNativeCommands was just a hint to the babel transform. This meant that in order to use the codegen'd JS command functions it required having the babel transform turned on.

We aren't ready to turn the transform on for open source so we are adding runtime behavior to the function that will run when it isn't replaced with the transform.

Reviewed By: rickhanlonii

Differential Revision: D16574781

fbshipit-source-id: 583e8857f69ae1695445ee887432d15248dd35a9
2019-08-01 15:05:57 -07:00
Eli White b526f66c19 Back out "Back out "[RNCodegen] codegenNativeCommands takes list of supported commands""
Summary:
Original commit changeset: 34a8f8395ca7

The problem with the original commit was the usage of optional chaining. This diff removes the usage of optional chaining with good old fashioned null checks.

Reviewed By: rickhanlonii

Differential Revision: D16593623

fbshipit-source-id: d24cc40c85de9a2e712e5de19e9deb196003ccf2
2019-08-01 15:05:57 -07:00
Joshua Gross 678d5f7cd1 Back out "[RNCodegen] codegenNativeCommands takes list of supported commands"
Summary: Original commit changeset: 189754a567a3

Reviewed By: rickhanlonii

Differential Revision: D16586885

fbshipit-source-id: 34a8f8395ca73e190ccf0242f02626094f6d87b6
2019-07-31 14:11:06 -07:00
Moti Zilberman 6764385c80 Type StackFrame fields as nullable
Summary: `parseErrorStack` (which uses the `stacktrace-parser` package) can return null file names, line numbers and column numbers. This diff updates the associated types and adds explicit null checks in some call sites.

Reviewed By: rickhanlonii

Differential Revision: D16542176

fbshipit-source-id: b72c73c05b95df0bbcb5b5baa7bc2d42cff1e074
2019-07-31 09:08:06 -07:00
Martin Sherburn e85cd6cd02 Only use IntentAndroid on android
Summary:
For other platforms such as React VR it doesn't make sense to use `IntentAndroid` native module and it should use `LinkingManager` instead.

The code used to be:

```
const LinkingManager =
  Platform.OS === 'android'
    ? NativeModules.IntentAndroid
    : NativeModules.LinkingManager;
```

This diff changes the behaviour back to what it used to be.

Reviewed By: cpojer

Differential Revision: D16561073

fbshipit-source-id: 544551f8ff1affca5a71835133e8a9e7abc75e1a
2019-07-31 05:48:36 -07:00
Martin Sherburn d8f1161c8a Improvement to lazy view config loading
Summary: While adding support for this to React VR I noticed that `viewConfig.Manager` was `undefined` which meant that the view config never get assigned to the `viewManagerConfigs` object and caused errors later on. This change makes it so that even if `viewConfig.Manager` is not set the viewConfig still gets added to the `viewManagerConfigs` object.

Reviewed By: rickhanlonii

Differential Revision: D16560992

fbshipit-source-id: 626dc133602b142caff60f41d043d02968e6ccfc
2019-07-31 05:40:49 -07:00
Moti Zilberman 2dadb9e2b0 Move React error message formatting into ExceptionsManager
Summary:
# Context

In https://github.com/facebook/react/pull/16141 we imported `ReactFiberErrorDialog` unchanged from React. That implementation was not idempotent: if passed the same error instance multiple times, it would amend its `message` property every time, eventually leading to bloat and low-signal logs.

The message bloat problem is most evident when rendering multiple `lazy()` components that expose the same Error reference to React (e.g. due to some cache that vends the same rejected Promise multiple times).

More broadly, there's a need for structured, machine-readable logging to replace stringly-typed interfaces in both the production and development use cases.

# This diff

* We leave the user-supplied `message` field intact and instead do all the formatting inside `ExceptionsManager`. To avoid needless complexity, this **doesn't** always have the exact same output as the old code (but it does come close). See tests for the specifics.
* The only mutation we do on React-captured error instances is setting the `componentStack` expando property. This replaces any previously-captured component stack rather than adding to it, and so doesn't create bloat.
* We also report the exception fields `componentStack`, unformatted `message` (as `originalMessage`) and `name` directly to `NativeExceptionsManager` for future use.

Reviewed By: cpojer

Differential Revision: D16331228

fbshipit-source-id: 7b0539c2c83c7dd4e56db8508afcf367931ac71d
2019-07-31 02:34:15 -07:00
Eli White f161583713 codegenNativeCommands takes list of supported commands
Summary:
We want to enable codegenNativeCommands to have a runtime fallback that will work if the babel transform is not enabled. For example, in open source until we turn it on everywhere. By listing the supported commands, we can create the necessary functions at runtime to support what we need.

A follow up diff will add that runtime behavior to codegenNativeCommands.

Reviewed By: JoshuaGross

Differential Revision: D16573450

fbshipit-source-id: 189754a567a3a5ccd34629a8dfedf808e6824e82
2019-07-30 20:28:26 -07:00
Eli White 40e8a5f685 React sync for revisions ec6691a...55bc393
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
2019-07-30 13:20:01 -07:00
Samuel Susla bd2b7d6c03 Fix onDismiss in Modal
Summary:
# Disclaimer:
I might be missing something as the solution I implemented here seems like something that was considered by original author. If this solution isn't good, I have a plan B.

# Problem:
`onDismiss` prop isn't being called once the modal is dismissed, this diff fixes it.

Also I've noticed that `onDismiss` is meant to only work on iOS, why is that? By landing this diff, it'll be called on Android as well so we need to change the docs (https://facebook.github.io/react-native/docs/modal.html#ondismiss).

## Video that shows the problem
Following code is in playground.js P70222409 which just increments number everytime onDismiss is called

{F166303269}

Reviewed By: shergin

Differential Revision: D16109536

fbshipit-source-id: 3fba56f5671912387b217f03b613dffd89614c9d
2019-07-29 11:19:30 -07:00