Commit Graph
19447 Commits
Author SHA1 Message Date
Ramanpreet Nara 8bb78553a2 Make DeviceInfoModule extend code-generated Java spec
Summary:
I think this NativeModule was converted before we checked in the Java codegen output for TurboModules. I'm making `DeviceInfoModule` extend `NativeDeviceInfoSpec` to properly make it a TurboModule.

Changelog: [Internal]

Reviewed By: PeteTheHeat

Differential Revision: D19911145

fbshipit-source-id: fcec8c5b991bd9fd991e690dfa51f1bd36117e5f
2020-02-24 13:54:29 -08:00
Rachel Nabors c0d8c1db90 Updating the URLs to point at new domain name reactnative.dev
Summary:
We recently updated React Native's docs site to have its own domain reactnative.dev and needed to update the URLs in the source code

CHANGELOG:
[INTERNAL]

Reviewed By: hramos

Differential Revision: D20072842

fbshipit-source-id: 1970d9214c872a6e7abf697d99f8f5360b3b308e
2020-02-24 13:09:11 -08:00
generatedunixname89002005287564 796a4ea7e3 Add "complete_nullability = True" to compatible libraries
Reviewed By: natestedman

Differential Revision: D19968574

fbshipit-source-id: cf31e22e4a624f2f2a37bfd1b23ae65ff121f263
2020-02-24 07:38:53 -08:00
Pieter De Baets bcc6f9b5e4 Avoid unneccessary array copies in timer callbacks
Summary:
Removed an array.slice() call in the callImmediatesPass, which seems unnecessary to me, as the variable is immediately re-assigned on the next line.

Also fixed some flow issues, clarified a systrace marker and opensourced the relevant tests.

Changelog: [Internal] [Fixed] Improved JSTimer efficiency

Reviewed By: yungsters

Differential Revision: D20039181

fbshipit-source-id: 9b146980e8fa9f94b2f6153cc67cc7ced58104e5
2020-02-24 03:17:27 -08:00
Joshua Selbo 25ea35632e Migrate usages of 3.1.0 espresso libs to androidx:test-espresso 3.2.0 libs
Differential Revision: D19943694

fbshipit-source-id: bfbcf5148afa9639848c6b1c9b7398f75f5157d3
2020-02-23 18:34:55 -08:00
David Vacca 13afc454f1 Disable preallocation of virtual Nodes
Summary:
This diff disables preallocation of virtual nodes, I'm doing this as an intermediate step to eradicate virtual nodes from the android mounting layer.

changelog: [internal]

Reviewed By: JoshuaGross

Differential Revision: D20048996

fbshipit-source-id: 8fe0b03bcfcfd83a3093d1503ac93a20a5e9a57e
2020-02-21 21:07:40 -08:00
David Vacca d42e2fa92a Extend MountingManager to not fail when trying to update event emitter of a non created view
Summary:
This diff extends the MountingManager to not fail when trying to update event emitter of a non created view. This is necessary as intermediate step to remove virtual nodes out of the RN Fabric Android
changelog: [internal]

Reviewed By: JoshuaGross

Differential Revision: D20048998

fbshipit-source-id: c2a3633400ac67c2f46ec52ed3ad80289ff6aeb9
2020-02-21 21:07:40 -08:00
Varun Patel 8c10147ed5 Revert D20008608: iOS: Fix RCTDevLoadingView not showing up with UIScene
Differential Revision:
D20008608

Original commit changeset: ce59fd0b000d

fbshipit-source-id: aff385a9586de92c4033f994839617ba675ff365
2020-02-21 19:04:14 -08:00
David Vacca f19fb2454d Cleanup MC.enable_inline_view_dynamic_size and ReactFeatureFlag.supportInlineViewsWithDynamicSize
Summary:
This diff cleans up mobile config and ReactFeatureFlags that are not used anymore

changeLog: [internal]

Reviewed By: JoshuaGross, makovkastar

Differential Revision: D20026794

fbshipit-source-id: 3d941db195075a9cf49b7ecc0bf1ee839fcca189
2020-02-21 10:50:20 -08:00
David Vacca c918f45046 Enable support for TextInlineViews with dynamic sizes by default
Summary:
This diff enables support for TextInlineViews with dynamic sizes by default, removing old code and calls to MCs.

changelog: [internal]

Reviewed By: JoshuaGross, makovkastar

Differential Revision: D20026795

