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 latest Master #1
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
Summary: Add `bin` field to `package.json`. It will be required for initializing `react-native` with `npx`: ```sh npx react-native init ProjectName ``` [General] [Added] - Added bin to package.json cc thymikee cpojer Pull Request resolved: #24187 Differential Revision: D14672211 Pulled By: hramos fbshipit-source-id: 9e8633213bba4b3f02d20b54391a04d0a1a19376
Summary: title Differential Revision: D14634458 fbshipit-source-id: 60adbc117ba3ac3bff00f2b8ad8781e881e9e4b3
Summary: This diff removes the `WebView` export from React Native. Internally, we are requiring `WebView` directly now and externally people will have to use the community maintained module. This diff does not yet move the WebView files from the repo, this will happen in a follow-up. Note that I had to remove a test for Cookies that displayed data in a WebView. I don't think there is an easy way to retain this (debugging) information that likely very few people ever take a look at so I think it is fine. Reviewed By: TheSavior Differential Revision: D14613077 fbshipit-source-id: b1d412f970d09d7d70ecac2c23e62cfdd09d7c8e
Summary: This diff exposes the collapsable prop as part of LayoutShadowNode, fixing the bug of the collapsable prop being filtered by JS in Fabric Reviewed By: shergin Differential Revision: D14594522 fbshipit-source-id: a892ba8228e76f11232acc6fe5c8d75e991d8fc6
Summary: Adds debug logging in FabricUIManager and the mounting layer of Fabric. Reviewed By: shergin Differential Revision: D14594521 fbshipit-source-id: a5c0ee39e1bac8a340849ca3e044694cbee5427e
Summary: Simple diff that refactors the usage of the sComponentNames to not require components to be part of the mapping when the name in JS is the same as the name in Native side. Reviewed By: shergin Differential Revision: D14594659 fbshipit-source-id: d1948b27e04686fefbf9b6e2b06d4f9317b97062
Summary: This diff fixes the scrolling of Android Horizontal Scroll View, the root cause was that Binding was mounting a ScrollView instead of an AndroidHorizontalScrollView component. This will be automatically fixed when all the View components are autogenerated. Reviewed By: shergin Differential Revision: D14594622 fbshipit-source-id: 7c477ca167188ea9c473f61145461d3cf1696e17
Summary: Small changes to State objects to support Android. See following diffs. Reviewed By: mdvacca Differential Revision: D14663470 fbshipit-source-id: 878f4dc39265991a7b8ff54ca80bdb862f1dd3de
Summary: When calling into JS (e.g. promise resolve/reject, callback) in TurboModule, we bypass the bridge's message queue. At times this causes race condition, where there are a bunch of pending UI operations (in RCTUImanager) waiting to be flushed, but nothing adds calls to the message queue. Usually tapping the screen will trigger the flush because we're sending down touch events to JS. Reviewed By: JoshuaGross Differential Revision: D14656466 fbshipit-source-id: cb3a174e97542bf80f0a37b4170b6a8e6780fa35
Summary: If size is zero, the `CGContext` would invalid, so we need to filter zero things. cc. shergin [iOS] [Fixed] - Fix invalid CGContext when invalidate layer Pull Request resolved: #24195 Differential Revision: D14683396 Pulled By: shergin fbshipit-source-id: b5b45fb86ca3158284281460cf1d95d1b22eab0d
Summary: Otherwise reloading from metro deadlocks like this: `[RCTSurfaceRegistry _stopAllSurfaces]` is calling `[RCTSurfaceRegistry enumerateWithBlock]` which locks `_mutex` and then we call `surfaceForRootTag` which then deadlocks on the same mutex: https://pxl.cl/tmm1 Reviewed By: shergin Differential Revision: D14679843 fbshipit-source-id: 9f4ecdfa7a79fcf7f3fc2ce437d4399b00910f26
Summary: With the recent change, JSCallInvoker now expects `Instance` to be passed in, not just the `MessageQueueThread`. There needs to be more plumbing to get the instance of `Instance` from the Java side, but this commit is just to unbreak the build temporarily. Reviewed By: JoshuaGross Differential Revision: D14687622 fbshipit-source-id: 42e0173ee8336fc5660fe8188a1e1f8517611521
Summary: This moves all the JS files and updates the BUCK files. The next step is to move the Android and iOS native files. Reviewed By: TheSavior Differential Revision: D14618890 fbshipit-source-id: 42984acdf5920e712f272d5742c778943be37ac5
…WeakHashSet implementation. T?" Summary: Original commit changeset: 2998bffb06e2 Reviewed By: JoshuaGross Differential Revision: D14689422 fbshipit-source-id: 2638bed8005859cc95972ba5f78a9e9cace878ef
…roken ReactContext listeners mechanism." Summary: Original commit changeset: d506e5035a7f Reviewed By: JoshuaGross Differential Revision: D14689559 fbshipit-source-id: 9a8c8be0d2b7b9dd9be1ec038d7c3b356a5e3adf
Summary: Moves a number of requireNativeComponent calls to standalone files to support codegen Reviewed By: TheSavior Differential Revision: D14654018 fbshipit-source-id: 349b975cd3a99a9373b2b9b1a19aa311d7c36399
Summary: Before the fix, the algorithm compares ShadowViews to make a decision should it recursively call itself or not; that didn't work properly because a ShadowView doesn't fully represent the state of the subtree tree (e.g. they don't have information about children nodes). After the fix, we compare pointers to ShadowNodes (by comparing pairs). Reviewed By: mdvacca Differential Revision: D14696996 fbshipit-source-id: 560d623b15a272f13b08a11745dec6be39a5dbdd
Summary: Trivial. Reviewed By: mdvacca Differential Revision: D14696997 fbshipit-source-id: 5f093ae5f343f2a2a2ee060f0574a6acf4c186d4
Summary: Temporarily disable View Pooling in Fabric Naming of classes will change in the near future Reviewed By: JoshuaGross Differential Revision: D14685009 fbshipit-source-id: 83573dd09af0202a67d0d0aa11e37c1660c3991f
Summary: If a NativeModule method requires an optional boolean argument, our codegen translates those optional booleans into `NSNumber*` instead of `BOOL`. The reason why is probably because this is the closest object analogue to `BOOL` in Objective C. The same boxing occurs with numbers. If the type of a number argument in JavaScript is optional, we'll map it to the `NSNumber*` Objective C type instead of `double`. Our existing TurboModules argument conversion code would not take this behaviour into account. Therefore, we'd try to insert a `BOOL` where the `NSInvocation` would expect a `NSNumber*`. This, in turn, would cause the app to crash. (Why would it crash at the point of NSInvocation retainArguments, I'm still not sure). Our flow typechecking ensures that if the type of a method argument is a boolean, we pass in a boolean. Therefore, on the Native side, if we detect a boolean, we can check the type of the Native argument to see whether we should box the primitive. If the native argument type is an object, then we know it has to be an `NSNumber*` in both cases, so we simply wrap the `BOOL` or `double` in a `NSNumber*`. Reviewed By: shergin Differential Revision: D14679590 fbshipit-source-id: c394a878492aab8e98c71d74ec8740a94fc3a6c5
Summary: Xcode 10.2 forbids creating categories for swift class that uses `+load` method. In react-native categories like this are used to register swift classes as modules (macro `RCT_EXTERN_MODULE`) This PR changes it to use `__attribute__((constructor))` instead of objc `+load` method. I introduced new macro for this purpose, `RCT_EXPORT_MODULE_NO_LOAD`, it expands in something like: ``` void RCTRegisterModule(Class); + (NSString *)moduleName { return @"jsNameFoo"; } __attribute__((constructor)) static void initialize_ObjcClassFoo{ RCTRegisterModule([ObjcClassFoo class]); } ``` Functions marked with `__attribute__((constructor))` are run before main and after all `+load` methods, so it seems like correct thing to do. Fixes #24139 Doc about loading order https://developer.apple.com/documentation/objectivec/nsobject/1418815-load?language=objc [iOS] [Fixed] - Fix runtime crash in xcode 10.2 when using RCT_EXTERN_MODULE for swift classes. Pull Request resolved: #24155 Reviewed By: javache Differential Revision: D14668235 Pulled By: shergin fbshipit-source-id: 0c19e69ce2a68327387809773848d4ecd36d7461
Reviewed By: cpojer Differential Revision: D14692916 fbshipit-source-id: 6bcfda8aa8c7d22dce36828dae9f57068815ce20
Summary: Moved layout outputs transfer logic from YogaNodeJNIBase to YogaNodeJNI. This change set is for adding experiment for layout outputs batching using a float array Reviewed By: davidaurelio Differential Revision: D14642995 fbshipit-source-id: 5d0bc7fa18c1985be7e216d7351f5eab2e03861d
…ts are reset properly Summary: This diff adds a test for reset method in YogaNodeJNI to verify all layout outputs are reset properly Reviewed By: davidaurelio Differential Revision: D14643926 fbshipit-source-id: fffbcd07ccb6d2df83fc0bf187d992ef194f3bd0
…ray from c++ to java Summary: This diff adds the logic to transfer layout outputs using a float array Reviewed By: davidaurelio Differential Revision: D14368120 fbshipit-source-id: d1f22283bcea051d15657f42c15b90edaa0a8a7a
Summary: Using a config flag to switch between different implementations of transferring layout outputs - YogaNodeJNI uses multiple access of java fields to pass all properties like width, height, margin etc... - YogaNodeJNIBatching uses a float array to pass all the data in one java field access Reviewed By: davidaurelio Differential Revision: D14378301 fbshipit-source-id: 0da5b28e6a67ad8fd60eb7efe622d9b2deaf177f
Summary: Looks like there are already a bunch of issues in the codebase because this wasn't on. Reviewed By: cpojer Differential Revision: D14701084 fbshipit-source-id: 09ff8e0d905b81fbe08c41d4f58758479b38187b
Summary: This is the first diff in an effort to remove Geolocation from React Native. This diff removes the globally injected navigator.geolocation feature and instead requires explicit importing of `Geolocation`. When using Web APIs, people will need to patch `navigator.geolocation` on their own from now on. Reviewed By: sahrens Differential Revision: D14692386 fbshipit-source-id: c57b290b49728101250d726d67b1956ff23a9a92
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.
merge in latest master to fork