forked from facebook/react-native
-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merge in current master 02-19-2018 #4
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Reviewed By: emilsjolander Differential Revision: D6711991 fbshipit-source-id: 41ad7191bf8df6fe3131106436dc0c87e9dee297
Summary: Trivial. Reviewed By: sahrens Differential Revision: D6721449 fbshipit-source-id: 6ae001d4161167e0e86b1dc134c1621b3974b489
Summary: Trivial. Those lines were lost during rebasing of the original commit. Reviewed By: priteshrnandgaonkar Differential Revision: D6717696 fbshipit-source-id: a5dce25427c8977352b3ae7ea01e546a540e0c13
Summary: The code to display HMR errors on the client was reading the `description` field from Metro payloads. Metro does not include `description` in the body of its error payloads -- only in its `body.errors[]` items. This commit changes RN's HMR code to show `body.message` (set consistently with facebook/metro#124) instead of the non-existent `body.description`. Open a test RN app, enable HMR, and then introduce a syntax error in an app source file. See that the redbox provides information about the syntax error instead of just saying "TransformError undefined". - facebook/metro#124 [GENERAL][ENHANCEMENT][HMR] - Fix display of syntax error messages when HMR is enabled Closes #17619 Differential Revision: D6726516 Pulled By: mjesun fbshipit-source-id: b1d1008d6f1aa8f88ff8a2aa1374724a305c773b
…Manager Differential Revision: D6704701 fbshipit-source-id: 01feb61a9c2c263f88cca4fea5978957c5e4767f
Summary: SoLoader is more stable on older versions of Android. Switching to it should fix recurring issues that we get such as `UnsatisfiedLinkError` and so on. CI + run showcase app. Closes facebook/fresco#1989 Reviewed By: erikandre Differential Revision: D6556420 Pulled By: foghina fbshipit-source-id: ffc3faef6452294b4d781258c64ef57e08d107b5
Reviewed By: emilsjolander Differential Revision: D6726745 fbshipit-source-id: 99f91aabe2337b23953724545f97695238f2124e
Summary: <!-- Thank you for sending the PR! We appreciate you spending the time to work on these changes. Help us understand your motivation by explaining why you decided to make this change. You can learn more about contributing to React Native here: http://facebook.github.io/react-native/docs/contributing.html Happy contributing! --> I was going through the README and came across a broken link, so I needed to fix it. <!-- (Write your test plan here. If you changed any code, please provide us with clear instructions on how you verified your changes work. Bonus points for screenshots and videos!) --> <!-- (If this PR adds or changes functionality, please take some time to update the docs at https://github.com/facebook/react-native-website, and link to your PR here.) --> [ DOCS ] [ BROKEN LINK ] [README.md] <!-- Help reviewers and the release process by writing your own release notes **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 ] [ {File} ] [ IOS ] [ FEATURE ] [ {Directory} ] |-----------| [ ANDROID ] [ MINOR ] [ {Framework} ] - | {Message} | [----------] [-------------] [-------------] |-----------| [CATEGORY] [TYPE] [LOCATION] - 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 #17620 Differential Revision: D6727943 Pulled By: hramos fbshipit-source-id: ef76d1e4847bc9b190a2076d64fa89a86ca9df93
Reviewed By: emilsjolander Differential Revision: D6722959 fbshipit-source-id: 4e81176802b9a9319bc5f385c824a06be14a83a2
Summary: Waiting for layout is now available on main thread. Reviewed By: mmmulani Differential Revision: D6719836 fbshipit-source-id: ef655095e999df5f77e69c5931459cce1aaeb1f0
Summary: Another trivial sugar/helper to access computed by Yoga layout metrics. We will use it soon in the new Text render/layout engine. Reviewed By: mmmulani Differential Revision: D6671979 fbshipit-source-id: d36933415c2fa50bae5cc171434d8f0b281955b7
Reviewed By: amnn Differential Revision: D6695431 fbshipit-source-id: 76f4c09b7caadabad5b327af29c02afe61f31abd
Reviewed By: cpojer Differential Revision: D6732727 fbshipit-source-id: 80181ef184c90e3312789579034d70e2c3bcbf98
Differential Revision: D6736758 fbshipit-source-id: fd6905e41abd1545b4847ad8ee6c12c7e5ce246e
Differential Revision: D6578349 fbshipit-source-id: 84ebd66ed791a845e9cc0fbc7e12a377534aa903
Differential Revision: D6650192 fbshipit-source-id: 0eb0719fd3b7813add33a3d4fe3fb70e6f375fd7
Reviewed By: mdvacca Differential Revision: D6735812 fbshipit-source-id: 8144b72883150f9d7e2614ee0f238c1b8e44c6ab
Summary: Use the same header-only distribution of Boost that Android and the automatic ios-install-third-party.sh script uses. Greatly speeds up `pod install`, even when the distribution was already cached. The dependency tree looks like this: * React * cxxreact subspec * **Boost** (versioned, 1.63.0) * Folly * **Boost** (any version, will resolve to 1.63.0 from above) Alternative implementation of PR #16756. Fixes issue #16381. (same as #16756) * Install react-native via Cocoapods (or move a helloWorld react-native application over to use Cocoapods for dependency management) * Add CxxBridge instead of BatchedBridge to your Podfile * run pod install * run react-native run-ios [Add boost.podspec speed up download time & reduce size of the package](#16756) [IOS] [BUGFIX] [third-party-podspecs] - optimize CocoaPods installation (Boost distribution) Closes #17476 Differential Revision: D6746095 Pulled By: hramos fbshipit-source-id: 55b2b5a698691f7fca0bf4c31c4376c2b9eb5379
Summary: Tries to adress facebook/metro#65. We need a reasonnable workaround to support modules like `moment.js` that do dynamic requires but only in some cases. By replacing the call by a function that throws, we move the exception at runtime instead of happening at compile time. We don't want to do that for non-node_modules file because they are fixable directly, while `node_modules` are not fixable by people and they get completely blocked by the error at compile time. Reviewed By: rafeca Differential Revision: D6736989 fbshipit-source-id: a6e1fd9b56fa83907400884efd8f8594018b7c37
Reviewed By: furdei Differential Revision: D6741521 fbshipit-source-id: e8401982fbb3c3d6cd4bcc2581358fd4a5de12f9
Reviewed By: achen1 Differential Revision: D6693605 fbshipit-source-id: e58425b2a5b0bf75ffb41ef3ab6fa7ad46222531
…listener Reviewed By: mdvacca Differential Revision: D6735460 fbshipit-source-id: e038a68637a00fda7058fc82e253ae68cdf67c6e
Reviewed By: achen1 Differential Revision: D6750774 fbshipit-source-id: 96f9e0bd244fdbf1a8784f77a74686d886424529
Summary: Some of the classes of RCTText are now in the subfolders, this will fix pod integration for texts <!-- Thank you for sending the PR! We appreciate you spending the time to work on these changes. Help us understand your motivation by explaining why you decided to make this change. You can learn more about contributing to React Native here: http://facebook.github.io/react-native/docs/contributing.html Happy contributing! --> I have integrated React Native into my project with [this guide](https://facebook.github.io/react-native/docs/integration-with-existing-apps.html) and got the error `No component found for view with name RCTText`. Searching in the web did not give any useful information so I started to dig into the code and found out that there is now subfolders and pod taking only root classes. After making this change project started to compile again. Create empty project with pods integrated add `RCTText` subspec and in `.js` file add some `<Text>` element Fixed `RCTText` subspec integration. Closes #17655 Differential Revision: D6751039 Pulled By: hramos fbshipit-source-id: f4538d1125af2b45f36e2fa535382e032dbc8f4e
Summary: Builds off of cae7179 - Make the prop a dictionary for more configuration options - Rename `maintainPositionAtOrBeyondIndex` -> `maintainVisibleContentPosition` + `minIndexForVisible` - Add autoscroll threshold feature Given the async native of RN JS and background layout, there is no way to trigger the scrollTo from JS without risking a delay, so we add the feature in native code. == Test Plan == ScrollViewExample: https://youtu.be/pmY8pxC9PRs Reviewed By: shergin Differential Revision: D6729160 fbshipit-source-id: 70f9bae460ce84567857a4f696da78ce9b3b834c
Differential Revision: D6748200 fbshipit-source-id: eb98782c2ba080273c1f027846984f5f4caddf26
Reviewed By: achen1 Differential Revision: D6751078 fbshipit-source-id: 32bfb9ac64f183fabbba85755be372016722afc6
…up or ReactRootView Reviewed By: achen1 Differential Revision: D6653395 fbshipit-source-id: 849b1a2ed6ab9bc057414d451e97a673178c30dd
Reviewed By: BYK Differential Revision: D6752279 fbshipit-source-id: 250255a3b1226f8aab6054e507cb3910cdcd6a85
Reviewed By: BYK Differential Revision: D6759031 fbshipit-source-id: b6ba1e2da77b944c8c73d229749f84d9c16035c7
Reviewed By: BYK Differential Revision: D6980337 fbshipit-source-id: 72c01136b6720390ffec8593f0375c8756dc1d4a
Differential Revision: D6982515 fbshipit-source-id: 5483f6c677c6653e51f6311386f31f5be6ed0e00
Reviewed By: priteshrnandgaonkar Differential Revision: D6918605 fbshipit-source-id: e424c78680c04e21154ebe21405671c4e90f6529
Reviewed By: fkgozali Differential Revision: D6979072 fbshipit-source-id: 8b4ac3769496a6a6fe3dd9ee2aac64b66604c413
Reviewed By: priteshrnandgaonkar Differential Revision: D6935971 fbshipit-source-id: a2008f1eb849b5074585b48699b7de56d5ac90d4
Reviewed By: BYK Differential Revision: D6978514 fbshipit-source-id: 3c6be52d38fedbe849dee6319bb2e4d7a97297c9
Reviewed By: jeanlauliac Differential Revision: D6987657 fbshipit-source-id: 8762732de671418520376a98bdd724bbb24e4e36
Summary: When the following conditions are met, the main size become smaller by the margins in the main axis. * The aspect ratio is defined * The main size is not defined * The cross size is defined * The main margin is defined This is because the main margin size is not included when calculating the main size from the aspect ratio. Closes facebook/yoga#715 Reviewed By: emilsjolander Differential Revision: D6998988 Pulled By: priteshrnandgaonkar fbshipit-source-id: f6f69c47ece17bd7c5e41517b96032bf0c149356
Reviewed By: TheSavior Differential Revision: D6997050 fbshipit-source-id: 81e45d24343cca8336adb0de43bd766899ff03b6
Reviewed By: fkgozali Differential Revision: D6989838 fbshipit-source-id: f092901cacc0c3eb89b08c6ac0384c4d5f6e6cfe
Reviewed By: sebmarkbage Differential Revision: D7001974 fbshipit-source-id: a49c6e634ac710805fb37a50a61c2cf2e248b8a7
Summary: A demo illustrated `base-line` metric exposure to layout system was added to RNTester. And currently it shows that we don't support it at all. https://cl.ly/1F0B0D430U3e Reviewed By: sahrens Differential Revision: D6957056 fbshipit-source-id: 28776300fc8e11950ac5ba1a5416f68d31d4e9fb
Summary: Now <Text> exposes base-line metric to Yoga. Before: https://cl.ly/1F0B0D430U3e After: https://cl.ly/0G1Q29450O0y Reviewed By: yungsters Differential Revision: D6957055 fbshipit-source-id: 04c1df693915e294b54e3c33e0aea21611dcc232
Summary: Now <TextInput> (both bersions) exposes base-line metric to Yoga. Before: https://cl.ly/0G1Q29450O0y After: https://cl.ly/2X103V3O0322 Reviewed By: yungsters Differential Revision: D6957054 fbshipit-source-id: d76d96f56720d710a4230c53beafdb0b2521e8a9
Reviewed By: adamjernst Differential Revision: D6997829 fbshipit-source-id: 5f8d41a6126f02c9fb9d0fb90d89df28eeea9653
Summary: This PR adds support for Animated tracking to Animated Native Driver implementation on Android and iOS. Animated tracking allows for animation to be started with a "dynamic" end value. Instead of passing a fixed number as end value we can pass a reference to another Animated.Value. Then when that value changes, the animation will be reconfigured to drive the animation to the new destination point. What is important is that animation will keep its state in the process of updating "toValue". That is if it is a spring animation and the end value changes while the previous animation still hasn't settled the new animation will start from the current position and will inherit current velocity. This makes end value transitions very smooth. Animated tracking is available in JS implementation of Animated library but not in the native implementation. Therefore until now, it wasn't possible to utilize native driver when using animated tracking. Offloading animation from JS thread turns out to be crucial for gesture driven animations. This PR is a step forward towards feature parity between JS and native implementations of Animated. Here is a link to example video that shows how tracking can be used to implement chat heads effect: https://twitter.com/kzzzf/status/958362032650244101 In addition this PR fixes an issue with frames animation driver on Android that because of rounding issues was taking one extra frame to start. Because of that change I had to update a number of Android unit tests that were relying on that behavior and running that one additional animation step prior to performing checks. As a part of this PR I'm adding three unit tests for each of the platforms that verifies most important aspects of this implementation. Please refer to the code and look at the test cases top level comments to learn what they do. I'm also adding a section to "Native Animated Example" screen in RNTester app that provides a test case for tracking. In the example we have blue square that fallows the red line drawn on screen. Line uses Animated.Value for it's position while square is connected via tracking spring animation to that value. So it is ought to follow the line. When user taps in the area surrounding the button new position for the red line is selected at random and the value updates. Then we can watch blue screen animate to that position. You can also refer to this video that I use to demonstrate how tracking can be linked with native gesture events using react-native-gesture-handler lib: https://twitter.com/kzzzf/status/958362032650244101 [GENERAL][FEATURE][Native Animated] - Added support for animated tracking to native driver. Now you can use `useNativeDriver` flag with animations that track other Animated.Values Closes #17896 Differential Revision: D6974170 Pulled By: hramos fbshipit-source-id: 50e918b36ee10f80c1deb866c955661d4cc2619b
Summary: Letting them fire on whatever queue we get the notification from throws an assert. Reviewed By: shergin Differential Revision: D7002789 fbshipit-source-id: 669474af1a07f0df6784b69b54afe0152c1ba3c4
Reviewed By: sahrens Differential Revision: D7003464 fbshipit-source-id: f36ff344c50a9c63af6c852138041c1c918259c8
…ndroid Reviewed By: sebmarkbage Differential Revision: D7005419 fbshipit-source-id: 6e65be5a922ddb29fde965f5df779cc92a996ecf
Summary: This should fix our current Android test failures. Closes #18002 Differential Revision: D7014218 Pulled By: hramos fbshipit-source-id: 2933baf9fd05f3ad33306c3ca7b62da8af568db0
Summary: jsbundle files can be generated, and are quite large and therefore, I think should be excluded from being committed to the repo. [ GENERAL ][ MINOR ][local-cli/templates/_gitignore] - Included a new entry to ignore jsbundle files Closes #17888 Differential Revision: D6977064 Pulled By: hramos fbshipit-source-id: 9c7803004f3f4ec59cba3017213f68fba8225dbf
Summary: When running with the packager in the tvOS simulator, reloading from the packager hits an assert in `RCTEventEmitter`, causing a crash. The solution is for `RCTTVNavigationEventEmitter` to check for the existence of the bridge before attempting to send an event. Manual testing. [IOS] [BUGFIX] [RCTTVNavigationEventEmitter.m] - Fix crash when reloading in tvOS Closes #17797 Differential Revision: D7014975 Pulled By: hramos fbshipit-source-id: 0bf766e87267ca8592ff0cc0b3cb4621a8e8f9b5
Summary: #7308 and many of the same Seems like xcode cli tool isn't create ./build directory any more but place Products right inside ./Build (may check while creating single view ios application in XCode) * edit hardcoded path to {appName}.app <!-- Thank you for sending the PR! We appreciate you spending the time to work on these changes. Help us understand your motivation by explaining why you decided to make this change. You can learn more about contributing to React Native here: http://facebook.github.io/react-native/docs/contributing.html Happy contributing! --> Command `$ react-native run-ios` is often lead to `Entry, ":CFBundleIdentifier", Does Not Exist` I find out how to fix it in current version of RN and Xcode cli tools Just try to do `$ react native init {appName}` and then `$ react native run-ios` if everything fine it means my approach is right :) <!-- Help reviewers and the release process by writing your own release notes **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 ] [ {File} ] [ IOS ] [ FEATURE ] [ {Directory} ] |-----------| [ ANDROID ] [ MINOR ] [ {Framework} ] - | {Message} | [----------] [-------------] [-------------] |-----------| [CATEGORY] [TYPE] [LOCATION] - 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 #17963 Differential Revision: D7014984 Pulled By: hramos fbshipit-source-id: da62f130e6ebf7d3acd09d36525838d5c9684e75
Summary: Better integration with the Android Gradle-based build process, especially the changes introduced by the [Android Gradle Plugin 3.x and AAPT2](https://developer.android.com/studio/build/gradle-plugin-3-0-0-migration.html). Fixes #16906, the `android.enableAapt2=false` workaround is no longer required. Bases the task generation process on the actual application variants present in the project. The current manual process of iterating build types and product flavors could break down when more than one dimension type is present (see https://developer.android.com/studio/build/build-variants.html#flavor-dimensions). This also exposes a very basic set of properties in the build tasks, so that other tasks can more reliably access them: ```groovy android.applicationVariants.all { variant -> // This is the generated task itself: def reactBundleTask = variant.bundleJsAndAssets // These are the outputs by type: def resFileCollection = reactBundleTask.generatedResFolders def assetsFileCollection = reactBundleTask.generatedAssetsFolders } ``` I've tested various combinations of product flavors and build types ([Build Variants](https://developer.android.com/studio/build/build-variants.html)) to make sure this is consistent. This is a port of what we're currently deploying to our CI process. [ ANDROID ] [ BUGFIX ] [ react.gradle ] - Support Android Gradle Plugin 3.x and AAPT2 [ ANDROID ] [ FEATURE ] [ react.gradle ] - Expose the bundling task and its outputs via ext properties Closes #17967 Differential Revision: D7017148 Pulled By: hramos fbshipit-source-id: e52b3365e5807430b9caced51349abf72332a587
Summary: Fork and rebase of gillessed's PR #13166 which has gotten stale. From original PR: Motivation (required) Multiple react native developer (including myself) have run into a crash with the react-native-photo-view library (and possibly others). The common solution to this problem lies in the underlying java code, and thus requires a change in the react native source. The stack trace I am getting is the same as listed here alwx/react-native-photo-view#15. There was a PR to fix this (#12085) but it was closed. In response to the comments there, in my PR, I do log the exceptions. I don't think we can get any closer to the exception because in the next level of the stack trace, we are in the android sdk code. Looking at some stack overflow pages and the android bug tracker, it seems that this is the common solution to this bug, and does not cause any impact any functionality. https://code.google.com/p/android/issues/list?can=1&q=pointerindex+out+of+range&colspec=ID+Status+Priority+Owner+Summary+Stars+Reporter+Opened&cells=tiles Test Plan (required) I have manually tested this by compiling react native android from source and have confirmed the exception still gets hit and logged, but does not cause the app to terminate. Closes #17167 Differential Revision: D7014296 Pulled By: hramos fbshipit-source-id: 06b4a31062a591b726d2021e877d16f49881dcfd
Summary: Includes React Native and its dependencies Fresco, Metro, and Yoga. Excludes samples/examples/docs. find: ^(?:( *)|( *(?:[\*~#]|::))( )? *)?Copyright (?:\(c\) )?(\d{4})\b.+Facebook[\s\S]+?BSD[\s\S]+?(?:this source tree|the same directory)\.$ replace: $1$2$3Copyright (c) $4-present, Facebook, Inc.\n$2\n$1$2$3This source code is licensed under the MIT license found in the\n$1$2$3LICENSE file in the root directory of this source tree. Reviewed By: TheSavior, yungsters Differential Revision: D7007050 fbshipit-source-id: 37dd6bf0ffec0923bfc99c260bb330683f35553e
Summary: Manual changes. Reviewed By: TheSavior, yungsters Differential Revision: D7012152 fbshipit-source-id: de7459be3db13c687868b45059856f125c4f2eb1
Reviewed By: gabelevi Differential Revision: D7016717 fbshipit-source-id: 2bd2fd67074ba5d405ecd63a1aeb37354f8634c9
Summary: Include a default blacklist into the build settings to prevent processing of incorrect fixture files by Metro. <!-- Thank you for sending the PR! We appreciate you spending the time to work on these changes. Help us understand your motivation by explaining why you decided to make this change. You can learn more about contributing to React Native here: http://facebook.github.io/react-native/docs/contributing.html Happy contributing! --> Fix #17610 issue, preventing metro from processing fixture files 1. Have a working demo 2. Install https://github.com/oblador/react-native-vector-icons 3. Use in a component 4. Start the app 5. The app starts successfully and display the icons [ GENERAL ] [ BUGFIX ] [local-cli/util/Config.js] - Add default file blacklist Closes #17672 Differential Revision: D7014627 Pulled By: hramos fbshipit-source-id: 20974e6fdd0977eeeb1048c29c9d621c803c26e9
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Motivation
Catch this branch up for my current PR to latest
master