Merge from upstream through 2020-06-07#814
Merged
amgleitman merged 455 commits intomicrosoft:masterfrom Aug 23, 2021
Merged
Conversation
Summary: Quick diff to log of content of UpdateState mount item. This is useful for debugging. Note this will ONLY be logged when the constant FabricUIManager.IS_DEVELOPMENT_ENVIRONMENT is set to true changelog: [Internal][Android] internal log for fabric android Reviewed By: JoshuaGross Differential Revision: D21428345 fbshipit-source-id: d000eb6dbdd39d15935fa2102072790e17372682
Summary: This diff fixes a NullPointerException thrown when calling measureLayout function on a virtual node. changelog: [Android] Fix measureLayout function for VirtualTexts Reviewed By: JoshuaGross Differential Revision: D21435030 fbshipit-source-id: aba6d81f333464e49d2d769b111842e7ae8ce769
Summary: Pull Request resolved: facebook#28833 The checked-in RNTester podfile was generated using Cocoapods version 1.9.1. This doesn't match the version currently used in CircleCI, which is 1.8.4. In order to update the offline mirrors and land them without breaking CircleCI, it seems we need to switch back to 1.8.4. This diff updates the podfile back to 1.8.4 and updates the offline mirrors. Reviewed By: fkgozali Differential Revision: D21392989 fbshipit-source-id: b14aa6e2798175534e9416410ba9d6877fb718c0
Summary: `RunLoopObserver` is one of the core interfaces that bridge intrinsically platform-specific functionality to cross-platform React Native core. `RunLoopObserver` allows subscribing for notifications about changes in a run loop life cycle. Primarily it supposed to be used for observing UI (aka main) and JavaScript execution thread/run-loop. Having a `RunLoopObserver` implemented in a platform-specific manner allows building these components in a cross-platform manner: * Sync and async UI event delivery pipeline; * Timing for some animation engine; * Timers (probably additional features are required). Changelog: [Internal] Fabric-specific internal change. Reviewed By: sammy-SC Differential Revision: D21341997 fbshipit-source-id: 7ef61fb51f550dd0f2e89c64af657e0f0de029aa
…AsynchronousEventBeat` Summary: `SynchronousEventBeat` and `AsynchronousEventBeat` are a cross-platform re-implementation of run loop related parts of `MainRunLoopEventBeat` and `RuntimeEventBeat` (iOS specific classes for now). In the future, they will replace iOS- and Android-specifc event beat classes. Changelog: [Internal] Fabric-specific internal change. Reviewed By: sammy-SC Differential Revision: D21341996 fbshipit-source-id: 8eda9a5df537cd666b7728e32212a8bb5ddb3ab7
…ate temporary redirect. Summary: Move and create an empty rule that redirects as well, to handle //arvr rules Need to do this way, since ovrsource sync rules are in different repo. allow_many_files allow-large-files Steps: - [X] Move glog from xplat/third-party to /third-party - [ ] Update references in ovrsource to translate to //third-party instead of //xplat/third-party - [ ] Get rid of temporary rule - [ ] Update fbsource/third-party/glog to 0.3.5 (what we have in ovrsource) Changelog: [Internal] Update reference for glog from xplat/third-party to /third-party. Reviewed By: yfeldblum Differential Revision: D21363584 fbshipit-source-id: c1ffe2dd615077170b03d98dcfb77121537793c9
Summary: - Fixed typing of Animated and fixed the callsites Changelog: [Internal] Reviewed By: kacieb Differential Revision: D21311870 fbshipit-source-id: 386fb496ab00ef7917273dc3eb65e1ed76a8dd33
Summary: We consume Hermes through multiple .so's, which means we have multiple (weak) typeinfo definitions of facebook::jsi::JSError. Previously we were using gnustl, which would strcmp typeinfo to decide whether a certain exception handler applies, which meant this didn't cause any major issues. However since this is deprecated, we recently switched to libc++, which does not have this by behaviour (or it does, but behind a flag I'm not sure how to enable). This causes any JS exceptions to fall through from our exception handlers and fatal the app. This problem is actually documented in the common Android NDK problems page: https://android.googlesource.com/platform/ndk/+/master/docs/user/common_problems.md#rtti_exceptions-not-working-across-library-boundaries The suggested solution is to ensure that any exception types have a key function defined (a non-pure, out-of-line virtual function). The simplest one to add is a virtual destructor. This makes the object file that holds the implementation of the destructor export a non-weak typeinfo definition which will at load time override the other weak versions. I'm not sure why we're the first to hit this. RN's JSIExecutor doesn't explicitly reference JSError which probably helps (https://github.com/facebook/react-native/blob/master/ReactCommon/jsiexecutor/jsireact/JSIExecutor.cpp#L256-L258) and they also don't use unguarded callbacks like we do. Changelog: [Internal] Reviewed By: mhorowitz Differential Revision: D21426524 fbshipit-source-id: 474284ada1ca2810045dc4402c420879447f9308
Summary: Pass a default empty object to `AppContainer` if no `initialProps` were passed to `renderApplication`. This prevents issues on Android, where we do not pass a default empty `initialProps` from native, as we do on iOS. Changelog: [General] [Fixed] - Handle nullish `initialProps` correctly in `renderApplication` Reviewed By: motiz88 Differential Revision: D21448692 fbshipit-source-id: 9630bdc2414532999abf3bf9da25047f0482fcab
Summary: ~~⚠️ Depends on facebook/flipper#1086 and a new Flipper release.~~ Fixes facebook@17f025b#commitcomment-38831234 Currently user’s are being told to add a definition of the `FB_SONARKIT_ENABLED` macro and examples, including those in stock React Native templates, set this for the user by making use of a `post_install` hook in the user’s `Podfile`. This leads to confusion, fragile code [when a user’s project dir structure deviates from vanilla], and is ultimately not necessary as CocoaPods already has dedicated mechanisms to: * specify build settings (through the `xcconfig` property); * and selectively include certain pods only in certain build configurations (e.g. debug). ## Changelog <!-- Help reviewers and the release process by writing your own changelog entry. For an example, see: https://github.com/facebook/react-native/wiki/Changelog --> [iOS] [Changed] - Entirely control Flipper being enabled through inclusion in Podfile and optionally limiting to certain build configurations using the `:configuration` directive. Pull Request resolved: facebook#28796 Test Plan: Tested using the changes of facebook/flipper#1086 in a new app that uses RN `master`. Reviewed By: priteshrnandgaonkar Differential Revision: D21449754 Pulled By: passy fbshipit-source-id: 9ff7c7f4ffc32b364b1edd82b94e0b80c3997625
Summary: Currently the schema only allows to exclude a single platform (iOS OR Android). There are cases where we need to exclude multiple. This change converts the previous `excludePlatform` string property into an `excludePlatforms` array. Changelog: [Internal][Changed] - Added support to exclude multiple platforms in Codegen. Reviewed By: sammy-SC Differential Revision: D21426950 fbshipit-source-id: eff36ffa207109274794b4b300bf6313f8286161
Summary: This diff extends the ParagraphAttribute class to store the value of the includeFontPadding prop. Note that this is an Android only prop, I'm not creating android blocks to improve "cleanliness" of the code. changelog: [Internal][Fabric] Internal change in Fabric to support Text.includeFontPadding prop in fabric Reviewed By: shergin Differential Revision: D21446738 fbshipit-source-id: 0543e86aa18ce10f7a56bbaafe111cce0179ea86
Summary: This diff exposes the Text.includeFontPadding prop to java, then it uses the prop to calculate the height of Text components correctly. changelog: [Internal][Fabric] Internal change in Fabric to support Text.includeFontPadding prop in fabric Reviewed By: shergin Differential Revision: D21446737 fbshipit-source-id: efe73fb6b0d402c3275ac8c012fa8fa06b743bdd
Summary: Quick refactor of TextLayoutManager class changelog: [Internal] Reviewed By: shergin Differential Revision: D21446736 fbshipit-source-id: a32bdf534b167e128c8c0054cf6a126131fa740a
Summary: Use folly to wrap optional return types and values as needed. Changelog: [Internal] Reviewed By: RSNara Differential Revision: D21395439 fbshipit-source-id: a0e84e20717887e79a8565332a11fef42ebd3487
Summary:
Handle properties named 'id' as a special case.
An example of a native module that ran afoul of this is `ExceptionsManager`.
Observe how the ExceptionsManager spec at `Libraries/Core/NativeExceptionsManager.js` defines the ExceptionData type as containing an `id` property:
```
export type ExceptionData = {
message: string,
originalMessage: ?string,
name: ?string,
componentStack: ?string,
stack: Array<StackFrame>,
id: number,
isFatal: boolean,
// flowlint-next-line unclear-type:off
extraData?: Object,
...
};
```
Prior to this change, the generated code would redefine id in the SpecReportExceptionData struct...
```
namespace JS {
namespace NativeExceptionsManager {
struct SpecReportExceptionData {
// ...redacted...
double id() const; <---
// ...redacted...
SpecReportExceptionData(NSDictionary *const v) : _v(v) {}
private:
NSDictionary *_v;
};
}
}
```
...which would result in a build time error:
```
inline double JS::NativeExceptionsManager::SpecReportExceptionData::id() const
{
id const p = _v[@"id"];
^--- build time error here
return RCTBridgingToDouble(p);
}
```
Comparing the above example with the currently checked in `FBReactNativeSpec.h`, I see the expected output should be:
```
namespace JS {
namespace NativeExceptionsManager {
struct SpecReportExceptionData {
// ...redacted...
double id_() const;
// ...redacted...
SpecReportExceptionData(NSDictionary *const v) : _v(v) {}
private:
NSDictionary *_v;
};
}
}
```
...and...
```
inline double JS::NativeExceptionsManager::SpecReportExceptionData::id_() const
{
id const p = _v[@"id"];
return RCTBridgingToDouble(p);
}
```
Changelog: [Internal]
Reviewed By: fkgozali
Differential Revision: D21395463
fbshipit-source-id: e412648013ff9f70ebd294b6f5f81f1faccb4604
Summary: This diff eager initializes Fabric Android classes. This should help load all the Fabric classes at Bridge load time. changelog: [Internal] Reviewed By: JoshuaGross Differential Revision: D21460507 fbshipit-source-id: 4b8d5c4e2d19e3a7eb3077027071e64ff16f1cbd
Summary: This removes the Hermes.setPauseOnLoad. It will be replaced by the more standard Debugger.setInstrumentationBreakpoint's "beforeScriptExecution" event. ChangeLog: [Internal] Remove Hermes.setPauseOnLoad message (to be replaced) Reviewed By: mhorowitz Differential Revision: D21418219 fbshipit-source-id: 93c53801c23487f9336b322c2bd737663ec21b97
Summary: This diff adds support for the "beforeScriptWithSourceMapExecution" instrumentation breakpoint via "Debugger.setInstrumentationBreakpoint". CDP describes it as a breakpoint, but we just set a flag in the inspector. A fake breakpoint ID is synthesized for optional removal later. Changelog: [Internal] Add Debugger.setInstrumentationBreakpoint to Hermes Inspector Reviewed By: mhorowitz Differential Revision: D21418218 fbshipit-source-id: 90fa49c0954980993815322d3a7effee416ed5db
Summary: For internal code attribution. Changelog: [Internal] Reviewed By: zlern2k Differential Revision: D21468924 fbshipit-source-id: 59cd2a52e0ae46bedbf54816820a5f40b684da8b
Summary: Adds a script that uses `react-native-codegen` to generate FBReactNativeSpec. The generated output should not be considered ready for production use at this time. The goal of adding this script at this time is to demonstrate the current status of native modules specs code generation in open source. For example, the generated output may be used in RNTester, with some modifications due to some naming differences in react-native-codegen's output when compared to the FBReactNativeSpec files generated by the old codegen. Usage: ``` ./scripts/generate-native-modules-specs.sh ./codegen-out ``` Changelog: [Internal] Reviewed By: TheSavior Differential Revision: D21471004 fbshipit-source-id: 5ff3c57807d9ba2c91dc7fe32d227d218732b059
Summary: When you profile your heap and memory allocations with Memory Profiler, files with *.hprof extension are created in /android folder that has big sizes (up to 600 MB for each). These files may be needed to add to gitignore. ## Changelog <!-- Help reviewers and the release process by writing your own changelog entry. For an example, see: https://github.com/facebook/react-native/wiki/Changelog --> [Android] [Added] - Add *.hprof files to gitignore Pull Request resolved: facebook#28789 Differential Revision: D21432927 Pulled By: hramos fbshipit-source-id: a20f12645de5ca0874c9130094e2f97fe16b2203
Summary: *This is a follow-up to facebook#28645, redone using a build script based off of Metro's build script instead of using `flow-remove-types` and `flow-copy-source`.* This pull request adds a build step to `react-native-codegen` that builds the Flow-annotated JS files so that users of the NPM module `react-native-codegen` do not need to use require hooks to be able to import it. A new build script, `scripts/build.js` is added that builds every JS file in `src/` into a `lib/` folder, and also copies over the original Flow annotated files to `lib/` with a `.js.flow` extension, so users of `react-native-codegen` can still typecheck against it using Flow. The shell scripts in `src` are also copied over. It is based off of the [build script from Metro](https://github.com/facebook/metro/blob/00867816eb9b2f69c8af9cebb523e9e4d280671a/scripts/build.js) ## Changelog [General] [Added] - Codegen: Add prepublish script to build Flow files Pull Request resolved: facebook#28827 Test Plan: I am able to make use of the Codegen scripts without needing to use the `flow-node` CLI or the `flow-remove-types/register` require hook. Reviewed By: cpojer Differential Revision: D21412173 Pulled By: hramos fbshipit-source-id: 26ae67cdd04652ca4700a069a234a25558773cb1
Summary: Changelog: [Internal] Reviewed By: mdvacca Differential Revision: D21483553 fbshipit-source-id: 0c681979a4988c36cfa6f05aa5bca896590f9e3d
Reviewed By: ejanzer Differential Revision: D21465166 fbshipit-source-id: b34e8e97330b897e20d9a4b05dba1826df569e16
Summary: Pull Request resolved: facebook#28851 This diff creates a RuntimeExecutor that uses the bridge and exposes it on CatalystInstanceImpl. Changelog: [Internal] Reviewed By: mdvacca, RSNara Differential Revision: D21051949 fbshipit-source-id: b3977fc14fa19089f33e297d29cedba0d067526d
Summary: This diff refactors the FrescoModule in order to receive an ImagePipeline as a parameter. This is necessary to ensure the same ImagePipeline is used by every RN module changelog: [Internal][Android] Reviewed By: JoshuaGross Differential Revision: D21428346 fbshipit-source-id: 70a6cc57c8585fe74b6d0b0d1fd86c539974ec23
Summary: This change is especially important for Fabric when a lot of objects (mostly `ShadowNode`s) have shared ownership. Without this change, JSVM could not know that bunch of natively allocated objects should be deallocated. Changelog: [Internal] Fabric-specific internal change. Reviewed By: dulinriley Differential Revision: D21484773 fbshipit-source-id: 46e32de0f108082e60df346884c9287023156149
Summary: Consolidates the logic for the default value of `blurOnSubmit` on `TextInput` in the JavaScript component. This only materially impacts Fabric. Changelog: [Internal] Reviewed By: mdvacca Differential Revision: D21491482 fbshipit-source-id: 16d8aba32e7d0321a4583e87e03405ea587e35d4
…ted in C++ Summary: Problem: ScrollView offset was not being reported to the C++ ScrollView side of Fabric. This results in taps not working correctly, for example if you tap a button inside scroll view after you scrolled, the tap might not trigger anything. The root cause of this is our implementation of detecting whether scroll view has stopped scrolling. To make this more robust, I now require that multiple "frames" have not scrolled because it's easy to trigger race conditions by scrolling very fast. We also explicitly call `updateStateOnScroll` in a couple more places. Changelog: [Internal] Reviewed By: mdvacca Differential Revision: D21496396 fbshipit-source-id: 2e565dd2fc4fc1ce582daa8a449c520e7cb19be0
Summary: ## Context - If a NativeModule requires main queue setup, its `constantsToExport` method is executed on the main queue. - In the TurboModule system, `constantsToExport` or `getConstants` is treated like a regular synchronous NativeModule method. Therefore, it's always executed on the JS thread. This difference in behaviour is dangerous when we're A/B testing the TurboModule infra: One could write a NativeModule that requires main queue setup, and have it expose constants that access objects/state only accessible on the UI thread. This NativeModule would work fine in the legacy infra, which could be the case if the NativeModule author is testing locally. But once it ships to prod, it may run with the TurboModule system, and crash the application. To mitigate this risk, I'm removing this special main queue execution of `constantsToExport` from the legacy infrastructure. ## Consequences - If a NativeModule's `constantsToExport` method accesses objects/state only accessible on the UI thread, it must do so by explicitly scheduling work on the main thread. I wrote up a codemod to fix this for our OSS modules: D21797048. - Eagerly initialized NativeModules that required main queue setup had their constants calculated eagerly. After the changes in this diff, those NativeModules will have their constants calculated lazily. I don't think this is a big deal because only a handful of NativeModules are eagerly initialized, and eagerly initialized NativeModules are going away anyway. Changelog: [iOS][Removed] - Main queue execution of constantsToExport in NativeModules requiring main queue setup Reviewed By: fkgozali Differential Revision: D21829091 fbshipit-source-id: df21fd5fd2ef45a291c07400f360bba801ae290f
Summary: There are two ways to make a NativeModule method execute synchronously: - Declare the NativeModule method to be synchronous (i.e: use `RCT_EXPORT_BLOCKING_SYNCHRONOUS_METHOD`). - Make the NativeModule synchronous (i.e: make its method queue `RCTJSThread`). This way, all its methods are synchronous. `RCTNativeModule` executes all synchronous methods on the JS thread: - Executing an async methods on a sync module: https://git.io/JfRPj - Executing a sync method: https://git.io/JfRXe However, in TurboModules we block the JS thread, execute the method on the NativeModule's method queue, and then unblock the JS thread. While this approach is thread-safe, and arguably the correct way to dispatch sync methods, it's also much slower than the alternative. Therefore, this diff migrates the legacy behaviour to the TurboModule system. ## Special Case: getConstants() When an ObjC NativeModule requires main queue setup, and it exports constants, we execute its `constantsToExport` method on the main queue (see: [RCTModuleData gatherConstants](https://github.com/facebook/react-native/blob/c8d678abcf93fd3f6daf4bebfdf25937995c1fdf/React/Base/RCTModuleData.mm#L392-L402)). I replicated this behaviour with TurboModules. Changelog: [iOS][Fixed] - Execute ObjC TurboModule async method calls on JS thread for sync modules Reviewed By: fkgozali Differential Revision: D21602096 fbshipit-source-id: 42d07b7ad000abeac27091dc3ec440e3836d2eae
Summary: Changelog: [Internal] Reviewed By: dsainati1 Differential Revision: D21866638 fbshipit-source-id: de89fb4946a62f1b1d58ec6573f585c481834514
Summary: JSError creation can lead to further errors. Make sure these cases are handled and don't cause weird crashes or other issues. This solution has a few parts: * include a ScopedNativeDepthTracker in checkStatus * If an exception object message or stack property is already a String, don't call JS String ctor on it * Verify that a jsi::Value is a String before calling getString on it. * Add more tests for JSError construction Changelog: [Internal] Reviewed By: dulinriley Differential Revision: D21851645 fbshipit-source-id: 2d10da0e741ad4ede93cd806320f68ad512e5138
Summary: Noticed this hanging around when reading MessageQueue, delete it. Changelog: [internal] Reviewed By: fkgozali Differential Revision: D21874609 fbshipit-source-id: 627c6a18cdb859a1aaf2eb596f8744156d18393c
Summary: TurboModules doesn't cache invocations of getConstants(). This diff looks at which NativeModules' getConstants() methods gets repeated called in Marketplace, and caches those invocations in JS. Reviewed By: fkgozali Differential Revision: D21874124 fbshipit-source-id: 03d2318e1b6d00236ef707f9f19a640bf8c08786
Summary: TurboModules doesn't cache invocations of getConstants(). This diff looks at which NativeModules' getConstants() methods gets repeated called in Marketplace, and caches those invocations in JS. Reviewed By: fkgozali Differential Revision: D21874123 fbshipit-source-id: a44b98b3ac8621f67c9c0f3b7c4003a561d1e15d
…ip to ReactInstance (facebook#29009) Summary: Pull Request resolved: facebook#29009 OSS changes: Update RCTTurboModuleManager to accept a RuntimeExecutor instead of a `jsi::Runtime`. Reviewed By: RSNara Differential Revision: D21270243 fbshipit-source-id: e954e62ffd54cd57f6644de853e92f71c5e52e78
Summary: Changelog: Move collapsable to Shared View props I'm researching why `collapsable` isn't passed to Fabric UIManager in production build, I discovered that collapsable was Android only prop but in Fabric we use it in iOS as well. This doesn't fix the collapsable not being passed through but I think this makes code semantically correct. Reviewed By: mdvacca Differential Revision: D21862770 fbshipit-source-id: 492c6a15955b907dbbeb8530c81f6a868cf379c3
Summary: This diff adds support elevation prop in Fabric core, additionally it adds this prop as non collapsable on the view flattening algorithm changelog: [Internal] internal change in fabric to support elevation prop Reviewed By: JoshuaGross Differential Revision: D21896465 fbshipit-source-id: e0854acc0b2ac30eaf3f82d615aab1cf378cc530
…Module` Summary: Changelog: [Internal] Reviewed By: jimmy623 Differential Revision: D21882786 fbshipit-source-id: 1f90c62c3a385f1b12caef4bcc01e5bf53f0f882
Reviewed By: fkgozali Differential Revision: D21899206 fbshipit-source-id: 44ab118dc49697c1270d3c3f164c1ddf7bef0be4
Summary: Changelog: [Internal] # Problem `MountingCoordinator` holds a pointer to instance of `MountingOverrideDelegate` which becomes invalid. # Solution Use `std::weak_ptr` instead of raw pointer so it is possible to tell whether the pointer is expired. Reviewed By: JoshuaGross Differential Revision: D21905351 fbshipit-source-id: c7bf9635742a6ec086a03ba83202e46e1f1f373f
…anager Summary: As a simple refactor, I want to 1) have `synchronouslyUpdateViewOnUIThread` only catch exceptions for the specific MountItem being synchronously executed, 2) not assume that scheduleMountItem will always cause synchronous execution. I think this makes the logic here a little more clear and it scopes how we swallow exceptions, which could be swallowing too many errors right now actually. Changelog: [Internal] Reviewed By: mdvacca Differential Revision: D21911804 fbshipit-source-id: 1b1a465cadd60c72c69b556469276c9ee6b2dfcc
…s called Summary: See title. Changelog: [Internal] Reviewed By: mdvacca Differential Revision: D21895453 fbshipit-source-id: c6519b39a2b300e5d83d06164a31c3b494cf411f
Summary: Introduce SurfaceId to the BatchMountItem. Do not execute it if the associated Surface has gone away. Changelog: [Internal] Reviewed By: mdvacca Differential Revision: D21895452 fbshipit-source-id: 5df56720ce9b4293693884ebe105bda1dc87700e
…ok#28875) Summary: Pull Request resolved: facebook#28875 Update Fabric's Android binding to use a RuntimeExecutor instead of the `jsContext`, which is actually just the runtime pointer. This diff uses the RuntimeExecutor from CatalystInstanceImpl (in the previous diff) which uses the bridge under the hood. Changelog: [Android][Changed] Modified Fabric's public-facing API on Android Reviewed By: mdvacca Differential Revision: D21051975 fbshipit-source-id: 9c17ad1986f90c12af457d88a5035553e0e7ceb0
Reviewed By: fkgozali Differential Revision: D21881729 fbshipit-source-id: 071a41aef2458df3d9a93a4ab0174af73e85b9fc
Summary: Call into our existing JS error handling logic from C++ using JSI in the RuntimeExecutor used by the bridge. Changelog: [Internal] Reviewed By: lunaleaps Differential Revision: D21908523 fbshipit-source-id: ae41196443781b9f2673dcb7bbcb5b5aa8aa2528
Summary: This diff disables the state list animator from the ReactSlider object used to measure ReactSlider. The motivation is to fix T63030542, which it seems to be caused by the state list animator being accessed and modified from different threads We don't have a way to reproduce, but based on my analysis this diff will fix T63030542. I would like to land this diff and then keep tracking production data for the crash reported on T63030542 Changelog: [Android][Fixed] Fix intermittent crash of ReactSlider on Android Reviewed By: fkgozali Differential Revision: D21920698 fbshipit-source-id: 54af388043d5041c4bf981c81364780d3f52d818
Summary: Fix security issue with logkitty - used by `cli-android` package react-native-community/cli#1158 ## Changelog <!-- Help reviewers and the release process by writing your own changelog entry. For an example, see: https://github.com/facebook/react-native/wiki/Changelog --> [SECURITY] [FIX] - Bump package version of `cli` packages to fix security vulnerability Pull Request resolved: facebook#29072 Reviewed By: ejanzer Differential Revision: D21906716 Pulled By: cpojer fbshipit-source-id: b5ed9d0bc7a882f5f7a90825402c4c978918d9ed
Summary: Changelog: [Internal] The crash is caused by dereferencing invalid pointer. This can happen because `UIManager` can outlive `RCTScheduler` and `Scheduler`. Here we make sure when `Scheduler` is being deconstructed, UIManager's pointer is invalidated. I don't think this is ideal solution but it should fix the crash. Ideally we want the owner of animation delegate to invalidate the pointer. Reviewed By: JoshuaGross Differential Revision: D21922910 fbshipit-source-id: b2a56c1104574cecebaffad1bcbcbff82c1fa0cf
Summary: Pull Request resolved: facebook#29087 D21908523 added an implicit dependency on `jsi.h` to use functions like `asObject`, etc. For some reason this doesn't break the build with BUCK (??) but it does with cocoapods. Adding the dep to the cxxreact podspec and regenerating offline mirrors to unbreak CircleCI. Also adding the BUCK dep and include statement for good measure. Changelog: [Internal] Reviewed By: mdvacca Differential Revision: D21924592 fbshipit-source-id: 295c0670c6499e1195ba3c3a3320c6aee13bc025
…an/0.64-merge-2020-mm-dd
…an/0.64-merge-2020-mm-dd
HeyImChris
reviewed
Aug 19, 2021
HeyImChris
approved these changes
Aug 23, 2021
This file contains hidden or 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
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.
Please select one of the following
Summary
Merge facebook/react-native's main branch into react-native-macos's main branch through 2020-06-07 23:59:59 PDT (specifically, a50fa55).
These changes were made by repeatedly running git merge and resolving merge conflicts as needed.
The only commit that hasn't been brought over is a4757d2. See #813 for more information.
Validation