fbshipit-source-id: 48adf356b418866d937be9b478d9186342a07de8
2020-02-21 10:50:20 -08:00
Rick Hanlon cf20bb8921 Delete YellowBox
Summary:
This diff removes YellowBox (RIP).

Changelog: [Internal]

Reviewed By: motiz88

Differential Revision: D19949737

fbshipit-source-id: 0b653b128d8fc78255778d424a1c014bf5ddbcd0
2020-02-21 10:34:40 -08:00
Rick Hanlon 64bc400c77 LogBox - Fix code frame whitespace trimming
Summary:
This diff fixes whitespace trimming in codeframes by setting the whitespace size to 0 instead of infinity for lines that's don't have whitespace. This fixes a bug in frames where lines with 0 whitespace would not be considered.

So frames like this, where the common whitespace should be 0:

```
  217 | function Hi(a?: String) {
> 218 |   return Platform.OS === 'android' ? obj.die() : obj.die();
      |                                                  ^
  219 | }
  220 |
  221 | export default CrashReactApp;
```

Are instead trimmed at the second most common whitespace, which is 2. That's because line 217 has a whitespace length of 0, but we consider it as Infinity. When we get to line 218, we set the whitespace to 2. Then on line 19 we consider if 2 < Infinity and decide that the common whitespace is 2 resulting in:

```
  217 | nction Hi(a?: String) {
> 218 | return Platform.OS === 'android' ? obj.die() : obj.die();
      |                                                ^
  219 |
  220 |
  221 | port default CrashReactApp;
```

By setting the whitespace per line to 0 when there's no whitespace match, lines without whitespace can accurately report their size and move the pointer back to the 0 position.

Changelog: [Internal]

Reviewed By: cpojer

Differential Revision: D20030301

fbshipit-source-id: f1dec8cc57479f37ffa8128f93f7c8b3c6baaf91
2020-02-21 10:23:31 -08:00
Joshua Gross 3d21a60d41 EZ, Fix typos in logs
Summary:
Fix typo to make grepping easier.

Changelog: [Internal]

Reviewed By: mdvacca

Differential Revision: D20025729

fbshipit-source-id: 56d219e771dad133bf74fd1df327c2bbd0f8fd9e
2020-02-21 10:19:38 -08:00
Joshua Gross 5c3d1bafd3 Debug logs in JReactMarker
Summary:
Add temporary debug logs in JReactMarker.

Changelog: [Internal]

Reviewed By: ejanzer

Differential Revision: D20017502

fbshipit-source-id: 3ab53bb74ad3cc615845a312474cb7e60f3f6874
2020-02-21 10:19:38 -08:00
Rick Hanlon ae03bf88a5 Fix null pointer exception in LogBox
Summary: Changelog: [Internal]

Reviewed By: makovkastar

Differential Revision: D20029904

fbshipit-source-id: 515b5b9d16742b411b594040c31d5c7dcee41925
2020-02-21 09:50:12 -08:00
Rick Hanlon c6d5019573 Interpolate strings before giving them to abd
Summary:
This diff interpolates logs before passing them downstream so that we don't see a bunch of logs with "%s" everywhere.

Changelog: [Internal]

Reviewed By: cpojer

Differential Revision: D20034903

fbshipit-source-id: 966917aa21ba07af3fb114e6a6931d4bbf860040
2020-02-21 09:33:00 -08:00
Pieter De Baets bdafc55f50 Make animation types exact
Summary: Changelog: [General][Changed] Improved flowtype support for Animated

Reviewed By: cpojer

Differential Revision: D20002839

fbshipit-source-id: 537ac00b3fe408585d34a0ffac8adc598e01d1b7
2020-02-21 06:54:03 -08:00
generatedunixname89002005287564 c18fa702fb Daily arc lint --take GOOGLEJAVAFORMAT
Summary: Changelog: [Internal]

Reviewed By: zertosh

Differential Revision: D20027840

fbshipit-source-id: 94501d8aadf271d3a10e1bd5b1a254e1e3914d7b
2020-02-21 05:22:41 -08:00
Emily Janzer dd9832c400 Use bridgeless-friendly API for getting EventDispatcher in SwipeRefreshLayout
Summary: Switching SwipeRefreshLayout to use the bridgeless-friendly API for getting the EventDispatcher.

Reviewed By: mdvacca

Differential Revision: D20016310

