Commit Graph

13757 Commits

Author SHA1 Message Date
Nurzhan Bakibayev 10814e2e61 Remove __fbUninstallRNGlobalErrorHandler
Reviewed By: pakoito

Differential Revision: D7831179

fbshipit-source-id: 6db9fe617d5a1a23a4aa46c9c3028db13a7a52a0
2018-05-21 11:12:46 -07:00
Miguel Jimenez Esun eba62803b5 Bump Metro to 0.37.1
Reviewed By: rafeca

Differential Revision: D8038396

fbshipit-source-id: 33fe5499825653f205bdb588ff4c7fa232602f24
2018-05-21 08:21:00 -07:00
Taras Tsugrii 1a7682b2a1 Re-format BUCK to use recommended style.
Reviewed By: yfeldblum

Differential Revision: D8073585

fbshipit-source-id: 12322aebc09b89d5af9cc257b16c1bc0fbb066c1
2018-05-20 23:24:51 -07:00
Spencer Ahrens 7d741d1119 Prettier
Reviewed By: bestander

Differential Revision: D8067792

fbshipit-source-id: 6ea8f46c3dce80afc3689ba55f348aa645af391e
2018-05-19 09:44:29 -07:00
Valentin Shergin 06b0dabaa7 Fabric: Deletion of unused files
Summary: We don't use them anymore.

Reviewed By: fkgozali

Differential Revision: D8048545

fbshipit-source-id: c92aa9ca13ac31eaead87a0982ed613710b7af57
2018-05-18 22:00:52 -07:00
Héctor Ramos 85fc98d437 Fix JUnit report location when running Jest
Summary:
We were incorrectly writing jest's junit output to ~/reports/ instead of ~/react-native/reports.

Run on Circle and confirm JUnit test results are rendered: https://circleci.com/gh/hramos/react-native/2208

[INTERNAL][MINOR][CI] - JUnit test collection

[skip ci]
Closes https://github.com/facebook/react-native/pull/19349

Differential Revision: D8062654

Pulled By: hramos

fbshipit-source-id: 72066270042dfae8afce62469fcfabb57bd405a6
2018-05-18 20:46:16 -07:00
Valentin Shergin caaea38ad9 Fabric: Using unique_ptr for storing YGNode inside YogaLayoutableShadowNode
Summary:
I recently realized (Thanks David!) that we should not use `shared_ptr` for storing YGNode*
because ShadowNode does not share ownership of the Yoga node with anybody.
So the lifecycle of shadow node and yoga node must be synchronized (this is already the case but changing to unique_ptr makes this explicit and a bit more performant).

Reviewed By: fkgozali

Differential Revision: D8030417

fbshipit-source-id: c7f85ea309598d2a5ebfed55b1d182d3fe1336ae
2018-05-18 20:34:18 -07:00
Sebastian Markbage 6cc597e6e4 Alternative Instance Handle Approach without JSWeakRef
Reviewed By: fkgozali

Differential Revision: D8003736

fbshipit-source-id: 597378555cc3f9c0ae95e8927460a3c813ebfb45
2018-05-18 20:22:45 -07:00
Sebastian Markbage f59e5a8d28 React sync for revisions de84d5c...c0fe8d6
Reviewed By: acdlite

Differential Revision: D8066469

fbshipit-source-id: e228df105c3d9a887793595073ebfe8a1a1d4f3d
2018-05-18 20:22:45 -07:00
zhongwuzw 17982094e5 Fix typo
Summary: Closes https://github.com/facebook/react-native/pull/19317

Differential Revision: D8061509

Pulled By: hramos

fbshipit-source-id: 4a2a066d477b090ee1568df234cfda67d5bbd0f8
2018-05-18 20:22:45 -07:00
Kevin Gozali 0afc70b24a iOS: Introduced ComponentDescriptorFactory to provide app specific component registry
Summary: Each app has its own set of components to support, so this mechanism allows each of them to customize the set. Core library only provides the signature (.h file) without any impl.

Reviewed By: shergin

Differential Revision: D8065360

fbshipit-source-id: c123397afda678e84f1d1fa41a6393f25b2c15e1
2018-05-18 19:46:32 -07:00
Peter van der Zee 67ec8498f7 Bump rn babel preset to 5.0.1
Reviewed By: rafeca

