Commit Graph
18816 Commits
Author SHA1 Message Date
Janic Duplessis 5798cf2aa9 Remove requestAnimationFrame when focusing input on mount (#27217)
Summary:
When using `react-native-screen` which uses native view controller animations for navigation `TextInput` with `autoFocus` causes a weird animation glitch.

Removing the requestAnimationFrame will cause the focus command to be sent in the same batch as starting screen transitions which fixes the issue.

It is unclear why the rAF was added in the first place as it was part of the initial RN open source commit. If someone at facebook has more context that would be great to make sure it doesn't cause unintended side effects.

Credits to kmagiera for figuring out this

## Changelog

[General] [Fixed] - Remove requestAnimationFrame when focusing input on mount
Pull Request resolved: https://github.com/facebook/react-native/pull/27217

Test Plan:
- Tested in an app using react-native-screen to make sure the animation glitch is fixed
- Tested in RNTester to make sure it doesn't cause other issues when not using react-native-screens

Before:

![1](https://user-images.githubusercontent.com/2677334/68799447-2ce5c100-0626-11ea-8310-a9ac9e9419b6.gif)

After:

![2](https://user-images.githubusercontent.com/2677334/68799450-2fe0b180-0626-11ea-865f-ef88f7307831.gif)

Differential Revision: D18666991

Pulled By: TheSavior

fbshipit-source-id: 66664c89e06c9ae65074ddcc4688dc5109fc9c72
2019-11-22 16:13:57 -08:00
Will Holen d0ed21531a If getters throw, replace value with a placeholder
Summary:
Currently, if you try to inspect globals in the debugger and they have
properties that throw exceptions, the app redscreens.  In particular,
inspecting any function triggers the bug because of `arguments` and
`caller`.

This diff catches the exception and shows a placeholder instead.

Changelog: [Internal]

Reviewed By: mhorowitz

Differential Revision: D18664765

fbshipit-source-id: 0c662f3d97b21a29c57a1dd724e63d17a3b4e263
2019-11-22 16:13:57 -08:00
Sergey Ryabov 1610c08a67 Fix javadocs
Summary: Changelog: [Internal]

Reviewed By: muraziz

Differential Revision: D15538725

fbshipit-source-id: 5cf60f47b07ce355e40d5b064add1df980beed89
2019-11-22 10:10:38 -08:00
Dulmandakh bbb4e4480d fix R8 warning (#27291)
Summary:
R8 shows warning that **com.facebook.react.bridge.JavaScriptModule**, **com.facebook.react.bridge.NativeModule** are interfaces so proguard rules must use implements instead of extends. This PR changes proguard rules to fix the warnings.

## Changelog

[Android] [Changed] - Fix R8 warning
Pull Request resolved: https://github.com/facebook/react-native/pull/27291

Test Plan: RNTester builds and runs as expected.

Differential Revision: D18658704

Pulled By: mdvacca

fbshipit-source-id: a679643542bc55b89141f58c3236a29cf83c20d2
2019-11-22 09:43:52 -08:00
Christoph Nakazawa 03766d6a08 Remove unnecessary whitespace from code frames
Summary:
This removes common whitespace from a code frame to show more code. This is especially useful for heavily intended code that may not even be visible in the small window.

I am not 100% confident I wrote the right code because I'm under time pressure but it seems to work. I'm an intern and it's my last day.

Changelog: [Internal]

(Note: this ignores all push blocking failures!)

Reviewed By: rickhanlonii

Differential Revision: D18657572

fbshipit-source-id: 6b93999c4482891f2123d67005843ce5db0d2976
2019-11-22 09:09:10 -08:00
Christoph Nakazawa 89be2d00ea Remove the vertical bar next to the code frame
Summary:
This vertical bar doesn't really add any value. This diff removes it. At first I tried to use regex but ansi codes make that hard. We can just use the structured data and rely on the fact that the second item is always the one with the vertical bar.

(Note: this ignores all push blocking failures!)

Changelog: [Internal]

Reviewed By: motiz88

Differential Revision: D18656911

fbshipit-source-id: b72d4c93d0008c7da54647d072a4c4eb7646b694
2019-11-22 09:09:09 -08:00
Christoph Nakazawa 16e72ad370 Syntax highlighting for LogBox Code Frames
Summary:
This diff adds syntax highlighting to LogBox CodeFrames. It works by turning Ansi codes into "JSON" (it's actually just a JS object but the third-party API uses JSON as terminology) and then turning that into `<Text>` elements.

The syntax theme is called Afterglow and I took it from https://iterm2colorschemes.com/. Happy for anyone who wants to further tweak it! I installed this into iTerm and extracted the colors from there as it has a color picker and the labels directly map to the color classes exposed by the `anser` package.

Changelog: [Internal]

(Note: this ignores all push blocking failures!)

Reviewed By: rickhanlonii

Differential Revision: D18618897

fbshipit-source-id: 64815619fc482e08b5671f492dabda8c8c0ceca5
2019-11-22 09:09:09 -08:00
Rick Hanlon 4ad5d1c473 LogBox - Clear selectedIndex when logs are cleared
Summary:
This diff fixes an exception thrown when using fast refresh when a log is opened.

Changelog: [Internal]

Reviewed By: motiz88

Differential Revision: D18656859

fbshipit-source-id: 707f71f627daa172a4f9e02e3ff5d05b6174eb63
2019-11-22 05:49:54 -08:00
Sidharth Guglani 156306606d Remove BItfield from YGLayout.h
Summary:
##Changelog:

[Internal][Yoga] Remove Bitfield from YGLayout

Reviewed By: astreet

Differential Revision: D18519623

fbshipit-source-id: 950b8cb1ca2cd0424b8d8748c4b71336b40fc15f
2019-11-22 04:32:07 -08:00
Sidharth Guglani aeebf3afdf Remove Bitfield from YGStyle
Summary:
##Changelog:

[Internal][Yoga] Remove Bitfield from YGStyle

Reviewed By: astreet

Differential Revision: D18519614

fbshipit-source-id: 70f18bc679b62712d40d76bd793cf85906b067a1
2019-11-22 04:32:07 -08:00
Sidharth Guglani bfed94376a Added BitUtils
Summary:
Adds BitUtils to be used later instead of Bitfield.h

##Changelog:
[Internal][Yoga] : Adds BitUtils to be used later instead of Bitfield.h

Reviewed By: astreet

Differential Revision: D18519609

fbshipit-source-id: 8353929543505a7d80d66281adb801d34372beed
2019-11-22 04:32:07 -08:00
Sidharth Guglani 95b3673e21 Back out "not using templates for updating styles which are used via bitfield"
Reviewed By: astreet

Differential Revision: D18628090

fbshipit-source-id: 9d006534111f10ec25a0d56214792aeb96fbdef9
2019-11-22 04:32:06 -08:00
Rick Hanlon 0d994df04d LogBox - Add ReferenceError to transform error regex
Summary:
Adds handling for reference errors so when we throw them in the next diff they're handled as syntax errors.

Changelog: [Internal]

Reviewed By: cpojer

Differential Revision: D18644642

fbshipit-source-id: 2b751578c616c27d5b1ec6255aca56063bfd9d16
2019-11-22 04:24:17 -08:00
Rick Hanlon 63bfd706d4 Move eslint-disable no-undef to a global comment
Summary:
Switch the only `// eslint-disable no-undef` to defined the global instead so that the new babel-eslint-no-undef compile time check doesn't need to understand inline eslint comments.

Changelog: [Internal]

Reviewed By: cpojer

Differential Revision: D18644590

fbshipit-source-id: ac9c6da3a5e63b285b5e1dde210613b5d893641b
2019-11-22 04:24:17 -08:00
Chunlok Lo 2968450195 Allow extensions to set their own presentedViewController
Summary:
Since extensions does not have access to sharedApplication, give them an option to set the presentedViewController.
This will allow modules such as RCTAlertsManager to function correctly in extensions.
Changelog: [General] [Added] - Added RCTUtilsUIOverride as a way to shortcut obtaining presentedViewController from sharedApplication to a supplied view controller for extensions.

Reviewed By: PeteTheHeat

Differential Revision: D18620886

fbshipit-source-id: c752a6e328588f388e23be5270bf7da277182cca
2019-11-22 00:47:22 -08:00
Eli White 390d0895ba Back out "Revert D18626496: Partial React Sync from 6cff70a74...bb1853f73"
Summary:
Original commit changeset: d982163fe3f5

Landing the original but with the feature flag disabled. *doh*

Changelog:
[General][Changed] Partial React Sync from 6cff70a74...bb1853f73

Reviewed By: mdvacca

Differential Revision: D18649739

fbshipit-source-id: c9a15f511595fe0ae76dd49db7a7097d1bfa3853
2019-11-21 18:11:30 -08:00
Valentin Shergin be324ca2dc Fabric: Adding some logs to Scheduler, UIManager and co
Summary:
We hope that will help us to understand more.

Changelog: [Internal]

Reviewed By: mdvacca

Differential Revision: D18599164

fbshipit-source-id: 431f83de707fc7113e04abd3dd5b59ee5c9cc675
2019-11-21 16:21:25 -08:00
Valentin Shergin 6dcd0de96c Fabric: Ressetting callable inside JMessageQueueThread
Summary:
We recently realized that `JNativeRunnable` instances that RN uses to pass C++ callables to Java land actually are GC managed objects. That makes their lifetime quite unpredictable (longer than necessary). Normally, it's fine but some C++ code explicitly relies on deallocation order.
To make the behavior of `JMessageQueueThread` more predictable, now we clear/reset stored `std::function` object right after an invocation to explicitly free all associated resources (`JNativeRunnable` still holds some wrapper but that wrapper holds nothing).

Changelog: [INTERNAL]

Reviewed By: JoshuaGross

Differential Revision: D18603390

fbshipit-source-id: 362f6cc0901cbe14d3360b928c98e204d277b1aa
2019-11-21 16:05:15 -08:00
Eli White 821166c111 Revert D18626496: Partial React Sync from 6cff70a74...bb1853f73
Differential Revision:
D18626496

Original commit changeset: c8fc6551bf2b

fbshipit-source-id: d982163fe3f5bed6d26cdbf1dc080c1ac7b6889d
2019-11-21 16:05:15 -08:00
Dulmandakh 701e66bde4 bump gradle to 6.0.1 (#27290)
Summary:
Bump Gradle to 6.0.1, which has Java 13 support and many improvements. But also it'll help us to clean up deprecation warnings.

## Changelog

[Android] [Changed] - bump Gradle to 6.0.1
Pull Request resolved: https://github.com/facebook/react-native/pull/27290

Test Plan: RNTester app builds and runs as expected

Differential Revision: D18646942

Pulled By: mdvacca

fbshipit-source-id: 3ade353446cee315447b80011d05065ad6557d2d
2019-11-21 15:25:50 -08:00
Eli White 82ac55fcd1 Refactor platform common TextInput tests
Summary:
Android and iOS have different RNTester examples even though they should be mostly the same. Pull out the common ones into their own file. This should also be useful for other platforms.

Changelog:
[Internal]

(Note: this ignores all push blocking failures!)

Reviewed By: JoshuaGross

Differential Revision: D18628890

fbshipit-source-id: 6f1312973aebcfc687fdd8807bf942e48172f216
2019-11-21 12:41:52 -08:00
Eli White dff490d140 Convert TextInput to Hooks
Summary:
Modernizing this code a bit more, converting it to hooks.

Changelog:
[General][Changed] Converted TextInput to use React hooks
[General][Fixed] TextInput now properly sends native the end selection location on change

(Note: this ignores all push blocking failures!)

Reviewed By: JoshuaGross

Differential Revision: D18581712

fbshipit-source-id: 62d6ea8489fa019ddf941c520930365f2c4887d8
2019-11-21 12:41:52 -08:00
George Zahariev 8553e1acc4 Exact-by-default codemod for react-native-github
Summary:
We are rolling out exact-by-default syntax to xplat/js.

I had to manually move around some comments to preserve proper placement.

Changelog: [Internal]

Reviewed By: jbrown215

Differential Revision: D18633611

fbshipit-source-id: 48f7468dcc55b1d00985419d035a61c6820b3abe
2019-11-21 09:42:57 -08:00
Ramanpreet Nara 1ad0862363 Revert D16969764: Make RCTDevLoadingView TurboModule-compatible
Differential Revision:
D16969764

Original commit changeset: 47e6682eea3f

fbshipit-source-id: d95b76eb8e57bbaff840b3d85f3745b13d622ce0
2019-11-21 08:43:12 -08:00
Rick Hanlon 93b892cac6 Don't allow pressing on un-symbolicated stackframes (reland)
Summary:
Re-land [RN DevX] Don't allow pressing on un-symbolicated stackframes

Changelog: [Internal]

Reviewed By: TheSavior

Differential Revision: D18628349

fbshipit-source-id: 22d6b931b0ad09976b80aa6b90f10bffa6a4a46c
2019-11-21 06:16:42 -08:00
Daryl Johnas Sison 0cefcd642c Revert D18504437: Extend Fabric iOS plugins to include Core components
Differential Revision:
D18504437

Original commit changeset: 815dd0799f87

fbshipit-source-id: d9bbc617b43b9e520210fdecb0ff788f1b61c7c2
2019-11-21 05:56:44 -08:00
Samuel Susla a59b33a286 Extend Fabric iOS plugins to include Core components
Summary:
Changelog: [Internal]

Load components only if they are used. This way we avoid upfront cost associated with loading components that are not used.

Reviewed By: fkgozali

Differential Revision: D18504437

fbshipit-source-id: 815dd0799f87e254ce0b899ee52a9bec8da45451
2019-11-21 04:46:55 -08:00
David Vacca 9c61693c9e Create ReactFeatureFlag to enable / disable custom implementation of getChildVisibleRect
Summary:
This diff introduces a new ReactFeatureFlag that will be used to enable / disable a custom implementation of getChildVisibleRect in the classes ReactViewGroup, ReactHorizontalScrollView and ReactScrollView.
The new ReactFeatureFlag is disabled by default bevause of T57363204

This is disabling the code landed as part of D17782658 / https://github.com/facebook/react-native/pull/26334

Changelog: Introduce ReactFeatureFlag to disable custom implementation of getChildVisibleRect (disabled by default)
This will disable the custom algorithm created on https://github.com/facebook/react-native/pull/26334

Reviewed By: yungsters

Differential Revision: D18621042

fbshipit-source-id: 35ca3417b596117b47edab29515a824c1726c2ce
2019-11-21 00:09:24 -08:00
Janic Duplessis 77ba82a6e1 Fix yogajni build with gradle (#27275)
Summary:
https://github.com/facebook/react-native/commit/4a69b3e636c479f39a997aec37f716afb3ab6150 changed the way the cpp files for yogajni are included but it doesn't work. I looked at other places where we are using `wildcard` and we need to add `LOCAL_PATH` otherwise the base path will be where this file is included initially, in this case the `react/jni` folder. This causes no cpp files to be included and the jni bindings are not initialized.

## Changelog

[Internal] [Fixed] - Fix yogajni build with gradle
Pull Request resolved: https://github.com/facebook/react-native/pull/27275

Test Plan: Tested that it builds properly and doesn't crash because of missing native implementation.

Differential Revision: D18633950

Pulled By: mdvacca

fbshipit-source-id: e229fffb53bc335d441060da3c5d4fd840a3c5b0
2019-11-20 23:04:31 -08:00
Lucy Beatriz Gomez a7233e45a4 Fixing RN Picker
Summary:
Changelog: [Internal]

Fixing a red screen on the RN picker.
Looks like the picker gets confused when  for unknown reasons a native value is undefined. In that case we stick to the JS value as it is specified in the comment.
https://fb.workplace.com/groups/rn.support/permalink/2997783536936908/

NOTE : Native fix was landed, this add an extra layer on the JS side

Reviewed By: mmmulani

Differential Revision: D18443005

fbshipit-source-id: 9511ac90f2d9e6186c6c0de3b673cc535cdb9fa6
2019-11-20 20:16:13 -08:00
Joshua Gross 9c5b26639a Return AttributedString for placeholder text if text is empty
Summary:
In AndroidTextInput ShadowNode, return AttributedString for placeholder text if text is empty. This ensures that empty TextInputs will have non-zero height.

Changelog: [Internal]

Reviewed By: mdvacca

Differential Revision: D18623063

fbshipit-source-id: 2eec2b794b526e8ff5435352e20ccb659358fc84
2019-11-20 18:40:22 -08:00
Eli White 222a0895d9 Partial React Sync from 6cff70a74...bb1853f73
Summary:
This sync includes these changes:

- **[bb1853f73](https://github.com/facebook/react/commit/bb1853f73 )**: [Native] If statement cleanup for null targets (#17346) //<Eli White>//
- **[a9d9fc7bb](https://github.com/facebook/react/commit/a9d9fc7bb )**: [Native] Add FeatureFlag to dispatch events with instance currentTarget (#17345) //<Eli White>//
- **[731456a12](https://github.com/facebook/react/commit/731456a12 )**: [Native] Add FeatureFlag to dispatch events with instance targets (#17323) //<Eli White>//
- **[9d5363820](https://github.com/facebook/react/commit/9d5363820 )**: Change legacy-events plugin nativeEventTarget to allow null (#17344) //<Eli White>//

Changelog:
[General][Changed] Partial React Sync from 6cff70a74...bb1853f73

Reviewed By: mdvacca

Differential Revision: D18626496

fbshipit-source-id: c8fc6551bf2b37ce27d4e9dbc7fe3455dfa08af9
2019-11-20 18:13:18 -08:00
Eli White 7813e24cdb Remove unused _focusSubscription
Summary:
This variable is never set and only ever removed

Changelog: [Internal]

Reviewed By: yungsters

Differential Revision: D18537317

fbshipit-source-id: bbb084e2ea5408fc59ef3853b2ec74bf22afbe21
2019-11-20 18:09:30 -08:00
Eli White e483bd4d49 Add Jest snapshot tests to TextInput
Summary:
$title

Changelog: [Internal]

Reviewed By: yungsters

Differential Revision: D18536359

fbshipit-source-id: 382c81c094c0ae28ec3e203cb0726bdbccf755dc
2019-11-20 18:09:30 -08:00
Eli White 20a3bb52ce Convert component snapshot tests to a reusable helper
Summary:
These tests need to be consistent with every test so a helper makes more sense.

Changelog: [Internal]

Reviewed By: rickhanlonii

Differential Revision: D18500439

fbshipit-source-id: de535156d370102bad88e556ad3d2a0d5443e4e2
2019-11-20 18:09:30 -08:00
Eli White 9b53f52236 Revert D18577288: Don't allow pressing on un-symbolicated stackframes
Differential Revision:
D18577288

Original commit changeset: 6de322b47558

fbshipit-source-id: 095766e07a43008abf5fc6adb0f46bb08fc420a0
2019-11-20 15:51:06 -08:00
Andrey Lunyov d904dc1e95 Update eslint-plugin-relay to 1.4.1
Summary: Changelog: [Internal]

Reviewed By: kassens

Differential Revision: D18602667

fbshipit-source-id: 881a0aa23f10b69a12a6105d6259df79941883a2
2019-11-20 12:56:49 -08:00
Chad Smith ddff713247 upgrade detox to 14.5.1
Summary:
This version of Detox has a fix that is required to be compatible with the current React Native API.

Changelog: [Internal]

Reviewed By: TheSavior

Differential Revision: D18495247

fbshipit-source-id: b329975b33835e12b7f5b5d1f1aa3eb4a82c1950
2019-11-20 12:01:19 -08:00
Christoph Nakazawa 1e0e9582ab Improve rendering perf of LogBoxInspectorStackFrame
Summary:
LogBox tends to take a bit of time to open after tapping a log banner. This is very noticeable on Android where it takes multiple seconds.

When looking at React DevTools, the Stack Frame code can be responsible for two thirds of total LogBox rendering time. With this diff, the time is reduced from about 46ms to 25ms, and the total time spent rendering LogBox is reduced by one third.

This diff makes a few micro-optimizations but primarily it gets rid of an unnecessary View and collapses multiple text components into a single one as they are all rendered the same. Note that this also fixes an issue in the case where a line number may be missing but a column was provided. While I can't think of a case where that would actually happen, previously it would print the column (which could be mistaken for the lineNumber in that case) but now it prints the column only if the line Number is also present.

Changelog: [Internal]

Reviewed By: rickhanlonii

Differential Revision: D18613899

fbshipit-source-id: 5c6a3b65b749d5f95058b34ded6cc12531d91c38
2019-11-20 11:24:15 -08:00
Ramanpreet Nara 294e31b7c2 Make RCTDevLoadingView TurboModule-compatible
Summary:
RCTDevLoadingView wasn't hooked up to the codegen. This diff makes RCTDevLoadingView type-safe and also makes it TurboModule-compatible.

Changelog:
[iOS][Added] - Make RCTDevLoadingView TurboModule-compatible

Reviewed By: PeteTheHeat

Differential Revision: D16969764

fbshipit-source-id: 47e6682eea3fc49d3f0448c636b5f616d5bce220
2019-11-20 11:20:12 -08:00
Rick Hanlon 55cb6ab07c Don't allow pressing on un-symbolicated stackframes
Summary:
This diff makes a few improvements to the call stack / symbolication process:

- Removes button from unsymbolicated stack frames
- Adds a warning message for missing features without symbolication
- Reduces symbolication requests (we were re-requesting stacks when they were pending)
- Speeds up opening unsymbolicated logs (because we were re-requesting them, the components were updating a lot)

Changelog: [Internal]

Reviewed By: motiz88

Differential Revision: D18577288

fbshipit-source-id: 6de322b4755895e2d1599b06100a61e64f7ec023
2019-11-20 11:05:20 -08:00
Rick Hanlon bdd1a675ba Dismiss all logs on fast refresh
Summary:
Based on feedback we're going to clear all logs on fast refresh 👍

Changelog: [Internal]

Reviewed By: gaearon

Differential Revision: D18614230

fbshipit-source-id: 119a09e8ffea9d86137583d8da435338833f910c
2019-11-20 08:50:49 -08:00
Valentin Shergin 8dea0acc23 Fabric: Using LOG(ERROR) instead of LOG(Fatal) in Scheduler
Summary:
FATAL crashes the app, which was never the intent of that log message.
We need to use ERROR instead.

Changelog: [INTERNAL]

Reviewed By: fkgozali, zackargyle, mdvacca

Differential Revision: D18597249

fbshipit-source-id: 523c96550f97e837e1957c933786acf28033e60a
2019-11-19 17:01:55 -08:00
Stepan Furdei 25a21b8e49 Don't crash when pretty-format is not available
Summary:
pretty-format library is not available on some JSC which causes the app to crash while trying to log a warning. This change defaults to just stringify the error if formatter is not available. The behavior on platforms where it already works fine isn't changed.

Changelog: Don't crash the app while formatting a warning for console if pretty-format is not available.

Reviewed By: PeteTheHeat

Differential Revision: D18403456

fbshipit-source-id: 73226f1a4e3f38c8d7c4e5ace909dd494e1da298
2019-11-19 16:22:29 -08:00
Jordan Brown 48cb80892d Manually fix places the codemod doesnt hit
Summary:
Generating this diff was difficult. We _will_ fix the issues with jscodeshift, but i don't want to block the syntax change on that.

To get this diff, I first codemodded all of xplat to use exact-by-default. Then i turned on implicit-inexact-object:error enforcement to get a list of errors showing places that violated the lint. With that, I used this to generate a list of `sed` commands to add `...`:

```
flow --json | jq '.errors | .[] | .message | .[] | .loc | {source, "line": .end."line", "column": .end."column"} | "\(.column),\(.line),\(.source)"' | sort -n -r | sed 's/"//g' | while read -r line; do echo $line; awk -F',' "{ print \"sed -i '\"\$2\"s/./...&/\"\$1\"' \" \$3 }"; done
```

Then I ran prettier, reverted generated files, and manually fixed up suppressions that got messed up.

Changelog: [Internal]

Reviewed By: gkz

Differential Revision: D18516431

fbshipit-source-id: 6cf940dce411fb179e7ebaff764bd5113a07989f
2019-11-19 13:38:18 -08:00
Ramanpreet Nara 8ac9b32779 Remove __unused annotation from ConcreteSystraceSection ctor args
Summary:
The constructor arguments to `ConcreteSystraceSection` are actually used. It seems like they were accidentally marked unused in D14181748.

Changelog:
[iOS][Fixed] - Remove __unused annotation from ConcreteSystraceSection ctor args.

Reviewed By: PeteTheHeat

Differential Revision: D18574190

fbshipit-source-id: 38d58da794341d4ecc52f3bc16e05ef2757cca1d
2019-11-19 10:51:59 -08:00
Samuel Susla 1926feea2b Fix missing nullability in PickerManager.setNativeSelectedIndex
Summary:
Changelog: [Internal]

To ensure compatibility with Android, nullability needs to be specified.

Reviewed By: shergin

Differential Revision: D18590634

fbshipit-source-id: 9cd969f4f187e8f1d004f03692dd9b29c4f37f95
2019-11-19 10:22:24 -08:00
Samuel Susla 2d80a248cd Migrate RefreshControl to Native Commands
Summary:
Changelog: [Internal]

Introduce native command `setNativeRefreshing`, it has the word Native in order to avoid name conflict with setRefreshing in Android implementation. Even this component is iOS only, it would make it easier to merge them in the future.

Introduce `RCTRefreshableProtocol` and make `RCTRefreshControl` and `RCTPullToRefreshViewComponentView` to conform to the protocol so view manager can forward command to both, Paper and Fabric component.

Reviewed By: mmmulani

Differential Revision: D18475804

fbshipit-source-id: 4c19225784efc931b7b8f2d2671cc839bce429bf
2019-11-19 10:06:56 -08:00
Valentin Shergin 83f0210cee Fabric: Attempt to fix a crash in RCTMountingTransactionObserverCoordinator
Summary:
We see a quite small but probably dangerous crash in RCTMountingTransactionObserverCoordinator, it's unclear why exactly it happens but seems it's somehow connected with a shape of RCTComponentViewDescriptor struct.
Specifying storage attribute (`__strong`) correctly/explicitly might fix the issue.

Changelog: [Internal] Fabric-specific internal change.

Reviewed By: sammy-SC

Differential Revision: D18567763

fbshipit-source-id: 57d9f96c4609a38ddf44ce02df53f2d713dfb116
2019-11-19 09:50:52 -08:00
Rick Hanlon 6db52c5fe0 LogBox - Add app version and move meta info
Summary:
This diff adds a new API `setAppInfo` to add app version and engine to LogBox and changes the way they're displayed so that they're more subtle and visible for screenshots.

Changelog: [Internal]

Reviewed By: cpojer

Differential Revision: D18592992

fbshipit-source-id: 1c57b21fa9dca93029ffc92acf1287f3ee247f4d
2019-11-19 09:36:28 -08:00