fbshipit-source-id: 2f674f45768640fb6219df690fa34f74206fdf19
2020-02-20 20:20:02 -08:00
Emily Janzer 769e368889 Don't subscribe to lifecycle events in NativeAnimatedModule (for now)
Summary: Right now, animations don't work on Android in bridgeless mode because NativeAnimatedModule directly uses the UIManagerModule for various things. Previously, I added a bridgeless check to the module's `initialize()` method to avoid adding a listener on the UIManager; in this diff, I'm moving that check so that we also skip adding the lifecycle listener on the context in bridgeless mode, too. I'll remove this check once we come up with a replacement for the UIManagerModule API.

Reviewed By: JoshuaGross

Differential Revision: D19964171

fbshipit-source-id: 7c461f535e370b0e607c28905c505239cce0e157
2020-02-20 20:20:02 -08:00
Eli White 3212f7dfe8 Release Pressable!
Summary:
*Pressable* is a component which is intended to replace the Touchable* components such as *TouchableWithoutFeedback* and *TouchableOpacity*. The motivation is to make it easier to create custom visual touch feedback so that React Native apps are not easily identified by the “signature opacity fade” touch feedback.

We see this component as eventually deprecating all of the existing Touchable components.

Changelog:
[Added][General] New <Pressable> Component to make it easier to create touchable elements

Reviewed By: yungsters

Differential Revision: D19674480

fbshipit-source-id: 765d657f023caea459f02da25376e4d5a2efff8b
2020-02-20 19:27:20 -08:00
Joshua Gross 6239ace5a3 For T62192299, log on AppRegistry.runApplication
Summary:
Fabric debugging.

I also have an agenda of removing all instances of `ReactConstants.TAG`, because it's overly broad and not helpful during debugging.

Changelog: [Internal]

Reviewed By: mdvacca

Differential Revision: D20016401

fbshipit-source-id: 91e5cd7e8eb662b1a4a887c1e4e66a31ec741b46
2020-02-20 17:51:26 -08:00
Joshua Gross bf869d9917 ReactInstanceManager.attachRootViewToInstance should show up in production logs for T62192299 analysis
Summary:
Temporary debug logs.

Changelog: [Internal]

Reviewed By: mdvacca

Differential Revision: D20016162