Differential Revision: D8047460

fbshipit-source-id: b666266a5e9162383bc807d5bf2d7d3ffa7b19d6
2018-05-18 09:11:11 -07:00
Peter van der Zee fbd1beaf66 Add automated script to update the babelHelpers file
Reviewed By: cpojer

Differential Revision: D8025371

fbshipit-source-id: 4811f16d882196bc32be7471b6a3ab4d834651c2
2018-05-18 06:09:26 -07:00
Héctor Ramos 129690fad1 Migrate to new GitHub issue templates
Summary:
This will allow us to present a user with a different template depending on the type of help they need.

To do:

1. Update the bot so that it auto-closes any issue that contains text from `question.md` (i.e. tried to ask a question through GitHub).
2. In a separate PR: new template to handle feature requests (update the bot to allow these to remain open)
3. Allow multiple other types of issues, such as requesting a cherry pick, or reporting a regression vs. something that does not work as expected.
4. Link to Stack Overflow / Discuss directly if and when GitHub allows the 'Get Started' button to point to a URL.
Closes https://github.com/facebook/react-native/pull/19334

Differential Revision: D8051229

Pulled By: hramos

fbshipit-source-id: 9e8aea232688c53dcbb0c047e92799e68b8b7842
2018-05-17 20:28:51 -07:00
Valentin Shergin cc09d21e60 Fabric: Simplifying usage of `ConcreteComponentDescriptor`
Summary:
Now ConcreteComponentDescriptor can infer `ComponentName` from `ShadowNodeT` automatically,
so in the most cases we even don't need to create a subclass of that.

Reviewed By: fkgozali

Differential Revision: D8016965

fbshipit-source-id: d910597093c9f4c9f32ca06cb3ef1b12538b9543
2018-05-17 20:28:50 -07:00
Valentin Shergin 8f507280ac Fabric: Removing default arguments from ShadowNode's constructors
Summary: We don't use them at all; moreover they complicate adding/changing signatures of those methods (because arguments with defaults must be grouped at the end and some arguments cannot have defaults).

Reviewed By: fkgozali

Differential Revision: D7981456

fbshipit-source-id: d7dd098e83630d1ab3342d2ca52ade9c4e27b2c3
2018-05-17 20:28:50 -07:00
Valentin Shergin 15cb6540c1 Fabric: ScrollView, the native part
Summary: Note: not all scrollview props and features (especially event listeners and imperative calls) are supported yet.

Reviewed By: fkgozali

Differential Revision: D7961868

fbshipit-source-id: 5277674fe976e089fd963066f78e705ad846d78d
2018-05-17 20:28:50 -07:00
Valentin Shergin bd99d3a6f4 Fabric: ScrollView: xplat part (shadow node, props, localdata, descriptor)
Summary:
All the props of a scrollview, and local data.
LocalData part is probably the most interesting: with it we precompute content size which we use inside native scrollview. Previously we rely on some assumptions like "ScrollView must have only one subview" instead, and that was not so efficient and straight-forward.

Reviewed By: fkgozali

Differential Revision: D7961869

fbshipit-source-id: fa070b8423a3e7739aeb62220e51213683e1a223
2018-05-17 20:28:50 -07:00
Valentin Shergin e3a3999b75 Fabric: ScrollView: primitives and buck target
Summary: Trivial.

Reviewed By: fkgozali

Differential Revision: D7961870

fbshipit-source-id: 3cfd92bd441dbf516ade777e6428924e9634257a
2018-05-17 20:28:50 -07:00
Jose Pereira b805172034 Clear _handlers on RCTNetworking invalidation
Summary:
This PR fixes a bug where in `RCTNetworking` not all tasks/handlers were not being cleared when invalidating the class.

I came across this issue when writing some unit tests for my native plugins, sometimes a test would finish running (and the bridge invalidated), and only afterwards a callback from RCTNetworking would come, resulting in this exception:

```
2018-05-07 15:23:34.264494-0700 Guardian[73794:10710945] *** Assertion failure in -[RCTEventEmitter sendEventWithName:body:](), /Users/.../app/node_modules/react-native/React/Modules/RCTEventEmitter.m:41
2018-05-07 15:23:34.276505-0700 Guardian[73794:10710945] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Error when sending event: didCompleteNetworkResponse with body: (
    2,
    cancelled,
    0
). Bridge is not set. This is probably because you've explicitly synthesized the bridge in RCTNetworking, even though it's inherited from RCTEventEmitter.'
*** First throw call stack:
(
	0   CoreFoundation                      0x000000010d5b21e6 __exceptionPreprocess + 294
	1   libobjc.A.dylib                     0x000000010be6f031 objc_exception_throw + 48
	2   CoreFoundation                      0x000000010d5b7472 +[NSException raise:format:arguments:] + 98
	3   Foundation                          0x000000010b94864f -[NSAssertionHandler handleFailureInFunction:file:lineNumber:description:] + 165
	4   Guardian                            0x0000000106ff5227 -[RCTEventEmitter sendEventWithName:body:] + 567
	5   Guardian                            0x0000000106e9ebab __76-[RCTNetworking sendRequest:responseType:incrementalUpdates:responseSender:]_block_invoke.423 + 1115
	6   Guardian                            0x0000000106e8f48c __50-[RCTNetworkTask URLRequest:didCompleteWithError:]_block_invoke + 92
	7   Guardian                            0x0000000106e8ded1 -[RCTNetworkTask dispatchCallback:] + 113
	8   Guardian                            0x0000000106e8f37a -[RCTNetworkTask URLRequest:didCompleteWithError:] + 410
	9   Guardian                            0x0000000106ea1aa3 -[RCTHTTPRequestHandler URLSession:task:didCompleteWithError:] + 403
	10  CFNetwork                           0x000000010cf3a437 __51-[NSURLSession delegate_task:didCompleteWithError:]_block_invoke.207 + 80
	11  Foundation                          0x000000010b885363 __NSBLOCKOPERATION_IS_CALLING_OUT_TO_A_BLOCK__ + 7
	12  Foundation                          0x000000010b8851ca -[NSBlockOperation main] + 68
	13  Foundation                          0x000000010b8836b2 -[__NSOperationInternal _start:] + 766
	14  libdispatch.dylib                   0x0000000112457779 _dispatch_client_callout + 8
	15  libdispatch.dylib                   0x000000011245c931 _dispatch_block_invoke_direct + 317
	16  libdispatch.dylib                   0x0000000112457779 _dispatch_client_callout + 8
	17  libdispatch.dylib                   0x000000011245c931 _dispatch_block_invoke_direct + 317
	18  libdispatch.dylib                   0x000000011245c7d4 dispatch_block_perform + 109
	19  Foundation                          0x000000010b87f75b __NSOQSchedule_f + 337
	20  libdispatch.dylib                   0x0000000112457779 _dispatch_client_callout + 8
	21  libdispatch.dylib                   0x000000011245f1b2 _dispatch_queue_serial_drain + 735
	22  libdispatch.dylib                   0x000000011245f9af _dispatch_queue_invoke + 321
	23  libdispatch.dylib                   0x0000000112461cf8 _dispatch_root_queue_drain + 473
	24  libdispatch.dylib                   0x0000000112461ac1 _dispatch_worker_thread3 + 119
	25  libsystem_pthread.dylib             0x000000011297a169 _pthread_wqthread + 1387
	26  libsystem_pthread.dylib             0x0000000112979be9 start_wqthread + 13
)
libc++abi.dylib: terminating with uncaught exception of type NSException
```

Bug can be reproduced by making a `XMLHttpRequest` (uses `RCTNetworking` internally) that takes a couple seconds to perform, and issuing a RCTBridge reload command in the meantime.

You can add the following code to the react-native template project,

```
  componentDidMount() {
    var oReq = new XMLHttpRequest();
    oReq.addEventListener("load", () => console.log('Finished'));
    oReq.open("GET", "https://www.dropbox.com/s/o01hz0chqvjafhv/file.bin?dl=1");
    oReq.send();
    console.log('Request is being performed...')
  }
```
In my case I download a 1MB file.
Run the project and reload the a couple times. Bug is triggered.

 [INTERNAL] [BUGFIX] [RCTNetworking] - Clear handlers and tasks on RCTNetworking invalidation
Closes https://github.com/facebook/react-native/pull/19169

Differential Revision: D8053070

Pulled By: hramos

fbshipit-source-id: d8af54fecd99173905363f962ffc638ef8b85082
2018-05-17 19:10:48 -07:00
Janic Duplessis ce3b7b8204 Bring back TextInput.State, deprecate focusTextInput and blurTextInput
Summary:
a275eac56e removed TextInput.State but we should keep it as it was a public-ish API and we don't have any migration plan off it. Also bring back `focusTextInput` and `blurTextInput` with a deprecation warning.

Tested TextInput.State is back

[GENERAL][ENHANCEMENT][TextInput] - Bring back TextInput.State, deprecate focusTextInput and blurTextInput
Closes https://github.com/facebook/react-native/pull/18936

Differential Revision: D8044439

Pulled By: hramos

fbshipit-source-id: fde145f04bb1d46ef58b5954cb7963adf495b21c
2018-05-17 11:26:22 -07:00
David Vacca 4e1453eb01 Add RTL support for Fabric android rendering
Reviewed By: fkgozali

Differential Revision: D8035223

fbshipit-source-id: 22d702e487fd2c20cd03e5004d904ddfcfbdb55a
2018-05-17 10:22:40 -07:00
Dulmandakh 8dad3e4132 add google maven repo required by appcompat-v7 26
Summary:
add google maven repo required by appcompat-v7 26

CI will download appcompat-v7 version 26.0.2

[GENERAL][MINOR][Android] - add google maven repo required by appcompat-v7 26
Closes https://github.com/facebook/react-native/pull/19316

Differential Revision: D8039324

Pulled By: hramos

fbshipit-source-id: 3e9f4dd20560f4337e81967ee9b5c30ec61016de
2018-05-16 22:45:47 -07:00
Héctor Ramos 1e8a45f206 Remove checksum fallbacks to ensure clean installs
Summary:
If `package.json` has changed, let's throw away the cache and let yarn install do its thing.

Circle CI.

[INTERNAL][MINOR][CircleCI] - Remove checksum fallbacks
Closes https://github.com/facebook/react-native/pull/19303

Differential Revision: D8029286

Pulled By: hramos

fbshipit-source-id: 528681e4da9f0215bf63f9f8b3920a95036badca
2018-05-16 20:16:59 -07:00
David Vacca b1d646a7cd Add extra logging information for ReactShadowNode
Reviewed By: achen1

Differential Revision: D8020040

fbshipit-source-id: c0606eeeb14e89e52f2a0b5537418d88387e4e0a
2018-05-16 18:21:49 -07:00
Héctor Ramos 86b3865bfe Omit Fabric Yoga dependency in OSS
Reviewed By: achen1

Differential Revision: D8036707

fbshipit-source-id: 33c02ae28cecd7d470d0cd968589c65485857f6c
2018-05-16 17:54:59 -07:00
Kevin Gozali 128c9343c4 iOS: fix up RNTesterPods
Summary:
A few fixes:
* missing include: folly/Optional.h
* switch folly::Optional's `has_value()` to `hasValue()` for now until folly is upgraded to newer version
* fix up import for RCTTextAttributes.h
* fix up includes for "conversions.h" to use namespaced includes

Reviewed By: mmmulani

Differential Revision: D8021149

fbshipit-source-id: d3955986d3ab6b1d9b61ac1e385767893ce57e5e
2018-05-16 14:14:41 -07:00
Héctor Ramos 8c74864d7b Update Android packages cache key
Summary:
Packages are now defined in `scripts/.tests.env`, so the checksum is updated accordingly.

We also throw away the cache if the checksum fails as not doing so may prevent us from picking up new packages due to the filesystem check in `scripts/android-setup.sh`#getAndroidPackages(), as the presence of the `installed-dependencies` file restored from cache will incorrectly flag all deps as being installed.
Closes https://github.com/facebook/react-native/pull/19298

Differential Revision: D8025918

Pulled By: hramos

fbshipit-source-id: 189492baac2fea39280884ea20e376a368e23c2e
2018-05-16 08:57:01 -07:00
Valentin Shergin 48dccf18b8 Fabric: Making logging in FabricUIManager optional
Summary: Trivial.

Reviewed By: fkgozali

Differential Revision: D7961186