fbshipit-source-id: 27848a5249bd625c74dc9023c89da6ec5edd9bd5
2020-02-20 17:51:26 -08:00
Saumya Mukul 1e7ed81d16 Prevent modal dismissal with swipe gestures
Summary:
(Fixing the problems in this diff https://our.intern.facebook.com/intern/diff/D19836548/)

iOS 13 introduced interactive dismissal for modals https://medium.com/hacknicity/view-controller-presentation-changes-in-ios-13-ac8c901ebc4e.
This breaks react modals. We're disabling this feature for react modals
Changelog: [iOS][Fixed]  Prevent interactive dismissal for non-fullscreen modals

Reviewed By: shergin

Differential Revision: D19880343

fbshipit-source-id: e2ad82db3dd827812824862f432d549c865216b9
2020-02-20 17:31:38 -08:00
Tommy Nguyen 8ce27df08a iOS: Fix RCTDevLoadingView not showing up with UIScene (#27916)
Summary:
Attaches the loading view to a `UIScene` in apps using the new Scenes API (iOS 13+).

## Changelog

[iOS] [Fixed] - Fix RCTDevLoadingView not showing up with UIScene
Pull Request resolved: https://github.com/facebook/react-native/pull/27916

Test Plan:
Create a new app based on UIScene and integrate React Native.

| Before | After  |
|:------:|:------:|
 | <img width="453" alt="image" src="https://user-images.githubusercontent.com/4123478/73485717-eccfe800-43a3-11ea-96fd-f7077a348345.png"> | <img width="453" alt="image" src="https://user-images.githubusercontent.com/4123478/73485749-f9ecd700-43a3-11ea-8a18-2e2185e62e78.png"> |

Reviewed By: cpojer

Differential Revision: D20008608

Pulled By: hramos

fbshipit-source-id: ce59fd0b000d7dee51985a5533d9b5791687f592
2020-02-20 15:38:16 -08:00
Vojtech Novak 7f2a79f40b allow custom ripple radius on TouchableNativeFeedback (#28009)
Summary:
motivation: there are cases where one'd like to control the radius of the ripple effect that's present on TouchableNativeFeedback  - in my case, I want to make sure that both icons and text have the same ripple appearance, but that's currently not possible as far as I can tell.

Currently (afaik) the only way to set  (upper) ripple limits is by specifying width, height and border radius ( + `overflow: hidden`), and this works well for icons which can usually be bounded by a square, but not for text which can have rectangular shape.

This PR adds `rippleRadius` parameter to `SelectableBackground()`, `SelectableBackgroundBorderless()` and `Ripple()` static functions present on `TouchableNativeFeedback`. It can make the ripple smaller but also larger. The result looks like this:

added to RNTester:

![SVID_20200219_182027_1](https://user-images.githubusercontent.com/1566403/74858131-147ff380-5345-11ea-8a9e-2730b79eec38.gif)

difference from the other ripples:

![SVID_20200209_110918_1](https://user-images.githubusercontent.com/1566403/74109152-4513a080-4b81-11ea-8ec3-bb5862c57244.gif)

I'm ofc open to changing the api if needed, but I'm not sure there's much space for manoeuvring. While I was at it, I did a slight refactor of the class into several smaller, more focused methods.

It's possible that in some cases, this might help to work around this issue https://github.com/facebook/react-native/issues/6480.

## Changelog

[Android] [Added] - allow setting custom ripple radius on TouchableNativeFeedback
Pull Request resolved: https://github.com/facebook/react-native/pull/28009

Test Plan: I tested this locally using RNTester

Reviewed By: TheSavior

Differential Revision: D20004509

Pulled By: mdvacca

fbshipit-source-id: 10de1754d54c17878f36a3859705c1188f15c2a2
2020-02-20 15:29:07 -08:00
Tommy Nguyen de8fcfb4cb Address @octokit/rest deprecation warnings (#28050)
Summary:
Addresses deprecation warnings from `octokit/rest`. This is a follow up to https://github.com/facebook/react-native/issues/28019.

## Changelog

[Internal] [Fixed] - Address deprecation warnings from `octokit/rest`
Pull Request resolved: https://github.com/facebook/react-native/pull/28050

Test Plan: PRs should still get app bundle sizes report, but the warnings in the build logs should be gone.

Reviewed By: cpojer

Differential Revision: D20008805

Pulled By: hramos

fbshipit-source-id: 891d14fd9d55f217194a095d2736494416dacda2
2020-02-20 15:21:21 -08:00
Radek Czemerys 1c5938eae7 chore: tweak missing RCTAnimation warning message (#28139)
Summary:
As we don't link modules manually anymore it's better to point the user in another direction when they face this issue.

## Changelog

[Internal] [Changed] - tweak missing RCTAnimation warning message

Pull Request resolved: https://github.com/facebook/react-native/pull/28139

Reviewed By: cpojer

Differential Revision: D20009264

Pulled By: hramos

fbshipit-source-id: 114cae4fe908186eab3d8d9e79c2016015406821
2020-02-20 14:44:31 -08:00
Sharon Gong aebf54aee4 Add localized accessibility strings to React Core pod (#27995)
Summary:
The accessibility roles and states description strings are not able to be localized on iOS platform. Those strings are exposed to the end users so it should be localized. This PR is to add localized strings as a resource bundle to the React Core Pod so that any React Native app integrating the React Native dependencies using CocoaPods can get the localized accessibility roles and states description.

## Changelog

[iOS] [Added] - Add localized accessibility strings to React Core pod
Pull Request resolved: https://github.com/facebook/react-native/pull/27995

Test Plan: Verified with RNTester app.

Differential Revision: D19975587

Pulled By: PeteTheHeat

fbshipit-source-id: f8eb4e25194f0cd603c98a6221ec87503a2826ed
2020-02-20 14:31:03 -08:00
Radek Pietruszewski 24e0bad8be Make JSCRuntime::createValue 35% faster (#27016)
Summary:
JSC does some sort of thread safety locking on every single JSC API call, which makes them ridiculously expensive for a large number of calls (such as when passing a large array over the RN bridge). It would be great if we could lock and unlock once for an entire sequence of JSC calls… but in the meantime, the less we call JSC the better.

![unknown](https://user-images.githubusercontent.com/183747/67624956-08bd6e00-f838-11e9-8f65-e077693f113d.png)

In my benchmark environment (https://github.com/Nozbe/WatermelonDB/pull/541), the time spent in JSCRuntime::createValue went down from 1.07s to 0.69s by changing JSValueIsXXXX calls to a single JSValueGetType call.

The underlying implementation does the same thing: https://github.com/WebKit/webkit/blob/master/Source/JavaScriptCore/API/JSValueRef.cpp#L58

## Changelog

[General] [Fixed] - Make JSCRuntime::createValue faster
Pull Request resolved: https://github.com/facebook/react-native/pull/27016

Reviewed By: RSNara

Differential Revision: D18769047

Pulled By: mhorowitz

fbshipit-source-id: 9d1ee28840303f7721e065c1b3c347e354cd7fef
2020-02-20 10:33:16 -08:00
Janette Cheng a793ed7598 Unbreak the build
Summary:
build-break
overriding_review_checks_triggers_an_audit_and_retroactive_review

fbshipit-source-id: 316b879368503114ea1af16276643301601bcca8
2020-02-20 08:30:46 -08:00
Rubén Norte ec3327b61a Fix AccessibilityInfo mock to always return a promise in isScreenReaderEnabled
Summary:
`AccessibilityInfo.isScreenReaderEnabled().then()` fails by default in tests because that function is mocked and it doesn't return a promise (the default return value is `undefined`). Returning `Promise.resolve(false)` is a good default in this case so it doesn't break any code relying on it.

Changelog: [General] [Fixed] - Fix `AccessibilityInfo.isScreenReaderEnabled` mock in Jest setup

Reviewed By: lunaleaps, motiz88

Differential Revision: D19972921

fbshipit-source-id: 3c8498d5aeeac54d1f5cf333ae39658e22c180a1
2020-02-20 06:43:09 -08:00
Tom Underhill dbe0d7d4b5 Add NativeColorType opaque type to normalizeColor() ahead of PlatformColor PR. (#28040)
Summary:
The [PlatformColor PR](https://github.com/facebook/react-native/pull/27908) is currently open to implement the [PlatformColor proposal](react-native-community/discussions-and-proposals#126).   When that PR was imported into Facebooks internal builds it was found that the change to the `processColor()` function to return an opaque type or `number` instead of just `number` breaks internal components.

This PR is a simplification of the PlatformColor PR only changing the return type of `processColor()` from `?number` to `?number | NativeColorType` where `NativeColorType` is just an empty but opaque type.   This will allow changes to be made to these internal components but with less risk than the larger PR.

## Changelog

[General] [Changed] - Add NativeColorType opaque type to normalizeColor() ahead of PlatformColor PR
Pull Request resolved: https://github.com/facebook/react-native/pull/28040

Test Plan: Flow checks, Jest test, iOS unit tests, iOS integration tests, and manual testing performed on RNTester for iOS and Android.

Differential Revision: D19860205

Pulled By: TheSavior

fbshipit-source-id: 799662c6621d3974158b375ccccfa136982c43b4
2020-02-19 19:33:27 -08:00
Rick Hanlon 372771dc8c Remove LogBox.ignoreWarnings
Summary:
This method isn't necessary for the migration to LogBox because we have a YellowBoxDeprecated module instructing users to use LogBox.ignoreLogs (so no old code should be calling LogBox.ignoreWarnings).

Changelog: [Internal]

Reviewed By: motiz88

Differential Revision: D19950302

fbshipit-source-id: 4850884e770f812273978b9a205f5b914e5a9d2f
2020-02-19 18:01:43 -08:00
Rick Hanlon d66169b4fc Deprecate YellowBox and unstable_enableLogBox
Summary:
This diff replaces YellowBox with YellowBoxDeprecated, adding warnings for using the module directly instead of YellowBox. Also adds a no-op message for unstable_enableLogBox.

Changelog: [Internal]

Reviewed By: motiz88

Differential Revision: D19949700

fbshipit-source-id: 269c341a2cedcdb2f7a80947d3239db078238201
2020-02-19 18:01:43 -08:00
Rick Hanlon a83ea6ab8c Switch to LogBox completely
Summary:
This diff replaces YellowBox with LogBox so that it can be deprecated and removed.

After this diff, it will no longer be possible to go back to YellowBox and all paths referencing it will be gone.

Changelog: [Internal]

Reviewed By: motiz88

Differential Revision: D19949695

fbshipit-source-id: 28a55866e514020bdcc6854aae565cffbbe8af58
2020-02-19 18:01:43 -08:00
Eli White da9364fa3e Switch iOS focus/blur calls to use new commands
Summary:
Make iOS use Commands instead of UIManager.{focus,blur}. This makes these apis compatible with Fabric and paper at the same time.

Changelog:
[Internal] Switch iOS focus/blur calls to use new commands

Reviewed By: mdvacca

Differential Revision: D19458995

fbshipit-source-id: 8c4aacd41941f54a887aeec1a17d9ce0b6878ab1
2020-02-19 15:29:00 -08:00
Eli White 147055466a Switch Android focus/blur calls to use new commands
Summary:
This makes Android dispatch focus/blur through the Fabric view manager when running in Fabric.

Changelog:
[Internal] Switch Android focus/blur calls to use new commands

Reviewed By: JoshuaGross, mdvacca

Differential Revision: D19458362

fbshipit-source-id: 23e1d989ec55bc8abff4279e259f4b6c953ac0a3
2020-02-19 15:29:00 -08:00
Eli White 6286270e4c Migrate TextInputState to take a ref instead of a reactTag
Summary:
Changelog:
[General][Breaking] Multiple deprecations and breaking changes to TextInputState. Use native component refs instead of react tags

Reviewed By: JoshuaGross

Differential Revision: D19458214

fbshipit-source-id: f67649657fa44b6c707a0ac91f07d2ceb433bc70
2020-02-19 15:28:59 -08:00
Eli White 862c71908c Partial React Sync from 241c4467...ad84625f8
Summary:
Test sync of https://github.com/facebook/react/pull/18068

- **[ad84625f8](https://github.com/facebook/react/commit/ad84625f8 )**: [Native] Migrate focus/blur to call TextInputState with the host component (#18068) //<Eli White>//
- **[edab5c074](https://github.com/facebook/react/commit/edab5c074 )**: Re-throw errors thrown by the renderer at the root in the complete phase (#18029) //<Andrew Clark>//
- **[a6dfe9aa4](https://github.com/facebook/react/commit/a6dfe9aa4 )**: [Native] Delete NativeComponent and NativeMethodsMixin (#18036) //<Eli White>//

Changelog:
[Changed][General] Partial React Sync from 241c4467...ad84625f8

Reviewed By: mdvacca

Differential Revision: D19459322

fbshipit-source-id: daefcf854e3da1c849f8376671065c53a1319ef9
2020-02-19 15:28:59 -08:00
Eli White 3b813cade1 Enable target as instance experiment
Summary:
This diff is just here to make it easier for me to work on the stack. It needs to be ripped out of the stack before landing

Changelog:
[Breaking][General] The `target` field of events is now a native component, not a react tag

Reviewed By: mdvacca

Differential Revision: D19458361

fbshipit-source-id: 1d03a58553cf96dc72f6d1323dfb37b1a8cdca75
2020-02-19 15:28:58 -08:00
Eloy Durán 4118d79826 Rename autolinking-ios.rb script and bring RNTester and template in line. (#28077)
Summary:
Make the script ready for picking in 0.62.0-rc.3.

* Rename the script to remove ambiguity. “autolinking” is a CLI feature where 3rd-party pods are automatically discovered: https://github.com/react-native-community/cli/blob/master/docs/autolinking.md
* Make the Flipper version of the pods configurable, as requested [here](https://github.com/facebook/react-native/pull/28044#discussion_r378662636).
* Make RNTester’s Podfile use the same form as the template–including enabling Flipper by moving the CPP define into the right place in the Xcode project and out of the Podfile.
* Get rid of Podfile.lock thrashing by making the default CDN spec source explicit.

## Changelog

[iOS] [Changed] - Disambiguate autolinking-ios.rb script from CLI’s “autolinking” feature and bring RNTester & template in line.
Pull Request resolved: https://github.com/facebook/react-native/pull/28077

Test Plan: RNTester builds, as does a new application.

Reviewed By: PeteTheHeat

Differential Revision: D19956392

Pulled By: TheSavior

fbshipit-source-id: 6c800ddb646b49fc45c088978e2794cd7b60ea48
2020-02-19 15:19:26 -08:00
Samuel Susla 60c15073bf Fix crash in state reconciliation
Summary:
Changelog: [internal]

Repro steps:

1. Go to fbsource/fbobjc.
2. Run following focus command P124860753.
3. Enable Address Sanitizer in Xcode.
3. Run the app from Xcode.
5. Make sure `react_fabric.enable_marketplace_home_ios` and `react_fabric.enabled_state_reconciliation_ios` Mobile Config flags are set to true.
6. Navigate to Marketplace Home and observe use of freed memory exception. You have to wait until second page of marketplace home feed is loaded.

{F228880980}

# Root cause

`ChangedShadowNodePairs` being a vector of pairs of references.
Those `shared_ptr` do not outlive the the run of `reconcileStateWithTree` (that's what I originally thought when I made them references).

This was introduced in D19814500.

Reviewed By: JoshuaGross

Differential Revision: D19977784

fbshipit-source-id: 8c4a381137baa08a6af9d3c1cb295fe6c2b2bf95
2020-02-19 14:31:22 -08:00
Frieder Bluemle d4d8887b50 Update Gradle Wrapper to 6.2 (#28112)
Summary:
Gradle Wrapper to 6.2

https://docs.gradle.org/6.2/release-notes.html

## Changelog

[Android] [Changed] - Update Gradle Wrapper to 6.2
Pull Request resolved: https://github.com/facebook/react-native/pull/28112

Test Plan: Build project

Differential Revision: D19973068

Pulled By: mdvacca

fbshipit-source-id: ec6b72048f671af7df26570872ce5148c9e42bb3
2020-02-19 09:09:58 -08:00
Samuel Susla 145151ef0f Fix ignored initial value of TextInput
Summary: Changelog: [Internal]

Reviewed By: JoshuaGross

Differential Revision: D19922731

fbshipit-source-id: b06f1d98d97a4ea46c60e07a89452ee77acded8d
2020-02-19 07:03:22 -08:00
Jason Safaiyeh 0e4bcaa296 Resolve localization warnings (#28046)
Summary:
Resolve Xcode localization warnings in template

## Changelog

[iOS] [Fixed] - Resolve localization warnings
Pull Request resolved: https://github.com/facebook/react-native/pull/28046

Test Plan: Create a fresh template app, localization warnings should not happen.

Differential Revision: D19873686

Pulled By: hramos

fbshipit-source-id: 5db0e7da1048899c4049fe991bc354a6798dfb06
2020-02-18 21:44:16 -08:00
Venits e99800267b - Remove leftover Incremental component (#28107)
Summary:
1/4 of https://github.com/facebook/react-native/issues/28103

## Changelog

[JavaScript][Removed] - Remove leftover `Incremental` component.
Pull Request resolved: https://github.com/facebook/react-native/pull/28107

Test Plan: In RNTester `Incremental` component is no longer used so I modified one of existing examples to use it.

Reviewed By: rickhanlonii

Differential Revision: D19960536

Pulled By: TheSavior

fbshipit-source-id: 791bda7138ac23916957577ed5f5c465c5e96299
2020-02-18 20:44:43 -08:00
Eli White 010c9241cb Partial React Sync from 241c4467..edab5c074
Summary:
- **[edab5c074](https://github.com/facebook/react/commit/edab5c074 )**: Re-throw errors thrown by the renderer at the root in the complete phase (#18029) //<Andrew Clark>//

Changelog:
[General][Changed] Partial React Sync from 241c4467..edab5c074

Reviewed By: mdvacca, gaearon

Differential Revision: D19961765

fbshipit-source-id: d4a84a4076da332db76d66ddd7250eaea375f8ff
2020-02-18 19:03:18 -08:00
Samuel Susla aa0a50c518 Introducing RCTBlockingImageManager, an image manager for tests in Fabric
Summary:
Changelog: [Internal]

This allows to block queue until image is fetched.

In paper, the photo of dog will not appear unless the network request is "fast enough".

{F228670428}

Reviewed By: shergin

Differential Revision: D19907906

fbshipit-source-id: 98d68abf1255388f9b97fb9da367d8f583a4220d
2020-02-18 16:51:00 -08:00
Jason Safaiyeh b53aeab10c Update AppVeyor Node versions (#27980)
Summary:
The current AppVeyor test is failing on node v8. Since v8 is no longer active (https://nodejs.org/en/about/releases/), updated to the current LTS versions.

## Changelog

[Internal] [Changed] - Changed AppVeyor Node test versions to 10 & 12
Pull Request resolved: https://github.com/facebook/react-native/pull/27980

Test Plan: Hopefully makes the tests green �

Differential Revision: D19873610

Pulled By: hramos

fbshipit-source-id: 6f42a6046a1c015d327b15dc9537d0c2bb27e978
2020-02-18 16:46:20 -08:00