fbshipit-source-id: 703fa3b336e093c430d32ab08eafc42b1f590f32
2018-05-15 23:58:59 -07:00
Valentin Shergin 30d08ea8a4 Fabric: `EdgeInsets` from `dynamic` conversion
Summary: We will need this for several components, first of all for ScrollView.

Reviewed By: fkgozali

Differential Revision: D7958246

fbshipit-source-id: 364b939abe8f0734376448149bbdc735abd00189
2018-05-15 23:58:59 -07:00
Valentin Shergin 545f087b46 Fabric: Several helper functions for `react::Rect`
Summary: Trivial. We will need them soon at least for ScrollView.

Reviewed By: fkgozali

Differential Revision: D7958244

fbshipit-source-id: ce92c6e6181181ac17d817292af18ffa46a4d975
2018-05-15 23:58:59 -07:00
Valentin Shergin 57d69772b7 Fabric: Improved signature of `calculateMutationInstructions`
Summary: Apparently, `calculateMutationInstructions` must also produce mutation instructions for root node as well. To make it possible we have to change the signature of the function and weak some restrictions in TreeMutationInstruction.

Reviewed By: fkgozali

Differential Revision: D7958248

fbshipit-source-id: 4109a6bce3a77f7eb89157201fd0e80f98487dbd
2018-05-15 23:58:59 -07:00
Valentin Shergin 10c5368c37 Fabric: Fixed issue where root shadow node does not layout itself
Summary: Conceptually, it always must be node owner's responsibility, but for the root node, we have to make an exception because there is no another parent node and there is no another component which has access to YogaNode.

Reviewed By: fkgozali

Differential Revision: D7958251

fbshipit-source-id: 0bdaea87adbd323c758bc3c28f325be615aa90f3
2018-05-15 23:58:59 -07:00
Héctor Ramos 274c1757e6 Make Android build tools 26.0.3 available to CI
Summary:
a3931e9531 bumped buildToolsVersions to 26.0.3, and `test_android` started failing because that particular build tools version was not getting installed in CircleCI.
Closes https://github.com/facebook/react-native/pull/19276

Differential Revision: D8020664

Pulled By: hramos

fbshipit-source-id: 561aa8186ed165b3652923a9bcaf56134acfd90b
2018-05-15 23:12:53 -07:00
Héctor Ramos 2472d915ab Consolidate CI/local test scripts
Summary:
Update `scripts/run-android-emulator.sh` to use same settings as Circle CI when creating and launching an AVD. This helps provide a known good configuration, useful for running Android tests locally.

Run `scripts/run-android-emulator.sh` and confirm AVD is created && launched
Run `scripts/run-android-emulator.sh` again and see message about AVD already running
Run `test_android` on CI and observe AVD is launched.

Run `runXcodeTests.sh` and confirm unit tests run.
Run CI and confirm iOS unit tests run.

[GENERAL][MINOR][`scripts`] - Consolidate CI/local test scripts
Closes https://github.com/facebook/react-native/pull/19228

Differential Revision: D8019888

Pulled By: hramos

fbshipit-source-id: 28b12c2e781ee80bcc90c22e691a5acb16232369
2018-05-15 17:27:52 -07:00
Héctor Ramos 1ad8351d9b Clear apt cache
Summary:
This will unblock test_android on CI.
Closes https://github.com/facebook/react-native/pull/19275

Differential Revision: D8020049

Pulled By: hramos

fbshipit-source-id: 9d738a636f63138aae918759e879f9e397c11aca
2018-05-15 17:27:52 -07:00
Héctor Ramos 499d654eb8 Halve the period of time until an issue is considered stale
Summary:
I propose halving the time required to flag and close an issue due to inactivity. The new time period would be 90 days (~3 months), at which point the bot will flag an issue as stale. This starts the second timer, where if the issue sees no further activity within 30 days, it will be closed by the bot.

_Extra: Do not automatically mark as stale issues labeled as regressions or "Help Wanted"_

Currently, an issue must see no activity for 180 days (~six months), at which point it is labeled stale. It will then take a further 60 days of inactivity before the issue is closed.

Take for example issue 9773. It was opened in September 2016, and closed for inactivity in November 2016. It was then resurrected February 2018. Three months later, no activity has occurred. This is, in my opinion, too lenient and the issue should be closed.

Last year, we reached a point where the repo has over 1,500 open issues. After finding some of these issues had no activity for over a year, I enabled a Stale bot on the repository which took care of closing any issue that saw no activity over a two week period. This helped us get to 200 open issues after some time.

After hearing feedback from the community that the bot was too aggressive on new issues, and considering that 200 open issues on such a broad project as React Native is not too high of a number, I dialed down the Stale bot so that it would take up to ~8 months to close a stale issue. In hindsight, I believe this was too big of an over-correction on my part. With open issues now topping 600, I think it's about time the Stale bot starts closing inactive issues again.

My view is that closing an issue does not indicate the issue is invalid. Closing an issue for inactivity is a sign that the issue is not problematic enough to inspire a member of the community to followup and/or propose a fix through a PR. Closing stale issues as soon as possible should help maintainers surface active issues with the greatest impact on users of the library.

None, configuration change.

[INTERNAL] [MINOR] [stale.yml] - Update Stale bot to halve stale closing times.
Closes https://github.com/facebook/react-native/pull/19253

Differential Revision: D8019532

Pulled By: hramos

fbshipit-source-id: 405b87ac3229c5ffb20a2ce2234cdcbec1f01c66
2018-05-15 16:48:49 -07:00
Tim Yung 2f4ca831bf React sync for revisions bde4b16...de84d5c
Reviewed By: bvaughn

Differential Revision: D8018924

fbshipit-source-id: 1092ad70ebe95aee70ec3ea9a8edfb6ac46a66c4
2018-05-15 16:48:49 -07:00
Sebastian Markbage 6c58035ae6 Reuse and clean up JSC class ref bindings
Reviewed By: fkgozali

Differential Revision: D7893634

fbshipit-source-id: de11cb93f9f7e7c935af2da4616671043438363b
2018-05-15 14:46:34 -07:00
gengjiawen 4a2c560768 add missing jest mock in StatusBarManager
Summary:
fix issue https://github.com/facebook/react-native/issues/11701.

Pass current ci

<!--
  Does this PR require a documentation change?
  Create a PR at https://github.com/facebook/react-native-website and add a link to it here.
-->

<!--
  Required.
  Help reviewers and the release process by writing your own release notes. See below for an example.
-->

 [GENERAL] [BUGFIX] [JEST] - add missing jest mock in StatusBarManager

<!--
  **INTERNAL and MINOR tagged notes will not be included in the next version's final release notes.**

    CATEGORY
  [----------]      TYPE
  [ CLI      ] [-------------]    LOCATION
  [ DOCS     ] [ BREAKING    ] [-------------]
  [ GENERAL  ] [ BUGFIX      ] [ {Component} ]
  [ INTERNAL ] [ ENHANCEMENT ] [ {Filename}  ]
  [ IOS      ] [ FEATURE     ] [ {Directory} ]   |-----------|
  [ ANDROID  ] [ MINOR       ] [ {Framework} ] - | {Message} |
  [----------] [-------------] [-------------]   |-----------|

 EXAMPLES:

 [IOS] [BREAKING] [FlatList] - Change a thing that breaks other things
 [ANDROID] [BUGFIX] [TextInput] - Did a thing to TextInput
 [CLI] [FEATURE] [local-cli/info/info.js] - CLI easier to do things with
 [DOCS] [BUGFIX] [GettingStarted.md] - Accidentally a thing/word
 [GENERAL] [ENHANCEMENT] [Yoga] - Added new yoga thing/position
 [INTERNAL] [FEATURE] [./scripts] - Added thing to script that nobody will see
-->
Closes https://github.com/facebook/react-native/pull/19017

Differential Revision: D8014888

Pulled By: hramos

fbshipit-source-id: 1be29f9643cf0faa53ad64f79e11d48b654a97b3
2018-05-15 14:01:39 -07:00
Tim Yung 83169c95a3 React sync for revisions 0887c7d...bde4b16
Reviewed By: fkgozali, acdlite

Differential Revision: D7999962

fbshipit-source-id: 8ef358574244bd76fe5a67a1781d59a70fc9c449
2018-05-15 13:16:57 -07:00
Tim Yung 70066ecd2b RN: Remove ReactPerf References
Reviewed By: fkgozali

Differential Revision: D8002194

fbshipit-source-id: a60073698d0f348d788b5c67e1c1c0010f7ec7f1
2018-05-15 13:16:57 -07:00
Kevin Gozali 4a0243fcd3 iOS: whitelist a few components for testing purpose
Reviewed By: mmmulani

Differential Revision: D7999459

fbshipit-source-id: e56946931997cb51ee66020a97c60f3c85d1d348
2018-05-15 09:28:41 -07:00
Dulmandakh a3931e9531 android compileSdkVersion 26, use buildToolsVersion 26.0.3
Summary:
Starting August 2018, Google Play will require targetSdkVersion 26 for new applications, and November 2018 for application updates.

This PR will use Android build tools 26.0.3 and compilerSdk 26, then support library version 26.0.2 to make targeting 26 easier in the future.

I think this PR will help to people compile and test their applications, thus make transition easier (smoother). Also we'll have opportunity and time to migrate code to target 26.

https://github.com/facebook/react-native/issues/18095

React Native on android must work as usual

Closes https://github.com/facebook/react-native/pull/19257

Differential Revision: D8010354

Pulled By: mdvacca

fbshipit-source-id: 63ba03585e918b38c2a2adb5d2f2e85d7ce46fae
2018-05-15 09:28:41 -07:00
Rafael Oleza 803afd8430 Bump metro@0.37.0
Reviewed By: jeanlauliac

Differential Revision: D7988114

fbshipit-source-id: aeaed94cb89a929ab5079af957bfccd9fd7ebd83
2018-05-15 02:57:34 -07:00
Janic Duplessis ffe6c110f7 Fix keyboard handling with keyboardShouldPersistTaps: never
Summary:
When `keyboardShouldPersistTaps` is `"never"` it would break when doing the following steps:

- Tap input 1, keyboard goes up
- Tap input 2, keyboard stays down (The bug I expected without the isTextInput check was that it would dismiss instead :o )
- Tap outside, keyboard stays down. It should dismiss here since it should never persist taps (unless tapping another input)

What seems to happen is that RN `currentlyFocusedTextInput` goes out of sync with the focused text input and is null even if there is still a text input focused. I haven't had time to investigate the cause of that (probably some race condition because of trying to focus and blur at the same time) but we should not try to dismiss the keyboard when tapping another TextInput in the first place.

I reproduced the bug mentioned by setting `keyboardShouldPersistTaps` to `"never"` in RNTesterPage.js and then using the steps described above. I made sure that the bug did not happen after this change.

[GENERAL][BUGFIX][ScrollResponder] - Fix keyboard handling with keyboardShouldPersistTaps: never
Closes https://github.com/facebook/react-native/pull/19255

Differential Revision: D8002818

Pulled By: mdvacca

fbshipit-source-id: 6ecb8d2c30eb9338529471a958b5dc04037c7ec6
2018-05-14 23:46:50 -07:00
Kevin Gozali 42fc87eb8d remove unnecessary ExceptionManager abstraction
Reviewed By: sebmarkbage

Differential Revision: D8002124

fbshipit-source-id: 4e0bce9686549d0dd7b59b1323efd11ea168855b
2018-05-14 20:45:21 -07:00
Sebastian Markbage 4ef099679d Expose new methods to Custom/System JSC
Reviewed By: fkgozali

Differential Revision: D7998298

fbshipit-source-id: f20d5b961db1cc31880d383a67d8bba40dd8008f
2018-05-14 18:58:05 -07:00
Tim Yung a956551af7 RN: Fix $FlowFixMe in AppContainer
Summary: Fixes the `$FlowFixMe` type errors in `AppContainer`.

Reviewed By: TheSavior

Differential Revision: D7987552

fbshipit-source-id: 5eba319aa2661c2d6d8ed24affc066504096b72c
2018-05-14 17:52:25 -07:00
Tim Yung 206ef54aa4 RN: Fix $FlowFixMe in RTLExample
Summary: Fix the typo in `RTLExample.js` that is now detected by Flow.

Reviewed By: TheSavior

Differential Revision: D7987526

fbshipit-source-id: d30f536b2f41e2127909675ea065a3355e5576ad
2018-05-14 17:52:25 -07:00