From 98309fa7fce9e7d72416c76a25dc0f759f46c3e8 Mon Sep 17 00:00:00 2001 From: Tim Yung Date: Thu, 21 May 2020 14:02:40 -0700 Subject: [PATCH 01/14] Touchable: Revert `minPressDuration` on Legacy Components Summary: When `minPressDuration` was introduced to `Pressability`, all of the legacy Touchable components inherited the new default. This restore the former behavior for these legacy components so that only `Pressable` gets the new `minPressDuration` default value. Changelog: [General][Fixed] - Revert `minPressDuration` effect on legacy Touchable components Reviewed By: fkgozali Differential Revision: D21682764 fbshipit-source-id: b71a61843fae7f0f726155876a064fabd3ba1c64 --- Libraries/Components/Touchable/TouchableBounce.js | 1 + Libraries/Components/Touchable/TouchableHighlight.js | 1 + Libraries/Components/Touchable/TouchableNativeFeedback.js | 1 + Libraries/Components/Touchable/TouchableOpacity.js | 1 + Libraries/Components/Touchable/TouchableWithoutFeedback.js | 1 + 5 files changed, 5 insertions(+) diff --git a/Libraries/Components/Touchable/TouchableBounce.js b/Libraries/Components/Touchable/TouchableBounce.js index c47129dd39..1856034e92 100644 --- a/Libraries/Components/Touchable/TouchableBounce.js +++ b/Libraries/Components/Touchable/TouchableBounce.js @@ -53,6 +53,7 @@ class TouchableBounce extends React.Component { delayLongPress: this.props.delayLongPress, delayPressIn: this.props.delayPressIn, delayPressOut: this.props.delayPressOut, + minPressDuration: 0, pressRectOffset: this.props.pressRetentionOffset, android_disableSound: this.props.touchSoundDisabled, onBlur: event => { diff --git a/Libraries/Components/Touchable/TouchableHighlight.js b/Libraries/Components/Touchable/TouchableHighlight.js index c7db381c79..13c0ccee82 100644 --- a/Libraries/Components/Touchable/TouchableHighlight.js +++ b/Libraries/Components/Touchable/TouchableHighlight.js @@ -174,6 +174,7 @@ class TouchableHighlight extends React.Component { delayLongPress: this.props.delayLongPress, delayPressIn: this.props.delayPressIn, delayPressOut: this.props.delayPressOut, + minPressDuration: 0, pressRectOffset: this.props.pressRetentionOffset, android_disableSound: this.props.touchSoundDisabled, onBlur: event => { diff --git a/Libraries/Components/Touchable/TouchableNativeFeedback.js b/Libraries/Components/Touchable/TouchableNativeFeedback.js index ed03379c54..5dc03df877 100644 --- a/Libraries/Components/Touchable/TouchableNativeFeedback.js +++ b/Libraries/Components/Touchable/TouchableNativeFeedback.js @@ -178,6 +178,7 @@ class TouchableNativeFeedback extends React.Component { delayLongPress: this.props.delayLongPress, delayPressIn: this.props.delayPressIn, delayPressOut: this.props.delayPressOut, + minPressDuration: 0, pressRectOffset: this.props.pressRetentionOffset, android_disableSound: this.props.touchSoundDisabled, onLongPress: this.props.onLongPress, diff --git a/Libraries/Components/Touchable/TouchableOpacity.js b/Libraries/Components/Touchable/TouchableOpacity.js index aa5239fdda..106efccf4e 100644 --- a/Libraries/Components/Touchable/TouchableOpacity.js +++ b/Libraries/Components/Touchable/TouchableOpacity.js @@ -147,6 +147,7 @@ class TouchableOpacity extends React.Component { delayLongPress: this.props.delayLongPress, delayPressIn: this.props.delayPressIn, delayPressOut: this.props.delayPressOut, + minPressDuration: 0, pressRectOffset: this.props.pressRetentionOffset, onBlur: event => { if (Platform.isTV) { diff --git a/Libraries/Components/Touchable/TouchableWithoutFeedback.js b/Libraries/Components/Touchable/TouchableWithoutFeedback.js index 5ad8aa62e5..0cb20d0dba 100755 --- a/Libraries/Components/Touchable/TouchableWithoutFeedback.js +++ b/Libraries/Components/Touchable/TouchableWithoutFeedback.js @@ -179,6 +179,7 @@ function createPressabilityConfig(props: Props): PressabilityConfig { delayLongPress: props.delayLongPress, delayPressIn: props.delayPressIn, delayPressOut: props.delayPressOut, + minPressDuration: 0, pressRectOffset: props.pressRetentionOffset, android_disableSound: props.touchSoundDisabled, onBlur: props.onBlur, From 0042d96c1caa3106243c6e2261c284cf3f952dfe Mon Sep 17 00:00:00 2001 From: fabriziobertoglio1987 Date: Wed, 15 Jul 2020 13:12:55 -0700 Subject: [PATCH 02/14] keyboardDidHide wrong screenY coordinates with windowTranslucentStatus=true (#29292) Summary: This issue fixes https://github.com/facebook/react-native/issues/27526, related issue https://github.com/facebook/react-native/issues/27089 Avoid returning the wrong screenY coordinates on event keyboardDidHide. getWindowVisibleDisplayFrame retrieves the overall visible display size in which the window this view is attached to has been positioned in. This takes into account screen decorations above the window, for both cases where the window itself is being position inside of them or the window is being placed under then and covered insets are used for the window to position its content inside. In effect, this tells you the available area where content can be placed and remain visible to users, since anything below the StatusBar is not visible to the user, the method does not work with translucent StatusBar (android:windowTranslucentStatus). This commit fixes this issues removing the white bar at the bottom of the view when using windowTranslucentStatus. ## Changelog [Android] [Fixed] - keyboardDidHide wrong screenY coordinates with windowTranslucentStatus=true Pull Request resolved: https://github.com/facebook/react-native/pull/29292 Test Plan: Works in all scenarios, but **I did not change RNTester `windowTranslucentStatus`**. I would like to discuss the potential breaking changes connected to not using [getWindowVisibleDisplayFrame](https://developer.android.com/reference/android/view/View#getWindowVisibleDisplayFrame(android.graphics.Rect)) with `keyboardDidHide`. I would be happy to build an alternative functionality to calculate the WindowVisibleDisplayFrameHeight under request from the Facebook Team. **WITHOUT** `android:windowTranslucentStatus` | **BEFORE** | |:-------------------------:| | | | **AFTER** | |:-------------------------:| | | **WITH** `android:windowTranslucentStatus` | **BEFORE** | |:-------------------------:| | | | **BEFORE (log)** | |:-------------------------:| | | | **AFTER** | |:-------------------------:| | | | **AFTER (log)** | |:-------------------------:| | | RNTester **WITHOUT** `android:windowTranslucentStatus` | **BEFORE** | **AFTER** | |:-------------------------:|:-------------------------:| | | | I remain available to do improvements. Thanks a lot. Fabrizio. Reviewed By: JoshuaGross Differential Revision: D22521125 Pulled By: mdvacca fbshipit-source-id: e2cb90163abb1baa00b1916e431971b011522565 --- .../src/main/java/com/facebook/react/ReactRootView.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java b/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java index b40196b11e..30b50691b9 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java +++ b/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java @@ -689,7 +689,7 @@ public class ReactRootView extends FrameLayout implements RootView, ReactRoot { sendEvent( "keyboardDidHide", createKeyboardEventPayload( - PixelUtil.toDIPFromPixel(mVisibleViewArea.height()), + PixelUtil.toDIPFromPixel(mLastHeight), 0, PixelUtil.toDIPFromPixel(mVisibleViewArea.width()), 0)); From 2903a291ca1681dba1cca3384061b9b0c5bad563 Mon Sep 17 00:00:00 2001 From: Paige Sun Date: Fri, 5 Jun 2020 20:52:02 -0700 Subject: [PATCH 03/14] Prefetch images using a lower download priority Reviewed By: fkgozali Differential Revision: D21881729 fbshipit-source-id: 071a41aef2458df3d9a93a4ab0174af73e85b9fc --- Libraries/Image/RCTImageLoader.mm | 67 ++++++++++++++++--- Libraries/Image/RCTImageLoaderProtocol.h | 33 ++++++--- .../RCTImageLoaderWithAttributionProtocol.h | 1 + .../Image/RCTImageURLLoaderWithAttribution.h | 2 + Libraries/Image/RCTImageView.mm | 1 + Libraries/Image/RCTImageViewManager.mm | 21 +++--- .../platform/ios/RCTImageManager.mm | 1 + .../platform/ios/RCTSyncImageManager.mm | 1 + 8 files changed, 99 insertions(+), 28 deletions(-) diff --git a/Libraries/Image/RCTImageLoader.mm b/Libraries/Image/RCTImageLoader.mm index 3571647cf8..0d816f7b38 100644 --- a/Libraries/Image/RCTImageLoader.mm +++ b/Libraries/Image/RCTImageLoader.mm @@ -146,6 +146,7 @@ RCT_EXPORT_MODULE() { return 2; } +#pragma mark - RCTImageLoaderProtocol 1/3 - (id)imageCache { @@ -228,6 +229,8 @@ RCT_EXPORT_MODULE() return nil; } +# pragma mark - Private Image Decoding & Resizing + - (id)imageDataDecoderForData:(NSData *)data { if (!_maxConcurrentLoadingTasks) { @@ -309,17 +312,28 @@ static UIImage *RCTResizeImageIfNeeded(UIImage *image, return image; } -- (RCTImageLoaderCancellationBlock) loadImageWithURLRequest:(NSURLRequest *)imageURLRequest - callback:(RCTImageLoaderCompletionBlock)callback +#pragma mark - RCTImageLoaderProtocol 2/3 + +- (RCTImageLoaderCancellationBlock)loadImageWithURLRequest:(NSURLRequest *)imageURLRequest + callback:(RCTImageLoaderCompletionBlock)callback { - return [self loadImageWithURLRequest:imageURLRequest - size:CGSizeZero - scale:1 - clipped:YES - resizeMode:RCTResizeModeStretch - progressBlock:nil - partialLoadBlock:nil - completionBlock:callback]; + return [self loadImageWithURLRequest:imageURLRequest + priority:RCTImageLoaderPriorityImmediate + callback:callback]; +} + +- (RCTImageLoaderCancellationBlock)loadImageWithURLRequest:(NSURLRequest *)imageURLRequest + priority:(RCTImageLoaderPriority)priority + callback:(RCTImageLoaderCompletionBlock)callback { + return [self loadImageWithURLRequest:imageURLRequest + size:CGSizeZero + scale:1 + clipped:YES + resizeMode:RCTResizeModeStretch + priority:priority + progressBlock:nil + partialLoadBlock:nil + completionBlock:callback]; } - (RCTImageLoaderCancellationBlock)loadImageWithURLRequest:(NSURLRequest *)imageURLRequest @@ -330,12 +344,34 @@ static UIImage *RCTResizeImageIfNeeded(UIImage *image, progressBlock:(RCTImageLoaderProgressBlock)progressBlock partialLoadBlock:(RCTImageLoaderPartialLoadBlock)partialLoadBlock completionBlock:(RCTImageLoaderCompletionBlock)completionBlock +{ + return [self loadImageWithURLRequest:imageURLRequest + size:size + scale:scale + clipped:clipped + resizeMode:resizeMode + priority:RCTImageLoaderPriorityImmediate + progressBlock:progressBlock + partialLoadBlock:partialLoadBlock + completionBlock:completionBlock]; +} + +- (RCTImageLoaderCancellationBlock)loadImageWithURLRequest:(NSURLRequest *)imageURLRequest + size:(CGSize)size + scale:(CGFloat)scale + clipped:(BOOL)clipped + resizeMode:(RCTResizeMode)resizeMode + priority:(RCTImageLoaderPriority)priority + progressBlock:(RCTImageLoaderProgressBlock)progressBlock + partialLoadBlock:(RCTImageLoaderPartialLoadBlock)partialLoadBlock + completionBlock:(RCTImageLoaderCompletionBlock)completionBlock { RCTImageURLLoaderRequest *request = [self loadImageWithURLRequest:imageURLRequest size:size scale:scale clipped:clipped resizeMode:resizeMode + priority:priority attribution:{} progressBlock:progressBlock partialLoadBlock:partialLoadBlock @@ -345,6 +381,8 @@ static UIImage *RCTResizeImageIfNeeded(UIImage *image, }; } +#pragma mark - Private Downloader Methods + - (void)dequeueTasks { dispatch_async(_URLRequestQueue, ^{ @@ -415,6 +453,7 @@ static UIImage *RCTResizeImageIfNeeded(UIImage *image, size:(CGSize)size scale:(CGFloat)scale resizeMode:(RCTResizeMode)resizeMode + priority:(RCTImageLoaderPriority)priority attribution:(const ImageURLLoaderAttribution &)attribution progressBlock:(RCTImageLoaderProgressBlock)progressHandler partialLoadBlock:(RCTImageLoaderPartialLoadBlock)partialLoadHandler @@ -481,6 +520,7 @@ static UIImage *RCTResizeImageIfNeeded(UIImage *image, scale:scale resizeMode:resizeMode requestId:requestId + priority:priority attribution:attributionCopy progressHandler:progressHandler partialLoadHandler:partialLoadHandler @@ -520,6 +560,7 @@ static UIImage *RCTResizeImageIfNeeded(UIImage *image, scale:scale resizeMode:resizeMode requestId:requestId + priority:priority attribution:attributionCopy progressHandler:progressHandler partialLoadHandler:partialLoadHandler @@ -701,6 +742,7 @@ static UIImage *RCTResizeImageIfNeeded(UIImage *image, scale:(CGFloat)scale clipped:(BOOL)clipped resizeMode:(RCTResizeMode)resizeMode + priority:(RCTImageLoaderPriority)priority attribution:(const ImageURLLoaderAttribution &)attribution progressBlock:(RCTImageLoaderProgressBlock)progressBlock partialLoadBlock:(RCTImageLoaderPartialLoadBlock)partialLoadBlock @@ -768,6 +810,7 @@ static UIImage *RCTResizeImageIfNeeded(UIImage *image, size:size scale:scale resizeMode:resizeMode + priority:priority attribution:attribution progressBlock:progressBlock partialLoadBlock:partialLoadBlock @@ -811,6 +854,8 @@ static UIImage *RCTResizeImageIfNeeded(UIImage *image, } } +#pragma mark - RCTImageLoaderProtocol 3/3 + - (RCTImageLoaderCancellationBlock)decodeImageData:(NSData *)data size:(CGSize)size scale:(CGFloat)scale @@ -962,6 +1007,7 @@ static UIImage *RCTResizeImageIfNeeded(UIImage *image, size:CGSizeZero scale:1 resizeMode:RCTResizeModeStretch + priority: RCTImageLoaderPriorityImmediate attribution:{} progressBlock:NULL partialLoadBlock:NULL @@ -1123,6 +1169,7 @@ RCT_EXPORT_METHOD(prefetchImage:(NSString *)uri { NSURLRequest *request = [RCTConvert NSURLRequest:uri]; [self loadImageWithURLRequest:request + priority:RCTImageLoaderPriorityPrefetch callback:^(NSError *error, UIImage *image) { if (error) { reject(@"E_PREFETCH_FAILURE", nil, error); diff --git a/Libraries/Image/RCTImageLoaderProtocol.h b/Libraries/Image/RCTImageLoaderProtocol.h index 6b17cc7bcb..f14c196ebb 100644 --- a/Libraries/Image/RCTImageLoaderProtocol.h +++ b/Libraries/Image/RCTImageLoaderProtocol.h @@ -26,6 +26,17 @@ @end +/** + * Image Downloading priority. + * Use PriorityImmediate to download images at the highest priority. + * Use PriorityPrefetch to prefetch images at a lower priority. + * The priority logic is up to each @RCTImageLoaderProtocol implementation + */ +typedef NS_ENUM(NSUInteger, RCTImageLoaderPriority) { + RCTImageLoaderPriorityImmediate, + RCTImageLoaderPriorityPrefetch +}; + @protocol RCTImageLoaderProtocol /** @@ -59,16 +70,22 @@ */ - (RCTImageLoaderCancellationBlock)loadImageWithURLRequest:(NSURLRequest *)imageURLRequest callback:(RCTImageLoaderCompletionBlock)callback; +/** + * As above, but includes download `priority`. + */ +- (RCTImageLoaderCancellationBlock)loadImageWithURLRequest:(NSURLRequest *)imageURLRequest + priority:(RCTImageLoaderPriority)priority + callback:(RCTImageLoaderCompletionBlock)callback; /** - * As above, but includes target `size`, `scale` and `resizeMode`, which are used to - * select the optimal dimensions for the loaded image. The `clipped` option - * controls whether the image will be clipped to fit the specified size exactly, - * or if the original aspect ratio should be retained. - * `partialLoadBlock` is meant for custom image loaders that do not ship with the core RN library. - * It is meant to be called repeatedly while loading the image as higher quality versions are decoded, - * for instance with progressive JPEGs. - */ +* As above, but includes target `size`, `scale` and `resizeMode`, which are used to +* select the optimal dimensions for the loaded image. The `clipped` option +* controls whether the image will be clipped to fit the specified size exactly, +* or if the original aspect ratio should be retained. +* `partialLoadBlock` is meant for custom image loaders that do not ship with the core RN library. +* It is meant to be called repeatedly while loading the image as higher quality versions are decoded, +* for instance with progressive JPEGs. +*/ - (RCTImageLoaderCancellationBlock)loadImageWithURLRequest:(NSURLRequest *)imageURLRequest size:(CGSize)size scale:(CGFloat)scale diff --git a/Libraries/Image/RCTImageLoaderWithAttributionProtocol.h b/Libraries/Image/RCTImageLoaderWithAttributionProtocol.h index 229bdc813c..5484e12376 100644 --- a/Libraries/Image/RCTImageLoaderWithAttributionProtocol.h +++ b/Libraries/Image/RCTImageLoaderWithAttributionProtocol.h @@ -28,6 +28,7 @@ RCT_EXTERN void RCTEnableImageLoadingPerfInstrumentation(BOOL enabled); scale:(CGFloat)scale clipped:(BOOL)clipped resizeMode:(RCTResizeMode)resizeMode + priority: (RCTImageLoaderPriority)priority attribution:(const facebook::react::ImageURLLoaderAttribution &)attribution progressBlock:(RCTImageLoaderProgressBlock)progressBlock partialLoadBlock:(RCTImageLoaderPartialLoadBlock)partialLoadBlock diff --git a/Libraries/Image/RCTImageURLLoaderWithAttribution.h b/Libraries/Image/RCTImageURLLoaderWithAttribution.h index ce8a7b6a85..7c1c9e8b01 100644 --- a/Libraries/Image/RCTImageURLLoaderWithAttribution.h +++ b/Libraries/Image/RCTImageURLLoaderWithAttribution.h @@ -6,6 +6,7 @@ */ #import +#import // TODO (T61325135): Remove C++ checks #ifdef __cplusplus @@ -49,6 +50,7 @@ struct ImageURLLoaderAttribution { scale:(CGFloat)scale resizeMode:(RCTResizeMode)resizeMode requestId:(NSString *)requestId + priority: (RCTImageLoaderPriority)priority attribution:(const facebook::react::ImageURLLoaderAttribution &)attribution progressHandler:(RCTImageLoaderProgressBlock)progressHandler partialLoadHandler:(RCTImageLoaderPartialLoadBlock)partialLoadHandler diff --git a/Libraries/Image/RCTImageView.mm b/Libraries/Image/RCTImageView.mm index 07ffe3acc2..5b59141283 100644 --- a/Libraries/Image/RCTImageView.mm +++ b/Libraries/Image/RCTImageView.mm @@ -336,6 +336,7 @@ RCT_NOT_IMPLEMENTED(- (instancetype)initWithFrame:(CGRect)frame) scale:imageScale clipped:NO resizeMode:_resizeMode + priority:RCTImageLoaderPriorityImmediate attribution:{ .nativeViewTag = [self.reactTag intValue], .surfaceId = [self.rootTag intValue], diff --git a/Libraries/Image/RCTImageViewManager.mm b/Libraries/Image/RCTImageViewManager.mm index 864184e913..a0e1d9a122 100644 --- a/Libraries/Image/RCTImageViewManager.mm +++ b/Libraries/Image/RCTImageViewManager.mm @@ -88,16 +88,17 @@ RCT_EXPORT_METHOD(prefetchImage:(NSURLRequest *)request reject(@"E_INVALID_URI", @"Cannot prefetch an image for an empty URI", nil); return; } - - [[self.bridge moduleForName:@"ImageLoader" lazilyLoadIfNecessary:YES] - loadImageWithURLRequest:request - callback:^(NSError *error, UIImage *image) { - if (error) { - reject(@"E_PREFETCH_FAILURE", nil, error); - return; - } - resolve(@YES); - }]; + id imageLoader = (id)[self.bridge + moduleForName:@"ImageLoader" lazilyLoadIfNecessary:YES]; + [imageLoader loadImageWithURLRequest:request + priority:RCTImageLoaderPriorityPrefetch + callback:^(NSError *error, UIImage *image) { + if (error) { + reject(@"E_PREFETCH_FAILURE", nil, error); + return; + } + resolve(@YES); + }]; } RCT_EXPORT_METHOD(queryCache:(NSArray *)requests diff --git a/ReactCommon/fabric/imagemanager/platform/ios/RCTImageManager.mm b/ReactCommon/fabric/imagemanager/platform/ios/RCTImageManager.mm index 23b1524584..49a371bc41 100644 --- a/ReactCommon/fabric/imagemanager/platform/ios/RCTImageManager.mm +++ b/ReactCommon/fabric/imagemanager/platform/ios/RCTImageManager.mm @@ -90,6 +90,7 @@ using namespace facebook::react; scale:imageSource.scale clipped:YES resizeMode:RCTResizeModeStretch + priority:RCTImageLoaderPriorityImmediate attribution:{ .surfaceId = surfaceId, } diff --git a/ReactCommon/fabric/imagemanager/platform/ios/RCTSyncImageManager.mm b/ReactCommon/fabric/imagemanager/platform/ios/RCTSyncImageManager.mm index fcd6382600..a703977c68 100644 --- a/ReactCommon/fabric/imagemanager/platform/ios/RCTSyncImageManager.mm +++ b/ReactCommon/fabric/imagemanager/platform/ios/RCTSyncImageManager.mm @@ -78,6 +78,7 @@ using namespace facebook::react; scale:imageSource.scale clipped:YES resizeMode:RCTResizeModeStretch + priority:RCTImageLoaderPriorityImmediate attribution:{ .surfaceId = surfaceId, } From 2c5d4cba5c02f6cdf9fb02c78ffd155ad95298d0 Mon Sep 17 00:00:00 2001 From: Samuel Susla Date: Tue, 28 Jul 2020 11:57:15 -0700 Subject: [PATCH 04/14] Remove requestToken being nil check from [RCTNetworkTask validateRequestToken] Summary: Changelog: Fix [TypeError: Network request failed] on file upload # Problem In https://github.com/facebook/react-native/commit/31980094107ed37f8de70972dbcc319cc9a26339 I made method `loadImageForURL` blocking and nil returning since it was no longer cancellable. However inside `[RCTNetworkTask validateRequestToken]` was a logic counting on request token being non nil. This diff removes this check and adds `nullable` to `[RCTImageURLLoader loadImageForURL]` making it explicit. Reviewed By: PeteTheHeat Differential Revision: D22767174 fbshipit-source-id: 04d5562e381912233b9c14e8156cbf145288f063 --- Libraries/Image/RCTImageLoader.mm | 44 ++++++++++----------- Libraries/Image/RCTImageLoaderProtocol.h | 26 ++++++------ Libraries/Image/RCTImageURLLoader.h | 2 +- Libraries/Image/RCTLocalAssetImageLoader.mm | 16 ++++---- Libraries/Network/RCTNetworkTask.mm | 6 --- 5 files changed, 44 insertions(+), 50 deletions(-) diff --git a/Libraries/Image/RCTImageLoader.mm b/Libraries/Image/RCTImageLoader.mm index 0d816f7b38..5397a1816b 100644 --- a/Libraries/Image/RCTImageLoader.mm +++ b/Libraries/Image/RCTImageLoader.mm @@ -314,17 +314,17 @@ static UIImage *RCTResizeImageIfNeeded(UIImage *image, #pragma mark - RCTImageLoaderProtocol 2/3 -- (RCTImageLoaderCancellationBlock)loadImageWithURLRequest:(NSURLRequest *)imageURLRequest - callback:(RCTImageLoaderCompletionBlock)callback +- (nullable RCTImageLoaderCancellationBlock)loadImageWithURLRequest:(NSURLRequest *)imageURLRequest + callback:(RCTImageLoaderCompletionBlock)callback { return [self loadImageWithURLRequest:imageURLRequest priority:RCTImageLoaderPriorityImmediate callback:callback]; } -- (RCTImageLoaderCancellationBlock)loadImageWithURLRequest:(NSURLRequest *)imageURLRequest - priority:(RCTImageLoaderPriority)priority - callback:(RCTImageLoaderCompletionBlock)callback { +- (nullable RCTImageLoaderCancellationBlock)loadImageWithURLRequest:(NSURLRequest *)imageURLRequest + priority:(RCTImageLoaderPriority)priority + callback:(RCTImageLoaderCompletionBlock)callback { return [self loadImageWithURLRequest:imageURLRequest size:CGSizeZero scale:1 @@ -336,14 +336,14 @@ static UIImage *RCTResizeImageIfNeeded(UIImage *image, completionBlock:callback]; } -- (RCTImageLoaderCancellationBlock)loadImageWithURLRequest:(NSURLRequest *)imageURLRequest - size:(CGSize)size - scale:(CGFloat)scale - clipped:(BOOL)clipped - resizeMode:(RCTResizeMode)resizeMode - progressBlock:(RCTImageLoaderProgressBlock)progressBlock - partialLoadBlock:(RCTImageLoaderPartialLoadBlock)partialLoadBlock - completionBlock:(RCTImageLoaderCompletionBlock)completionBlock +- (nullable RCTImageLoaderCancellationBlock)loadImageWithURLRequest:(NSURLRequest *)imageURLRequest + size:(CGSize)size + scale:(CGFloat)scale + clipped:(BOOL)clipped + resizeMode:(RCTResizeMode)resizeMode + progressBlock:(RCTImageLoaderProgressBlock)progressBlock + partialLoadBlock:(RCTImageLoaderPartialLoadBlock)partialLoadBlock + completionBlock:(RCTImageLoaderCompletionBlock)completionBlock { return [self loadImageWithURLRequest:imageURLRequest size:size @@ -356,15 +356,15 @@ static UIImage *RCTResizeImageIfNeeded(UIImage *image, completionBlock:completionBlock]; } -- (RCTImageLoaderCancellationBlock)loadImageWithURLRequest:(NSURLRequest *)imageURLRequest - size:(CGSize)size - scale:(CGFloat)scale - clipped:(BOOL)clipped - resizeMode:(RCTResizeMode)resizeMode - priority:(RCTImageLoaderPriority)priority - progressBlock:(RCTImageLoaderProgressBlock)progressBlock - partialLoadBlock:(RCTImageLoaderPartialLoadBlock)partialLoadBlock - completionBlock:(RCTImageLoaderCompletionBlock)completionBlock +- (nullable RCTImageLoaderCancellationBlock)loadImageWithURLRequest:(NSURLRequest *)imageURLRequest + size:(CGSize)size + scale:(CGFloat)scale + clipped:(BOOL)clipped + resizeMode:(RCTResizeMode)resizeMode + priority:(RCTImageLoaderPriority)priority + progressBlock:(RCTImageLoaderProgressBlock)progressBlock + partialLoadBlock:(RCTImageLoaderPartialLoadBlock)partialLoadBlock + completionBlock:(RCTImageLoaderCompletionBlock)completionBlock { RCTImageURLLoaderRequest *request = [self loadImageWithURLRequest:imageURLRequest size:size diff --git a/Libraries/Image/RCTImageLoaderProtocol.h b/Libraries/Image/RCTImageLoaderProtocol.h index f14c196ebb..366fb7b57c 100644 --- a/Libraries/Image/RCTImageLoaderProtocol.h +++ b/Libraries/Image/RCTImageLoaderProtocol.h @@ -68,14 +68,14 @@ typedef NS_ENUM(NSUInteger, RCTImageLoaderPriority) { * Loads the specified image at the highest available resolution. * Can be called from any thread, will call back on an unspecified thread. */ -- (RCTImageLoaderCancellationBlock)loadImageWithURLRequest:(NSURLRequest *)imageURLRequest - callback:(RCTImageLoaderCompletionBlock)callback; +- (nullable RCTImageLoaderCancellationBlock)loadImageWithURLRequest:(NSURLRequest *)imageURLRequest + callback:(RCTImageLoaderCompletionBlock)callback; /** * As above, but includes download `priority`. */ -- (RCTImageLoaderCancellationBlock)loadImageWithURLRequest:(NSURLRequest *)imageURLRequest - priority:(RCTImageLoaderPriority)priority - callback:(RCTImageLoaderCompletionBlock)callback; +- (nullable RCTImageLoaderCancellationBlock)loadImageWithURLRequest:(NSURLRequest *)imageURLRequest + priority:(RCTImageLoaderPriority)priority + callback:(RCTImageLoaderCompletionBlock)callback; /** * As above, but includes target `size`, `scale` and `resizeMode`, which are used to @@ -86,14 +86,14 @@ typedef NS_ENUM(NSUInteger, RCTImageLoaderPriority) { * It is meant to be called repeatedly while loading the image as higher quality versions are decoded, * for instance with progressive JPEGs. */ -- (RCTImageLoaderCancellationBlock)loadImageWithURLRequest:(NSURLRequest *)imageURLRequest - size:(CGSize)size - scale:(CGFloat)scale - clipped:(BOOL)clipped - resizeMode:(RCTResizeMode)resizeMode - progressBlock:(RCTImageLoaderProgressBlock)progressBlock - partialLoadBlock:(RCTImageLoaderPartialLoadBlock)partialLoadBlock - completionBlock:(RCTImageLoaderCompletionBlock)completionBlock; +- (nullable RCTImageLoaderCancellationBlock)loadImageWithURLRequest:(NSURLRequest *)imageURLRequest + size:(CGSize)size + scale:(CGFloat)scale + clipped:(BOOL)clipped + resizeMode:(RCTResizeMode)resizeMode + progressBlock:(RCTImageLoaderProgressBlock)progressBlock + partialLoadBlock:(RCTImageLoaderPartialLoadBlock)partialLoadBlock + completionBlock:(RCTImageLoaderCompletionBlock)completionBlock; /** * Finds an appropriate image decoder and passes the target `size`, `scale` and diff --git a/Libraries/Image/RCTImageURLLoader.h b/Libraries/Image/RCTImageURLLoader.h index a1f2144e47..d950b46f74 100644 --- a/Libraries/Image/RCTImageURLLoader.h +++ b/Libraries/Image/RCTImageURLLoader.h @@ -35,7 +35,7 @@ typedef dispatch_block_t RCTImageLoaderCancellationBlock; * has finished. The method should also return a cancellation block, if * applicable. */ -- (RCTImageLoaderCancellationBlock)loadImageForURL:(NSURL *)imageURL +- (nullable RCTImageLoaderCancellationBlock)loadImageForURL:(NSURL *)imageURL size:(CGSize)size scale:(CGFloat)scale resizeMode:(RCTResizeMode)resizeMode diff --git a/Libraries/Image/RCTLocalAssetImageLoader.mm b/Libraries/Image/RCTLocalAssetImageLoader.mm index 8669ad3615..0387af805e 100644 --- a/Libraries/Image/RCTLocalAssetImageLoader.mm +++ b/Libraries/Image/RCTLocalAssetImageLoader.mm @@ -41,13 +41,13 @@ RCT_EXPORT_MODULE() return NO; } - - (RCTImageLoaderCancellationBlock)loadImageForURL:(NSURL *)imageURL - size:(CGSize)size - scale:(CGFloat)scale - resizeMode:(RCTResizeMode)resizeMode - progressHandler:(RCTImageLoaderProgressBlock)progressHandler - partialLoadHandler:(RCTImageLoaderPartialLoadBlock)partialLoadHandler - completionHandler:(RCTImageLoaderCompletionBlock)completionHandler + - (nullable RCTImageLoaderCancellationBlock)loadImageForURL:(NSURL *)imageURL + size:(CGSize)size + scale:(CGFloat)scale + resizeMode:(RCTResizeMode)resizeMode + progressHandler:(RCTImageLoaderProgressBlock)progressHandler + partialLoadHandler:(RCTImageLoaderPartialLoadBlock)partialLoadHandler + completionHandler:(RCTImageLoaderCompletionBlock)completionHandler { UIImage *image = RCTImageFromLocalAssetURL(imageURL); if (image) { @@ -60,7 +60,7 @@ RCT_EXPORT_MODULE() RCTLogWarn(@"%@", message); completionHandler(RCTErrorWithMessage(message), nil); } - + return nil; } diff --git a/Libraries/Network/RCTNetworkTask.mm b/Libraries/Network/RCTNetworkTask.mm index 1cc625298e..5b07e2cb68 100644 --- a/Libraries/Network/RCTNetworkTask.mm +++ b/Libraries/Network/RCTNetworkTask.mm @@ -99,12 +99,6 @@ RCT_NOT_IMPLEMENTED(- (instancetype)init) { BOOL valid = YES; if (_requestToken == nil) { - if (requestToken == nil) { - if (RCT_DEBUG) { - RCTLogError(@"Missing request token for request: %@", _request); - } - valid = NO; - } _requestToken = requestToken; } else if (![requestToken isEqual:_requestToken]) { if (RCT_DEBUG) { From 73747e674c5cda4a29cd3255ffaf3963110e2099 Mon Sep 17 00:00:00 2001 From: Paito Anderson Date: Tue, 28 Jul 2020 13:14:04 -0700 Subject: [PATCH 05/14] Fix iOS Image.getSizeWithHeaders (#29338) Summary: Fixes https://github.com/facebook/react-native/issues/28632 Image.getSizeWithHeaders() was not working as intended on iOS. ## Changelog [iOS] [Fixed] - Fixed headers in `Image.getSizeWithHeaders`. Pull Request resolved: https://github.com/facebook/react-native/pull/29338 Test Plan: Used RNTester and an Image URL requiring a Bearer token to test. Code: Screen Shot 2020-07-10 at 3 00 58 PM With Bearer Token: Screen Shot 2020-07-10 at 3 02 48 PM Without Bearer Token: Screen Shot 2020-07-10 at 3 04 32 PM Reviewed By: cpojer Differential Revision: D22783037 Pulled By: PeteTheHeat fbshipit-source-id: 3ad5026e71607c61d42316784844c5295bc1dcae --- Libraries/Image/RCTImageLoader.mm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Libraries/Image/RCTImageLoader.mm b/Libraries/Image/RCTImageLoader.mm index 5397a1816b..a55ac4857b 100644 --- a/Libraries/Image/RCTImageLoader.mm +++ b/Libraries/Image/RCTImageLoader.mm @@ -1152,7 +1152,11 @@ RCT_EXPORT_METHOD(getSizeWithHeaders:(NSString *)uri resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject) { - NSURLRequest *request = [RCTConvert NSURLRequest:uri]; + NSURL *URL = [RCTConvert NSURL:uri]; + NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:URL]; + [headers enumerateKeysAndObjectsUsingBlock:^(NSString *key, id value, BOOL *stop) { + [request addValue:[RCTConvert NSString:value] forHTTPHeaderField:key]; + }]; [self getImageSizeForURLRequest:request block:^(NSError *error, CGSize size) { if (error) { From c72ecdb906f29fbf9f97a2de2e9997a0f41d0352 Mon Sep 17 00:00:00 2001 From: Nico Burns Date: Wed, 29 Jul 2020 02:43:17 -0700 Subject: [PATCH 06/14] Make flipper pods configurations configurable (#29074) Summary: This PR allows the use_flipper! helper function to be used in projects that have more than just Debug/Release configurations. For example, a project may have DevDebug, DevRelease, ProdDebug, and ProdRelease configurations. These projects can now do: ```ruby use_flipper!(configurations: ['DevDebug', 'ProdDebug']) ``` ## Changelog [iOS][Added] Ability to set which configuration to enable flipper for when using use_flipper! Pull Request resolved: https://github.com/facebook/react-native/pull/29074 Test Plan: I don't know how to run code in this repository, so I copy and pasted this function into the Podfile of an existing project. My complete Podfile is as below: ```ruby # Uncomment the next line to define a global platform for your project platform :ios, '10.0' require_relative '../node_modules/react-native-community/cli-platform-ios/native_modules' project 'marketplace', 'Dev.Debug' => :debug, 'Dev.Release' => :release, 'Prod.Debug' => :debug, 'Prod.Release' => :release def use_flipper!(versions = {}, configurations: ['Debug']) versions['Flipper'] ||= '~> 0.33.1' versions['DoubleConversion'] ||= '1.1.7' versions['Flipper-Folly'] ||= '~> 2.1' versions['Flipper-Glog'] ||= '0.3.6' versions['Flipper-PeerTalk'] ||= '~> 0.0.4' versions['Flipper-RSocket'] ||= '~> 1.0' pod 'FlipperKit', versions['Flipper'], :configurations => configurations pod 'FlipperKit/FlipperKitLayoutPlugin', versions['Flipper'], :configurations => configurations pod 'FlipperKit/SKIOSNetworkPlugin', versions['Flipper'], :configurations => configurations pod 'FlipperKit/FlipperKitUserDefaultsPlugin', versions['Flipper'], :configurations => configurations pod 'FlipperKit/FlipperKitReactPlugin', versions['Flipper'], :configurations => configurations # List all transitive dependencies for FlipperKit pods # to avoid them being linked in Release builds pod 'Flipper', versions['Flipper'], :configurations => configurations pod 'Flipper-DoubleConversion', versions['Flipper-DoubleConversion'], :configurations => configurations pod 'Flipper-Folly', versions['Flipper-Folly'], :configurations => configurations pod 'Flipper-Glog', versions['Flipper-Glog'], :configurations => configurations pod 'Flipper-PeerTalk', versions['Flipper-PeerTalk'], :configurations => configurations pod 'Flipper-RSocket', versions['Flipper-RSocket'], :configurations => configurations pod 'FlipperKit/Core', versions['Flipper'], :configurations => configurations pod 'FlipperKit/CppBridge', versions['Flipper'], :configurations => configurations pod 'FlipperKit/FBCxxFollyDynamicConvert', versions['Flipper'], :configurations => configurations pod 'FlipperKit/FBDefines', versions['Flipper'], :configurations => configurations pod 'FlipperKit/FKPortForwarding', versions['Flipper'], :configurations => configurations pod 'FlipperKit/FlipperKitHighlightOverlay', versions['Flipper'], :configurations => configurations pod 'FlipperKit/FlipperKitLayoutTextSearchable', versions['Flipper'], :configurations => configurations pod 'FlipperKit/FlipperKitNetworkPlugin', versions['Flipper'], :configurations => configurations end # Post Install processing for Flipper def flipper_post_install(installer) installer.pods_project.targets.each do |target| if target.name == 'YogaKit' target.build_configurations.each do |config| config.build_settings['SWIFT_VERSION'] = '4.1' end end end end target 'marketplace' do # Comment the next line if you're not using Swift and don't want to use dynamic frameworks #use_frameworks! pod 'FBLazyVector', :path => '../node_modules/react-native/Libraries/FBLazyVector' pod 'FBReactNativeSpec', :path => '../node_modules/react-native/Libraries/FBReactNativeSpec' pod 'RCTRequired', :path => '../node_modules/react-native/Libraries/RCTRequired' pod 'RCTTypeSafety', :path => '../node_modules/react-native/Libraries/TypeSafety' pod 'React', :path => '../node_modules/react-native/' pod 'React-Core', :path => '../node_modules/react-native/' pod 'React-CoreModules', :path => '../node_modules/react-native/React/CoreModules' pod 'React-Core/DevSupport', :path => '../node_modules/react-native/' pod 'React-RCTActionSheet', :path => '../node_modules/react-native/Libraries/ActionSheetIOS' pod 'React-RCTAnimation', :path => '../node_modules/react-native/Libraries/NativeAnimation' pod 'React-RCTBlob', :path => '../node_modules/react-native/Libraries/Blob' pod 'React-RCTImage', :path => '../node_modules/react-native/Libraries/Image' pod 'React-RCTLinking', :path => '../node_modules/react-native/Libraries/LinkingIOS' pod 'React-RCTNetwork', :path => '../node_modules/react-native/Libraries/Network' pod 'React-RCTSettings', :path => '../node_modules/react-native/Libraries/Settings' pod 'React-RCTText', :path => '../node_modules/react-native/Libraries/Text' pod 'React-RCTVibration', :path => '../node_modules/react-native/Libraries/Vibration' pod 'React-Core/RCTWebSocket', :path => '../node_modules/react-native/' pod 'React-cxxreact', :path => '../node_modules/react-native/ReactCommon/cxxreact' pod 'React-jsi', :path => '../node_modules/react-native/ReactCommon/jsi' pod 'React-jsiexecutor', :path => '../node_modules/react-native/ReactCommon/jsiexecutor' pod 'React-jsinspector', :path => '../node_modules/react-native/ReactCommon/jsinspector' pod 'ReactCommon/callinvoker', :path => '../node_modules/react-native/ReactCommon' pod 'ReactCommon/turbomodule/core', :path => '../node_modules/react-native/ReactCommon' pod 'Yoga', :path => '../node_modules/react-native/ReactCommon/yoga', :modular_headers => true pod 'DoubleConversion', :podspec => '../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec' pod 'glog', :podspec => '../node_modules/react-native/third-party-podspecs/glog.podspec' pod 'Folly', :podspec => '../node_modules/react-native/third-party-podspecs/Folly.podspec' pod 'Intercom', '~> 6.0.0' pod 'RNDeviceInfo', :path => '../node_modules/react-native-device-info' pod 'react-native-netinfo', :podspec => '../node_modules/react-native-community/netinfo/react-native-netinfo.podspec' pod 'BugsnagReactNative', :podspec => '../node_modules/bugsnag-react-native/BugsnagReactNative.podspec' pod 'rn-fetch-blob', :podspec => '../node_modules/rn-fetch-blob/rn-fetch-blob.podspec' use_native_modules! pod 'react-native-intercom', :path => '../node_modules/react-native-intercom' pod 'react-native-image-resizer', :path => '../node_modules/react-native-image-resizer' pod 'RNVectorIcons', :path => '../node_modules/react-native-vector-icons' pod 'react-native-camera', :path => '../node_modules/react-native-camera' pod 'RNCPushNotificationIOS', :path => '../node_modules/react-native-community/push-notification-ios' pod 'RNDateTimePicker', :path => '../node_modules/react-native-community/datetimepicker' # Enables Flipper. # # Note that if you have use_frameworks! enabled, Flipper will not work and # you should disable these next few lines. use_flipper!(configurations: ['Dev.Debug', 'Prod.Debug']) post_install do |installer| flipper_post_install(installer) installer.pods_project.targets.each do |target| # The following is needed to ensure the "archive" step works in XCode. # It removes React & Yoga from the Pods project, as it is already included in the main project. # Without this, you'd see errors when you archive like: # "Multiple commands produce ... libReact.a" # "Multiple commands produce ... libyoga.a" targets_to_ignore = %w(React yoga) if targets_to_ignore.include? target.name target.remove_from_project end end end end ``` I then ran `pod install`: ``` nico:ios/ (dev*) $ pod install [20:14:43] Adding a custom script phase for Pod RNFBApp: [RNFB] Core Configuration Detected React Native module pods for BVLinearGradient, RNCAsyncStorage, RNCPicker, RNCPushNotificationIOS, RNDateTimePicker, RNFBApp, RNFBAuth, RNFBDatabase, RNFBDynamicLinks, RNFBFirestore, RNFBStorage, RNSVG, RNVectorIcons, ReactNativeNavigation, react-native-camera, react-native-cameraroll, react-native-config, react-native-flipper, react-native-get-random-values, react-native-image-resizer, and react-native-intercom Analyzing dependencies Downloading dependencies Generating Pods project Integrating client project Pod installation complete! There are 73 dependencies from the Podfile and 88 total pods installed. [!] use_native_modules! skipped the react-native dependency 'react-native-photo-view'. No podspec file was found. - Check to see if there is an updated version that contains the necessary podspec file - Contact the library maintainers or send them a PR to add a podspec. The react-native-webview podspec is a good example of a package.json driven podspec. See https://github.com/react-native-community/react-native-webview/blob/master/react-native-webview.podspec - If necessary, you can disable autolinking for the dependency and link it manually. See https://github.com/react-native-community/cli/blob/master/docs/autolinking.md#how-can-i-disable-autolinking-for-unsupported-library [!] use_native_modules! skipped the react-native dependency 'detox'. No podspec file was found. - Check to see if there is an updated version that contains the necessary podspec file - Contact the library maintainers or send them a PR to add a podspec. The react-native-webview podspec is a good example of a package.json driven podspec. See https://github.com/react-native-community/react-native-webview/blob/master/react-native-webview.podspec - If necessary, you can disable autolinking for the dependency and link it manually. See https://github.com/react-native-community/cli/blob/master/docs/autolinking.md#how-can-i-disable-autolinking-for-unsupported-library ``` Reviewed By: cpojer Differential Revision: D22795421 Pulled By: passy fbshipit-source-id: 89ba555eadc4918e9ac464a19a318198b237e01e --- scripts/react_native_pods.rb | 40 ++++++++++++++++++------------------ 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/scripts/react_native_pods.rb b/scripts/react_native_pods.rb index 86afd7ff5a..23074d65dd 100644 --- a/scripts/react_native_pods.rb +++ b/scripts/react_native_pods.rb @@ -57,34 +57,34 @@ def use_react_native! (options={}) end end -def use_flipper!(versions = {}) +def use_flipper!(versions = {}, configurations: ['Debug']) versions['Flipper'] ||= '~> 0.41.1' versions['Flipper-DoubleConversion'] ||= '1.1.7' versions['Flipper-Folly'] ||= '~> 2.2' versions['Flipper-Glog'] ||= '0.3.6' versions['Flipper-PeerTalk'] ||= '~> 0.0.4' versions['Flipper-RSocket'] ||= '~> 1.1' - pod 'FlipperKit', versions['Flipper'], :configuration => 'Debug' - pod 'FlipperKit/FlipperKitLayoutPlugin', versions['Flipper'], :configuration => 'Debug' - pod 'FlipperKit/SKIOSNetworkPlugin', versions['Flipper'], :configuration => 'Debug' - pod 'FlipperKit/FlipperKitUserDefaultsPlugin', versions['Flipper'], :configuration => 'Debug' - pod 'FlipperKit/FlipperKitReactPlugin', versions['Flipper'], :configuration => 'Debug' + pod 'FlipperKit', versions['Flipper'], :configurations => configurations + pod 'FlipperKit/FlipperKitLayoutPlugin', versions['Flipper'], :configurations => configurations + pod 'FlipperKit/SKIOSNetworkPlugin', versions['Flipper'], :configurations => configurations + pod 'FlipperKit/FlipperKitUserDefaultsPlugin', versions['Flipper'], :configurations => configurations + pod 'FlipperKit/FlipperKitReactPlugin', versions['Flipper'], :configurations => configurations # List all transitive dependencies for FlipperKit pods # to avoid them being linked in Release builds - pod 'Flipper', versions['Flipper'], :configuration => 'Debug' - pod 'Flipper-DoubleConversion', versions['Flipper-DoubleConversion'], :configuration => 'Debug' - pod 'Flipper-Folly', versions['Flipper-Folly'], :configuration => 'Debug' - pod 'Flipper-Glog', versions['Flipper-Glog'], :configuration => 'Debug' - pod 'Flipper-PeerTalk', versions['Flipper-PeerTalk'], :configuration => 'Debug' - pod 'Flipper-RSocket', versions['Flipper-RSocket'], :configuration => 'Debug' - pod 'FlipperKit/Core', versions['Flipper'], :configuration => 'Debug' - pod 'FlipperKit/CppBridge', versions['Flipper'], :configuration => 'Debug' - pod 'FlipperKit/FBCxxFollyDynamicConvert', versions['Flipper'], :configuration => 'Debug' - pod 'FlipperKit/FBDefines', versions['Flipper'], :configuration => 'Debug' - pod 'FlipperKit/FKPortForwarding', versions['Flipper'], :configuration => 'Debug' - pod 'FlipperKit/FlipperKitHighlightOverlay', versions['Flipper'], :configuration => 'Debug' - pod 'FlipperKit/FlipperKitLayoutTextSearchable', versions['Flipper'], :configuration => 'Debug' - pod 'FlipperKit/FlipperKitNetworkPlugin', versions['Flipper'], :configuration => 'Debug' + pod 'Flipper', versions['Flipper'], :configurations => configurations + pod 'Flipper-DoubleConversion', versions['Flipper-DoubleConversion'], :configurations => configurations + pod 'Flipper-Folly', versions['Flipper-Folly'], :configurations => configurations + pod 'Flipper-Glog', versions['Flipper-Glog'], :configurations => configurations + pod 'Flipper-PeerTalk', versions['Flipper-PeerTalk'], :configurations => configurations + pod 'Flipper-RSocket', versions['Flipper-RSocket'], :configurations => configurations + pod 'FlipperKit/Core', versions['Flipper'], :configurations => configurations + pod 'FlipperKit/CppBridge', versions['Flipper'], :configurations => configurations + pod 'FlipperKit/FBCxxFollyDynamicConvert', versions['Flipper'], :configurations => configurations + pod 'FlipperKit/FBDefines', versions['Flipper'], :configurations => configurations + pod 'FlipperKit/FKPortForwarding', versions['Flipper'], :configurations => configurations + pod 'FlipperKit/FlipperKitHighlightOverlay', versions['Flipper'], :configurations => configurations + pod 'FlipperKit/FlipperKitLayoutTextSearchable', versions['Flipper'], :configurations => configurations + pod 'FlipperKit/FlipperKitNetworkPlugin', versions['Flipper'], :configurations => configurations end # Post Install processing for Flipper From e62b57e52511cdc85c20ec064a83c5105670fc42 Mon Sep 17 00:00:00 2001 From: Lulu Wu Date: Fri, 28 Aug 2020 01:42:18 -0700 Subject: [PATCH 07/14] Fix Xiaomi TextInput crash in native Summary: Long term fix in native for Error: android_crash:java.lang.NullPointerException:android.widget.Editor$SelectionModifierCursorController.access$300 For more detail please see T68183343 D23301714 Changelog: [Android][Changed] - Fix Xiaomi TextInput crash in native Reviewed By: mdvacca Differential Revision: D23331828 fbshipit-source-id: 914f2d431772f49711b940d47a2b3ef57ab82cdc --- Libraries/Components/TextInput/TextInput.js | 3 +++ .../react/views/textinput/ReactEditText.java | 20 ++++++++++++++++--- 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/Libraries/Components/TextInput/TextInput.js b/Libraries/Components/TextInput/TextInput.js index 478af12c4c..b124944ede 100644 --- a/Libraries/Components/TextInput/TextInput.js +++ b/Libraries/Components/TextInput/TextInput.js @@ -488,6 +488,9 @@ export type Props = $ReadOnly<{| * The following values work on Android only: * * - `visible-password` + * + * On Android devices manufactured by Xiaomi with Android Q, 'email-address' + * type will be replaced in native by 'default' to prevent a system related crash. */ keyboardType?: ?KeyboardType, diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java b/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java index 86ae295b26..78a05c5e48 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java @@ -383,11 +383,25 @@ public class ReactEditText extends AppCompatEditText { @Override public void setInputType(int type) { Typeface tf = super.getTypeface(); - super.setInputType(type); - mStagedInputType = type; // Input type password defaults to monospace font, so we need to re-apply the font super.setTypeface(tf); + int inputType = type; + + // Set InputType to TYPE_CLASS_TEXT (the default one for Android) to fix a crash on Xiaomi + // devices with Android Q. This crash happens when focusing on a email EditText within a + // ScrollView, a prompt will be triggered but the system fail to locate it properly. + // Here is an example post discussing about this issue: + // https://github.com/facebook/react-native/issues/27204 + if (inputType == InputType.TYPE_TEXT_VARIATION_EMAIL_ADDRESS + && Build.VERSION.SDK_INT == Build.VERSION_CODES.Q + && Build.MANUFACTURER.startsWith("Xiaomi")) { + inputType = InputType.TYPE_CLASS_TEXT; + } + + super.setInputType(inputType); + mStagedInputType = inputType; + /** * If set forces multiline on input, because of a restriction on Android source that enables * multiline only for inputs of type Text and Multiline on method {@link @@ -401,7 +415,7 @@ public class ReactEditText extends AppCompatEditText { // We override the KeyListener so that all keys on the soft input keyboard as well as hardware // keyboards work. Some KeyListeners like DigitsKeyListener will display the keyboard but not // accept all input from it - mKeyListener.setInputType(type); + mKeyListener.setInputType(inputType); setKeyListener(mKeyListener); } From 29e17754b362d1dc577aff62c5e48b71c6a5fe3d Mon Sep 17 00:00:00 2001 From: Tim Yung Date: Thu, 10 Sep 2020 17:01:55 -0700 Subject: [PATCH 08/14] Pressability: Remove Default Press Delay Summary: Removes the default press delay from `Pressability`, which was introduced in 0.63 and affected `Pressable`. Fixes #29376. In a subsequent commit, I will bring it back as an `unstable_pressDelay` prop. Changelog: [General][Changed] - Removed default 130ms delay from Pressability and Pressable. Reviewed By: lunaleaps Differential Revision: D23604582 fbshipit-source-id: c21c72bf8b59fed028f5905ca4f805bb3fa79399 --- Libraries/Pressability/Pressability.js | 12 ++--- .../__tests__/Pressability-test.js | 54 +++++++++---------- 2 files changed, 30 insertions(+), 36 deletions(-) diff --git a/Libraries/Pressability/Pressability.js b/Libraries/Pressability/Pressability.js index 37555d5df7..f02c7339bb 100644 --- a/Libraries/Pressability/Pressability.js +++ b/Libraries/Pressability/Pressability.js @@ -276,8 +276,7 @@ const isPressInSignal = signal => const isTerminalSignal = signal => signal === 'RESPONDER_TERMINATED' || signal === 'RESPONDER_RELEASE'; -const DEFAULT_LONG_PRESS_DELAY_MS = 370; // 500 - 130 -const DEFAULT_PRESS_DELAY_MS = 130; +const DEFAULT_LONG_PRESS_DELAY_MS = 500; const DEFAULT_PRESS_RECT_OFFSETS = { bottom: 30, left: 20, @@ -468,12 +467,7 @@ export default class Pressability { this._touchState = 'NOT_RESPONDER'; this._receiveSignal('RESPONDER_GRANT', event); - const delayPressIn = normalizeDelay( - this._config.delayPressIn, - 0, - DEFAULT_PRESS_DELAY_MS, - ); - + const delayPressIn = normalizeDelay(this._config.delayPressIn); if (delayPressIn > 0) { this._pressDelayTimeout = setTimeout(() => { this._receiveSignal('DELAY', event); @@ -485,7 +479,7 @@ export default class Pressability { const delayLongPress = normalizeDelay( this._config.delayLongPress, 10, - DEFAULT_LONG_PRESS_DELAY_MS, + DEFAULT_LONG_PRESS_DELAY_MS - delayPressIn, ); this._longPressDelayTimeout = setTimeout(() => { this._handleLongPress(event); diff --git a/Libraries/Pressability/__tests__/Pressability-test.js b/Libraries/Pressability/__tests__/Pressability-test.js index 52c35d00c1..d584d215b7 100644 --- a/Libraries/Pressability/__tests__/Pressability-test.js +++ b/Libraries/Pressability/__tests__/Pressability-test.js @@ -355,7 +355,7 @@ describe('Pressability', () => { expect(config.onLongPress).toBeCalled(); }); - it('is called if pressed for 370ms after the press delay', () => { + it('is called if pressed for 500ms after press started', () => { const {config, handlers} = createMockPressability({ delayPressIn: 100, }); @@ -364,7 +364,7 @@ describe('Pressability', () => { handlers.onResponderGrant(createMockPressEvent('onResponderGrant')); handlers.onResponderMove(createMockPressEvent('onResponderMove')); - jest.advanceTimersByTime(469); + jest.advanceTimersByTime(499); expect(config.onLongPress).not.toBeCalled(); jest.advanceTimersByTime(1); expect(config.onLongPress).toBeCalled(); @@ -393,7 +393,7 @@ describe('Pressability', () => { handlers.onResponderGrant(createMockPressEvent('onResponderGrant')); handlers.onResponderMove(createMockPressEvent('onResponderMove')); - jest.advanceTimersByTime(139); + jest.advanceTimersByTime(9); expect(config.onLongPress).not.toBeCalled(); jest.advanceTimersByTime(1); expect(config.onLongPress).toBeCalled(); @@ -460,7 +460,13 @@ describe('Pressability', () => { const {config, handlers} = createMockPressability(); handlers.onStartShouldSetResponder(); - handlers.onResponderGrant(createMockPressEvent('onResponderGrant')); + handlers.onResponderGrant( + createMockPressEvent({ + registrationName: 'onResponderGrant', + pageX: 0, + pageY: 0, + }), + ); handlers.onResponderMove( createMockPressEvent({ registrationName: 'onResponderMove', @@ -475,7 +481,13 @@ describe('Pressability', () => { // Subsequent long touch gesture should not carry over previous state. handlers.onStartShouldSetResponder(); - handlers.onResponderGrant(createMockPressEvent('onResponderGrant')); + handlers.onResponderGrant( + createMockPressEvent({ + registrationName: 'onResponderGrant', + pageX: 7, + pageY: 8, + }), + ); handlers.onResponderMove( // NOTE: Delta from (0, 0) is ~10.6 > 10, but should not matter. createMockPressEvent({ @@ -522,7 +534,7 @@ describe('Pressability', () => { expect(config.onPressIn).toBeCalled(); }); - it('is called after the default delay by default', () => { + it('is called immediately by default', () => { const {config, handlers} = createMockPressability({ delayPressIn: null, }); @@ -531,24 +543,6 @@ describe('Pressability', () => { handlers.onResponderGrant(createMockPressEvent('onResponderGrant')); handlers.onResponderMove(createMockPressEvent('onResponderMove')); - jest.advanceTimersByTime(129); - expect(config.onPressIn).not.toBeCalled(); - jest.advanceTimersByTime(1); - expect(config.onPressIn).toBeCalled(); - }); - - it('falls back to the default delay if `delayPressIn` is omitted', () => { - const {config, handlers} = createMockPressability({ - delayPressIn: null, - }); - - handlers.onStartShouldSetResponder(); - handlers.onResponderGrant(createMockPressEvent('onResponderGrant')); - handlers.onResponderMove(createMockPressEvent('onResponderMove')); - - jest.advanceTimersByTime(129); - expect(config.onPressIn).not.toBeCalled(); - jest.advanceTimersByTime(1); expect(config.onPressIn).toBeCalled(); }); @@ -582,7 +576,9 @@ describe('Pressability', () => { describe('onPressOut', () => { it('is called after `onResponderRelease` before `delayPressIn`', () => { - const {config, handlers} = createMockPressability(); + const {config, handlers} = createMockPressability({ + delayPressIn: Number.EPSILON, + }); handlers.onStartShouldSetResponder(); handlers.onResponderGrant(createMockPressEvent('onResponderGrant')); @@ -596,7 +592,9 @@ describe('Pressability', () => { }); it('is called after `onResponderRelease` after `delayPressIn`', () => { - const {config, handlers} = createMockPressability(); + const {config, handlers} = createMockPressability({ + delayPressIn: Number.EPSILON, + }); handlers.onStartShouldSetResponder(); handlers.onResponderGrant(createMockPressEvent('onResponderGrant')); @@ -611,7 +609,9 @@ describe('Pressability', () => { }); it('is not called after `onResponderTerminate` before `delayPressIn`', () => { - const {config, handlers} = createMockPressability(); + const {config, handlers} = createMockPressability({ + delayPressIn: Number.EPSILON, + }); handlers.onStartShouldSetResponder(); handlers.onResponderGrant(createMockPressEvent('onResponderGrant')); From 66c8cd393c2a0174b98da50cadb9d92c06de5992 Mon Sep 17 00:00:00 2001 From: Michel Weststrate Date: Fri, 18 Sep 2020 12:21:02 -0700 Subject: [PATCH 09/14] Update Flipper (#29787) Summary: The current Flipper version included in new React Native is quite old, causing some bugs to be present which have long been solved, such as freezing the UI after inspecting it. Fixes This fixes https://github.com/facebook/react-native/issues/29492 / https://github.com/facebook/flipper/issues/1399 ## Changelog [general][changed] - Update Flipper to 0.54 Pull Request resolved: https://github.com/facebook/react-native/pull/29787 Test Plan: Updated the RN 0.63.2 based test project https://github.com/mweststrate/flipper-issue-1399-repo with `use_flipper!('Flipper' => '0.54.0')` (in `ios/Podspec`) / `FLIPPER_VERSION=0.52.1` in `gradle.properties` in the test project https://github.com/mweststrate/flipper-issue-1399-repo and verified that everything builds and connects correctly, and that the bug is no longer present. Tried to run RN-tester project in this repo. For iOS this succeeded, on Android I got a build error: ``` make: Leaving directory '/Users/mweststrate/Desktop/react-native/ReactAndroid/src/main/jni/react/jni' make: Entering directory '/Users/mweststrate/Desktop/react-native/ReactAndroid/src/main/jni/react/jni' fcntl(): Bad file descriptor [armeabi-v7a] Compile++ thumb: folly_json <= FileUtil.cpp /Users/mweststrate/Desktop/react-native/ReactAndroid/build/third-party-ndk/folly/folly/FileUtil.cpp:37:14: error: no matching function for call to 'wrapNoInt' make: Leaving directory '/Users/mweststrate/Desktop/react-native/ReactAndroid/src/main/jni/react/jni' return int(wrapNoInt(open, name, flags, mode)); ^~~~~~~~~ /Users/mweststrate/Desktop/react-native/ReactAndroid/build/third-party-ndk/folly/folly/detail/FileUtilDetail.h:34:9: note: candidate template ignored: couldn't infer template argument 'F' ssize_t wrapNoInt(F f, Args... args) { ^ 1 error generated. make: *** [/opt/android_sdk/ndk/21.3.6528147/build/core/build-binary.mk:478: /Users/mweststrate/Desktop/react-native/ReactAndroid/build/tmp/buildReactNdkLib/local/armeabi-v7a/objs/folly_json/folly/FileUtil.o] Error 1 make: *** Waiting for unfinished jobs.... fcntl(): Bad file descriptor make: Entering directory '/Users/mweststrate/Desktop/react-native/ReactAndroid/src/main/jni/react/jni' [armeabi-v7a] Compile++ thumb: folly_json <= Demangle.cpp ``` No idea if it is related. I guess not since without making the change I got the same error. Reviewed By: mweststrate Differential Revision: D23767388 Pulled By: fkgozali fbshipit-source-id: 35f0d3ddec41942f5bbc96cb391975d84729ef5e # Conflicts: # RNTester/README.md # packages/rn-tester/Podfile.lock --- RNTester/Podfile.lock | 484 ++++++++++++------------- RNTester/android/app/gradle.properties | 2 +- scripts/react_native_pods.rb | 2 +- template/android/gradle.properties | 2 +- 4 files changed, 245 insertions(+), 245 deletions(-) diff --git a/RNTester/Podfile.lock b/RNTester/Podfile.lock index c124bbc4fc..06615fad9c 100644 --- a/RNTester/Podfile.lock +++ b/RNTester/Podfile.lock @@ -3,15 +3,15 @@ PODS: - CocoaAsyncSocket (7.6.4) - CocoaLibEvent (1.0.0) - DoubleConversion (1.1.6) - - FBLazyVector (0.63.0-rc.1) - - FBReactNativeSpec (0.63.0-rc.1): + - FBLazyVector (0.63.2) + - FBReactNativeSpec (0.63.2): - Folly (= 2020.01.13.00) - - RCTRequired (= 0.63.0-rc.1) - - RCTTypeSafety (= 0.63.0-rc.1) - - React-Core (= 0.63.0-rc.1) - - React-jsi (= 0.63.0-rc.1) - - ReactCommon/turbomodule/core (= 0.63.0-rc.1) - - Flipper (0.41.5): + - RCTRequired (= 0.63.2) + - RCTTypeSafety (= 0.63.2) + - React-Core (= 0.63.2) + - React-jsi (= 0.63.2) + - ReactCommon/turbomodule/core (= 0.63.2) + - Flipper (0.54.0): - Flipper-Folly (~> 2.2) - Flipper-RSocket (~> 1.1) - Flipper-DoubleConversion (1.1.7) @@ -25,36 +25,36 @@ PODS: - Flipper-PeerTalk (0.0.4) - Flipper-RSocket (1.1.0): - Flipper-Folly (~> 2.2) - - FlipperKit (0.41.5): - - FlipperKit/Core (= 0.41.5) - - FlipperKit/Core (0.41.5): - - Flipper (~> 0.41.5) + - FlipperKit (0.54.0): + - FlipperKit/Core (= 0.54.0) + - FlipperKit/Core (0.54.0): + - Flipper (~> 0.54.0) - FlipperKit/CppBridge - FlipperKit/FBCxxFollyDynamicConvert - FlipperKit/FBDefines - FlipperKit/FKPortForwarding - - FlipperKit/CppBridge (0.41.5): - - Flipper (~> 0.41.5) - - FlipperKit/FBCxxFollyDynamicConvert (0.41.5): + - FlipperKit/CppBridge (0.54.0): + - Flipper (~> 0.54.0) + - FlipperKit/FBCxxFollyDynamicConvert (0.54.0): - Flipper-Folly (~> 2.2) - - FlipperKit/FBDefines (0.41.5) - - FlipperKit/FKPortForwarding (0.41.5): + - FlipperKit/FBDefines (0.54.0) + - FlipperKit/FKPortForwarding (0.54.0): - CocoaAsyncSocket (~> 7.6) - Flipper-PeerTalk (~> 0.0.4) - - FlipperKit/FlipperKitHighlightOverlay (0.41.5) - - FlipperKit/FlipperKitLayoutPlugin (0.41.5): + - FlipperKit/FlipperKitHighlightOverlay (0.54.0) + - FlipperKit/FlipperKitLayoutPlugin (0.54.0): - FlipperKit/Core - FlipperKit/FlipperKitHighlightOverlay - FlipperKit/FlipperKitLayoutTextSearchable - YogaKit (~> 1.18) - - FlipperKit/FlipperKitLayoutTextSearchable (0.41.5) - - FlipperKit/FlipperKitNetworkPlugin (0.41.5): + - FlipperKit/FlipperKitLayoutTextSearchable (0.54.0) + - FlipperKit/FlipperKitNetworkPlugin (0.54.0): - FlipperKit/Core - - FlipperKit/FlipperKitReactPlugin (0.41.5): + - FlipperKit/FlipperKitReactPlugin (0.54.0): - FlipperKit/Core - - FlipperKit/FlipperKitUserDefaultsPlugin (0.41.5): + - FlipperKit/FlipperKitUserDefaultsPlugin (0.54.0): - FlipperKit/Core - - FlipperKit/SKIOSNetworkPlugin (0.41.5): + - FlipperKit/SKIOSNetworkPlugin (0.54.0): - FlipperKit/Core - FlipperKit/FlipperKitNetworkPlugin - Folly (2020.01.13.00): @@ -70,271 +70,271 @@ PODS: - OpenSSL-Universal (1.0.2.19): - OpenSSL-Universal/Static (= 1.0.2.19) - OpenSSL-Universal/Static (1.0.2.19) - - RCTRequired (0.63.0-rc.1) - - RCTTypeSafety (0.63.0-rc.1): - - FBLazyVector (= 0.63.0-rc.1) + - RCTRequired (0.63.2) + - RCTTypeSafety (0.63.2): + - FBLazyVector (= 0.63.2) - Folly (= 2020.01.13.00) - - RCTRequired (= 0.63.0-rc.1) - - React-Core (= 0.63.0-rc.1) - - React (0.63.0-rc.1): - - React-Core (= 0.63.0-rc.1) - - React-Core/DevSupport (= 0.63.0-rc.1) - - React-Core/RCTWebSocket (= 0.63.0-rc.1) - - React-RCTActionSheet (= 0.63.0-rc.1) - - React-RCTAnimation (= 0.63.0-rc.1) - - React-RCTBlob (= 0.63.0-rc.1) - - React-RCTImage (= 0.63.0-rc.1) - - React-RCTLinking (= 0.63.0-rc.1) - - React-RCTNetwork (= 0.63.0-rc.1) - - React-RCTSettings (= 0.63.0-rc.1) - - React-RCTText (= 0.63.0-rc.1) - - React-RCTVibration (= 0.63.0-rc.1) - - React-ART (0.63.0-rc.1): - - React-Core/ARTHeaders (= 0.63.0-rc.1) - - React-callinvoker (0.63.0-rc.1) - - React-Core (0.63.0-rc.1): + - RCTRequired (= 0.63.2) + - React-Core (= 0.63.2) + - React (0.63.2): + - React-Core (= 0.63.2) + - React-Core/DevSupport (= 0.63.2) + - React-Core/RCTWebSocket (= 0.63.2) + - React-RCTActionSheet (= 0.63.2) + - React-RCTAnimation (= 0.63.2) + - React-RCTBlob (= 0.63.2) + - React-RCTImage (= 0.63.2) + - React-RCTLinking (= 0.63.2) + - React-RCTNetwork (= 0.63.2) + - React-RCTSettings (= 0.63.2) + - React-RCTText (= 0.63.2) + - React-RCTVibration (= 0.63.2) + - React-ART (0.63.2): + - React-Core/ARTHeaders (= 0.63.2) + - React-callinvoker (0.63.2) + - React-Core (0.63.2): - Folly (= 2020.01.13.00) - glog - - React-Core/Default (= 0.63.0-rc.1) - - React-cxxreact (= 0.63.0-rc.1) - - React-jsi (= 0.63.0-rc.1) - - React-jsiexecutor (= 0.63.0-rc.1) + - React-Core/Default (= 0.63.2) + - React-cxxreact (= 0.63.2) + - React-jsi (= 0.63.2) + - React-jsiexecutor (= 0.63.2) - Yoga - - React-Core/ARTHeaders (0.63.0-rc.1): + - React-Core/ARTHeaders (0.63.2): - Folly (= 2020.01.13.00) - glog - React-Core/Default - - React-cxxreact (= 0.63.0-rc.1) - - React-jsi (= 0.63.0-rc.1) - - React-jsiexecutor (= 0.63.0-rc.1) + - React-cxxreact (= 0.63.2) + - React-jsi (= 0.63.2) + - React-jsiexecutor (= 0.63.2) - Yoga - - React-Core/CoreModulesHeaders (0.63.0-rc.1): + - React-Core/CoreModulesHeaders (0.63.2): - Folly (= 2020.01.13.00) - glog - React-Core/Default - - React-cxxreact (= 0.63.0-rc.1) - - React-jsi (= 0.63.0-rc.1) - - React-jsiexecutor (= 0.63.0-rc.1) + - React-cxxreact (= 0.63.2) + - React-jsi (= 0.63.2) + - React-jsiexecutor (= 0.63.2) - Yoga - - React-Core/Default (0.63.0-rc.1): + - React-Core/Default (0.63.2): - Folly (= 2020.01.13.00) - glog - - React-cxxreact (= 0.63.0-rc.1) - - React-jsi (= 0.63.0-rc.1) - - React-jsiexecutor (= 0.63.0-rc.1) + - React-cxxreact (= 0.63.2) + - React-jsi (= 0.63.2) + - React-jsiexecutor (= 0.63.2) - Yoga - - React-Core/DevSupport (0.63.0-rc.1): + - React-Core/DevSupport (0.63.2): - Folly (= 2020.01.13.00) - glog - - React-Core/Default (= 0.63.0-rc.1) - - React-Core/RCTWebSocket (= 0.63.0-rc.1) - - React-cxxreact (= 0.63.0-rc.1) - - React-jsi (= 0.63.0-rc.1) - - React-jsiexecutor (= 0.63.0-rc.1) - - React-jsinspector (= 0.63.0-rc.1) + - React-Core/Default (= 0.63.2) + - React-Core/RCTWebSocket (= 0.63.2) + - React-cxxreact (= 0.63.2) + - React-jsi (= 0.63.2) + - React-jsiexecutor (= 0.63.2) + - React-jsinspector (= 0.63.2) - Yoga - - React-Core/RCTActionSheetHeaders (0.63.0-rc.1): + - React-Core/RCTActionSheetHeaders (0.63.2): - Folly (= 2020.01.13.00) - glog - React-Core/Default - - React-cxxreact (= 0.63.0-rc.1) - - React-jsi (= 0.63.0-rc.1) - - React-jsiexecutor (= 0.63.0-rc.1) + - React-cxxreact (= 0.63.2) + - React-jsi (= 0.63.2) + - React-jsiexecutor (= 0.63.2) - Yoga - - React-Core/RCTAnimationHeaders (0.63.0-rc.1): + - React-Core/RCTAnimationHeaders (0.63.2): - Folly (= 2020.01.13.00) - glog - React-Core/Default - - React-cxxreact (= 0.63.0-rc.1) - - React-jsi (= 0.63.0-rc.1) - - React-jsiexecutor (= 0.63.0-rc.1) + - React-cxxreact (= 0.63.2) + - React-jsi (= 0.63.2) + - React-jsiexecutor (= 0.63.2) - Yoga - - React-Core/RCTBlobHeaders (0.63.0-rc.1): + - React-Core/RCTBlobHeaders (0.63.2): - Folly (= 2020.01.13.00) - glog - React-Core/Default - - React-cxxreact (= 0.63.0-rc.1) - - React-jsi (= 0.63.0-rc.1) - - React-jsiexecutor (= 0.63.0-rc.1) + - React-cxxreact (= 0.63.2) + - React-jsi (= 0.63.2) + - React-jsiexecutor (= 0.63.2) - Yoga - - React-Core/RCTImageHeaders (0.63.0-rc.1): + - React-Core/RCTImageHeaders (0.63.2): - Folly (= 2020.01.13.00) - glog - React-Core/Default - - React-cxxreact (= 0.63.0-rc.1) - - React-jsi (= 0.63.0-rc.1) - - React-jsiexecutor (= 0.63.0-rc.1) + - React-cxxreact (= 0.63.2) + - React-jsi (= 0.63.2) + - React-jsiexecutor (= 0.63.2) - Yoga - - React-Core/RCTLinkingHeaders (0.63.0-rc.1): + - React-Core/RCTLinkingHeaders (0.63.2): - Folly (= 2020.01.13.00) - glog - React-Core/Default - - React-cxxreact (= 0.63.0-rc.1) - - React-jsi (= 0.63.0-rc.1) - - React-jsiexecutor (= 0.63.0-rc.1) + - React-cxxreact (= 0.63.2) + - React-jsi (= 0.63.2) + - React-jsiexecutor (= 0.63.2) - Yoga - - React-Core/RCTNetworkHeaders (0.63.0-rc.1): + - React-Core/RCTNetworkHeaders (0.63.2): - Folly (= 2020.01.13.00) - glog - React-Core/Default - - React-cxxreact (= 0.63.0-rc.1) - - React-jsi (= 0.63.0-rc.1) - - React-jsiexecutor (= 0.63.0-rc.1) + - React-cxxreact (= 0.63.2) + - React-jsi (= 0.63.2) + - React-jsiexecutor (= 0.63.2) - Yoga - - React-Core/RCTPushNotificationHeaders (0.63.0-rc.1): + - React-Core/RCTPushNotificationHeaders (0.63.2): - Folly (= 2020.01.13.00) - glog - React-Core/Default - - React-cxxreact (= 0.63.0-rc.1) - - React-jsi (= 0.63.0-rc.1) - - React-jsiexecutor (= 0.63.0-rc.1) + - React-cxxreact (= 0.63.2) + - React-jsi (= 0.63.2) + - React-jsiexecutor (= 0.63.2) - Yoga - - React-Core/RCTSettingsHeaders (0.63.0-rc.1): + - React-Core/RCTSettingsHeaders (0.63.2): - Folly (= 2020.01.13.00) - glog - React-Core/Default - - React-cxxreact (= 0.63.0-rc.1) - - React-jsi (= 0.63.0-rc.1) - - React-jsiexecutor (= 0.63.0-rc.1) + - React-cxxreact (= 0.63.2) + - React-jsi (= 0.63.2) + - React-jsiexecutor (= 0.63.2) - Yoga - - React-Core/RCTTextHeaders (0.63.0-rc.1): + - React-Core/RCTTextHeaders (0.63.2): - Folly (= 2020.01.13.00) - glog - React-Core/Default - - React-cxxreact (= 0.63.0-rc.1) - - React-jsi (= 0.63.0-rc.1) - - React-jsiexecutor (= 0.63.0-rc.1) + - React-cxxreact (= 0.63.2) + - React-jsi (= 0.63.2) + - React-jsiexecutor (= 0.63.2) - Yoga - - React-Core/RCTVibrationHeaders (0.63.0-rc.1): + - React-Core/RCTVibrationHeaders (0.63.2): - Folly (= 2020.01.13.00) - glog - React-Core/Default - - React-cxxreact (= 0.63.0-rc.1) - - React-jsi (= 0.63.0-rc.1) - - React-jsiexecutor (= 0.63.0-rc.1) + - React-cxxreact (= 0.63.2) + - React-jsi (= 0.63.2) + - React-jsiexecutor (= 0.63.2) - Yoga - - React-Core/RCTWebSocket (0.63.0-rc.1): + - React-Core/RCTWebSocket (0.63.2): - Folly (= 2020.01.13.00) - glog - - React-Core/Default (= 0.63.0-rc.1) - - React-cxxreact (= 0.63.0-rc.1) - - React-jsi (= 0.63.0-rc.1) - - React-jsiexecutor (= 0.63.0-rc.1) + - React-Core/Default (= 0.63.2) + - React-cxxreact (= 0.63.2) + - React-jsi (= 0.63.2) + - React-jsiexecutor (= 0.63.2) - Yoga - - React-CoreModules (0.63.0-rc.1): - - FBReactNativeSpec (= 0.63.0-rc.1) + - React-CoreModules (0.63.2): + - FBReactNativeSpec (= 0.63.2) - Folly (= 2020.01.13.00) - - RCTTypeSafety (= 0.63.0-rc.1) - - React-Core/CoreModulesHeaders (= 0.63.0-rc.1) - - React-jsi (= 0.63.0-rc.1) - - React-RCTImage (= 0.63.0-rc.1) - - ReactCommon/turbomodule/core (= 0.63.0-rc.1) - - React-cxxreact (0.63.0-rc.1): + - RCTTypeSafety (= 0.63.2) + - React-Core/CoreModulesHeaders (= 0.63.2) + - React-jsi (= 0.63.2) + - React-RCTImage (= 0.63.2) + - ReactCommon/turbomodule/core (= 0.63.2) + - React-cxxreact (0.63.2): - boost-for-react-native (= 1.63.0) - DoubleConversion - Folly (= 2020.01.13.00) - glog - - React-callinvoker (= 0.63.0-rc.1) - - React-jsinspector (= 0.63.0-rc.1) - - React-jsi (0.63.0-rc.1): + - React-callinvoker (= 0.63.2) + - React-jsinspector (= 0.63.2) + - React-jsi (0.63.2): - boost-for-react-native (= 1.63.0) - DoubleConversion - Folly (= 2020.01.13.00) - glog - - React-jsi/Default (= 0.63.0-rc.1) - - React-jsi/Default (0.63.0-rc.1): + - React-jsi/Default (= 0.63.2) + - React-jsi/Default (0.63.2): - boost-for-react-native (= 1.63.0) - DoubleConversion - Folly (= 2020.01.13.00) - glog - - React-jsiexecutor (0.63.0-rc.1): + - React-jsiexecutor (0.63.2): - DoubleConversion - Folly (= 2020.01.13.00) - glog - - React-cxxreact (= 0.63.0-rc.1) - - React-jsi (= 0.63.0-rc.1) - - React-jsinspector (0.63.0-rc.1) - - React-RCTActionSheet (0.63.0-rc.1): - - React-Core/RCTActionSheetHeaders (= 0.63.0-rc.1) - - React-RCTAnimation (0.63.0-rc.1): - - FBReactNativeSpec (= 0.63.0-rc.1) + - React-cxxreact (= 0.63.2) + - React-jsi (= 0.63.2) + - React-jsinspector (0.63.2) + - React-RCTActionSheet (0.63.2): + - React-Core/RCTActionSheetHeaders (= 0.63.2) + - React-RCTAnimation (0.63.2): + - FBReactNativeSpec (= 0.63.2) - Folly (= 2020.01.13.00) - - RCTTypeSafety (= 0.63.0-rc.1) - - React-Core/RCTAnimationHeaders (= 0.63.0-rc.1) - - React-jsi (= 0.63.0-rc.1) - - ReactCommon/turbomodule/core (= 0.63.0-rc.1) - - React-RCTBlob (0.63.0-rc.1): - - FBReactNativeSpec (= 0.63.0-rc.1) + - RCTTypeSafety (= 0.63.2) + - React-Core/RCTAnimationHeaders (= 0.63.2) + - React-jsi (= 0.63.2) + - ReactCommon/turbomodule/core (= 0.63.2) + - React-RCTBlob (0.63.2): + - FBReactNativeSpec (= 0.63.2) - Folly (= 2020.01.13.00) - - React-Core/RCTBlobHeaders (= 0.63.0-rc.1) - - React-Core/RCTWebSocket (= 0.63.0-rc.1) - - React-jsi (= 0.63.0-rc.1) - - React-RCTNetwork (= 0.63.0-rc.1) - - ReactCommon/turbomodule/core (= 0.63.0-rc.1) - - React-RCTImage (0.63.0-rc.1): - - FBReactNativeSpec (= 0.63.0-rc.1) + - React-Core/RCTBlobHeaders (= 0.63.2) + - React-Core/RCTWebSocket (= 0.63.2) + - React-jsi (= 0.63.2) + - React-RCTNetwork (= 0.63.2) + - ReactCommon/turbomodule/core (= 0.63.2) + - React-RCTImage (0.63.2): + - FBReactNativeSpec (= 0.63.2) - Folly (= 2020.01.13.00) - - RCTTypeSafety (= 0.63.0-rc.1) - - React-Core/RCTImageHeaders (= 0.63.0-rc.1) - - React-jsi (= 0.63.0-rc.1) - - React-RCTNetwork (= 0.63.0-rc.1) - - ReactCommon/turbomodule/core (= 0.63.0-rc.1) - - React-RCTLinking (0.63.0-rc.1): - - FBReactNativeSpec (= 0.63.0-rc.1) - - React-Core/RCTLinkingHeaders (= 0.63.0-rc.1) - - React-jsi (= 0.63.0-rc.1) - - ReactCommon/turbomodule/core (= 0.63.0-rc.1) - - React-RCTNetwork (0.63.0-rc.1): - - FBReactNativeSpec (= 0.63.0-rc.1) + - RCTTypeSafety (= 0.63.2) + - React-Core/RCTImageHeaders (= 0.63.2) + - React-jsi (= 0.63.2) + - React-RCTNetwork (= 0.63.2) + - ReactCommon/turbomodule/core (= 0.63.2) + - React-RCTLinking (0.63.2): + - FBReactNativeSpec (= 0.63.2) + - React-Core/RCTLinkingHeaders (= 0.63.2) + - React-jsi (= 0.63.2) + - ReactCommon/turbomodule/core (= 0.63.2) + - React-RCTNetwork (0.63.2): + - FBReactNativeSpec (= 0.63.2) - Folly (= 2020.01.13.00) - - RCTTypeSafety (= 0.63.0-rc.1) - - React-Core/RCTNetworkHeaders (= 0.63.0-rc.1) - - React-jsi (= 0.63.0-rc.1) - - ReactCommon/turbomodule/core (= 0.63.0-rc.1) - - React-RCTPushNotification (0.63.0-rc.1): - - FBReactNativeSpec (= 0.63.0-rc.1) - - RCTTypeSafety (= 0.63.0-rc.1) - - React-Core/RCTPushNotificationHeaders (= 0.63.0-rc.1) - - React-jsi (= 0.63.0-rc.1) - - ReactCommon/turbomodule/core (= 0.63.0-rc.1) - - React-RCTSettings (0.63.0-rc.1): - - FBReactNativeSpec (= 0.63.0-rc.1) + - RCTTypeSafety (= 0.63.2) + - React-Core/RCTNetworkHeaders (= 0.63.2) + - React-jsi (= 0.63.2) + - ReactCommon/turbomodule/core (= 0.63.2) + - React-RCTPushNotification (0.63.2): + - FBReactNativeSpec (= 0.63.2) + - RCTTypeSafety (= 0.63.2) + - React-Core/RCTPushNotificationHeaders (= 0.63.2) + - React-jsi (= 0.63.2) + - ReactCommon/turbomodule/core (= 0.63.2) + - React-RCTSettings (0.63.2): + - FBReactNativeSpec (= 0.63.2) - Folly (= 2020.01.13.00) - - RCTTypeSafety (= 0.63.0-rc.1) - - React-Core/RCTSettingsHeaders (= 0.63.0-rc.1) - - React-jsi (= 0.63.0-rc.1) - - ReactCommon/turbomodule/core (= 0.63.0-rc.1) - - React-RCTTest (0.63.0-rc.1): + - RCTTypeSafety (= 0.63.2) + - React-Core/RCTSettingsHeaders (= 0.63.2) + - React-jsi (= 0.63.2) + - ReactCommon/turbomodule/core (= 0.63.2) + - React-RCTTest (0.63.2): - Folly (= 2020.01.13.00) - - React-Core (= 0.63.0-rc.1) - - React-CoreModules (= 0.63.0-rc.1) - - React-jsi (= 0.63.0-rc.1) - - ReactCommon/turbomodule/core (= 0.63.0-rc.1) - - React-RCTText (0.63.0-rc.1): - - React-Core/RCTTextHeaders (= 0.63.0-rc.1) - - React-RCTVibration (0.63.0-rc.1): - - FBReactNativeSpec (= 0.63.0-rc.1) + - React-Core (= 0.63.2) + - React-CoreModules (= 0.63.2) + - React-jsi (= 0.63.2) + - ReactCommon/turbomodule/core (= 0.63.2) + - React-RCTText (0.63.2): + - React-Core/RCTTextHeaders (= 0.63.2) + - React-RCTVibration (0.63.2): + - FBReactNativeSpec (= 0.63.2) - Folly (= 2020.01.13.00) - - React-Core/RCTVibrationHeaders (= 0.63.0-rc.1) - - React-jsi (= 0.63.0-rc.1) - - ReactCommon/turbomodule/core (= 0.63.0-rc.1) - - ReactCommon/turbomodule/core (0.63.0-rc.1): + - React-Core/RCTVibrationHeaders (= 0.63.2) + - React-jsi (= 0.63.2) + - ReactCommon/turbomodule/core (= 0.63.2) + - ReactCommon/turbomodule/core (0.63.2): - DoubleConversion - Folly (= 2020.01.13.00) - glog - - React-callinvoker (= 0.63.0-rc.1) - - React-Core (= 0.63.0-rc.1) - - React-cxxreact (= 0.63.0-rc.1) - - React-jsi (= 0.63.0-rc.1) - - ReactCommon/turbomodule/samples (0.63.0-rc.1): + - React-callinvoker (= 0.63.2) + - React-Core (= 0.63.2) + - React-cxxreact (= 0.63.2) + - React-jsi (= 0.63.2) + - ReactCommon/turbomodule/samples (0.63.2): - DoubleConversion - Folly (= 2020.01.13.00) - glog - - React-callinvoker (= 0.63.0-rc.1) - - React-Core (= 0.63.0-rc.1) - - React-cxxreact (= 0.63.0-rc.1) - - React-jsi (= 0.63.0-rc.1) - - ReactCommon/turbomodule/core (= 0.63.0-rc.1) + - React-callinvoker (= 0.63.2) + - React-Core (= 0.63.2) + - React-cxxreact (= 0.63.2) + - React-jsi (= 0.63.2) + - ReactCommon/turbomodule/core (= 0.63.2) - Yoga (1.14.0) - YogaKit (1.18.1): - Yoga (~> 1.14) @@ -343,25 +343,25 @@ DEPENDENCIES: - DoubleConversion (from `../third-party-podspecs/DoubleConversion.podspec`) - FBLazyVector (from `../Libraries/FBLazyVector`) - FBReactNativeSpec (from `../Libraries/FBReactNativeSpec`) - - Flipper (~> 0.41.1) + - Flipper (~> 0.54.0) - Flipper-DoubleConversion (= 1.1.7) - Flipper-Folly (~> 2.2) - Flipper-Glog (= 0.3.6) - Flipper-PeerTalk (~> 0.0.4) - Flipper-RSocket (~> 1.1) - - FlipperKit (~> 0.41.1) - - FlipperKit/Core (~> 0.41.1) - - FlipperKit/CppBridge (~> 0.41.1) - - FlipperKit/FBCxxFollyDynamicConvert (~> 0.41.1) - - FlipperKit/FBDefines (~> 0.41.1) - - FlipperKit/FKPortForwarding (~> 0.41.1) - - FlipperKit/FlipperKitHighlightOverlay (~> 0.41.1) - - FlipperKit/FlipperKitLayoutPlugin (~> 0.41.1) - - FlipperKit/FlipperKitLayoutTextSearchable (~> 0.41.1) - - FlipperKit/FlipperKitNetworkPlugin (~> 0.41.1) - - FlipperKit/FlipperKitReactPlugin (~> 0.41.1) - - FlipperKit/FlipperKitUserDefaultsPlugin (~> 0.41.1) - - FlipperKit/SKIOSNetworkPlugin (~> 0.41.1) + - FlipperKit (~> 0.54.0) + - FlipperKit/Core (~> 0.54.0) + - FlipperKit/CppBridge (~> 0.54.0) + - FlipperKit/FBCxxFollyDynamicConvert (~> 0.54.0) + - FlipperKit/FBDefines (~> 0.54.0) + - FlipperKit/FKPortForwarding (~> 0.54.0) + - FlipperKit/FlipperKitHighlightOverlay (~> 0.54.0) + - FlipperKit/FlipperKitLayoutPlugin (~> 0.54.0) + - FlipperKit/FlipperKitLayoutTextSearchable (~> 0.54.0) + - FlipperKit/FlipperKitNetworkPlugin (~> 0.54.0) + - FlipperKit/FlipperKitReactPlugin (~> 0.54.0) + - FlipperKit/FlipperKitUserDefaultsPlugin (~> 0.54.0) + - FlipperKit/SKIOSNetworkPlugin (~> 0.54.0) - Folly (from `../third-party-podspecs/Folly.podspec`) - glog (from `../third-party-podspecs/glog.podspec`) - RCTRequired (from `../Libraries/RCTRequired`) @@ -472,44 +472,44 @@ SPEC CHECKSUMS: CocoaAsyncSocket: 694058e7c0ed05a9e217d1b3c7ded962f4180845 CocoaLibEvent: 2fab71b8bd46dd33ddb959f7928ec5909f838e3f DoubleConversion: cde416483dac037923206447da6e1454df403714 - FBLazyVector: 80d80617d51e24046a0bcc817cd9209027ecfaa9 - FBReactNativeSpec: b0fff079b3d224bd19ddd66857a9ebd879248c22 - Flipper: 33585e2d9810fe5528346be33bcf71b37bb7ae13 + FBLazyVector: 3ef4a7f62e7db01092f9d517d2ebc0d0677c4a37 + FBReactNativeSpec: dc7fa9088f0f2a998503a352b0554d69a4391c5a + Flipper: be611d4b742d8c87fbae2ca5f44603a02539e365 Flipper-DoubleConversion: 38631e41ef4f9b12861c67d17cb5518d06badc41 Flipper-Folly: c12092ea368353b58e992843a990a3225d4533c3 Flipper-Glog: 1dfd6abf1e922806c52ceb8701a3599a79a200a6 Flipper-PeerTalk: 116d8f857dc6ef55c7a5a75ea3ceaafe878aadc9 Flipper-RSocket: 64e7431a55835eb953b0bf984ef3b90ae9fdddd7 - FlipperKit: bc68102cd4952a258a23c9c1b316c7bec1fecf83 + FlipperKit: ab353d41aea8aae2ea6daaf813e67496642f3d7d Folly: b73c3869541e86821df3c387eb0af5f65addfab4 glog: 40a13f7840415b9a77023fbcae0f1e6f43192af3 OpenSSL-Universal: 8b48cc0d10c1b2923617dfe5c178aa9ed2689355 - RCTRequired: 6d452db9ed41ed479dded8b25cefaea171af100a - RCTTypeSafety: 9f116cdf6450aae848567f03de76a519ce8b5ffa - React: ae32f1a326e384e477a4130efaf35785cf66c482 - React-ART: 50a9d7530bdbc43d98fc72b923b5a0d5f39f42fd - React-callinvoker: b1222d51ffbc55017208d26e168d76035ade9d53 - React-Core: b328df15e9952f937d4497d08821f908ddf63510 - React-CoreModules: ddbd7c6b62241597e467cedfa4acd89f1504f613 - React-cxxreact: 2e594ee40fb8666e2e48428a1767257a60873877 - React-jsi: a968acc454a107677da6027d2111221f57765de9 - React-jsiexecutor: c40a9c0e687bd7a44cc0a616ff4592a823732a0d - React-jsinspector: 655f32d922ffb180714c0bec652e7e0923b5a5dd - React-RCTActionSheet: ead415a8470cd3552f8cadce3b9b32e0d52e46a7 - React-RCTAnimation: 627dc8ad905b206c9bf10e9527079ef754b6a5dc - React-RCTBlob: e70ce946cee9d400c5bfb0e8668dd11db852fa5a - React-RCTImage: 9b8566568c0191e460baf4bee5a48a26efc2649c - React-RCTLinking: 9a72da67543456af38b7fe01d851c247edb91e59 - React-RCTNetwork: 9939c3f1c757b03abd3bfda89a41b0989254e2a8 - React-RCTPushNotification: b53354ed8d750759b28642c8887574f74480a93f - React-RCTSettings: bb29c478fd69f557f939cf9e3a9f6f431df432bb - React-RCTTest: 90e897d0ebcd93009bb7c384c12bde8bebae1eb6 - React-RCTText: 1aa0fd4251b108777dd6218eb92d3613514b150f - React-RCTVibration: b630e8fd023809796d47917d27caa343ade0678d - ReactCommon: 6d0c6086911f7bf87b8406a92bb2ec66aeefd2e1 - Yoga: 5d62aa8f4e862e282e19a25865ef8124c70f2711 + RCTRequired: f13f25e7b12f925f1f6a6a8c69d929a03c0129fe + RCTTypeSafety: 44982c5c8e43ff4141eb519a8ddc88059acd1f3a + React: e1c65dd41cb9db13b99f24608e47dd595f28ca9a + React-ART: 2ec4583a9a32a52e271db84c5ebaf8dfdf1b0c57 + React-callinvoker: 552a6a6bc8b3bb794cf108ad59e5a9e2e3b4fc98 + React-Core: 9d341e725dc9cd2f49e4c49ad1fc4e8776aa2639 + React-CoreModules: 5335e168165da7f7083ce7147768d36d3e292318 + React-cxxreact: d3261ec5f7d11743fbf21e263a34ea51d1f13ebc + React-jsi: 54245e1d5f4b690dec614a73a3795964eeef13a8 + React-jsiexecutor: 8ca588cc921e70590820ce72b8789b02c67cce38 + React-jsinspector: b14e62ebe7a66e9231e9581279909f2fc3db6606 + React-RCTActionSheet: 910163b6b09685a35c4ebbc52b66d1bfbbe39fc5 + React-RCTAnimation: 9a883bbe1e9d2e158d4fb53765ed64c8dc2200c6 + React-RCTBlob: 39cf0ece1927996c4466510e25d2105f67010e13 + React-RCTImage: de355d738727b09ad3692f2a979affbd54b5f378 + React-RCTLinking: 8122f221d395a63364b2c0078ce284214bd04575 + React-RCTNetwork: 8f96c7b49ea6a0f28f98258f347b6ad218bc0830 + React-RCTPushNotification: dd814b42fa8b6676ce952c5b5e3225e78966ed22 + React-RCTSettings: 8a49622aff9c1925f5455fa340b6fe4853d64ab6 + React-RCTTest: 22fd7159c922138df3653b34746b54d6b0b91133 + React-RCTText: 1b6773e776e4b33f90468c20fe3b16ca3e224bb8 + React-RCTVibration: 4d2e726957f4087449739b595f107c0d4b6c2d2d + ReactCommon: a0a1edbebcac5e91338371b72ffc66aa822792ce + Yoga: 7740b94929bbacbddda59bf115b5317e9a161598 YogaKit: f782866e155069a2cca2517aafea43200b01fd5a PODFILE CHECKSUM: 5f0be4be03d6934478b9dd621bfbab4383b8c85d -COCOAPODS: 1.8.4 +COCOAPODS: 1.9.3 diff --git a/RNTester/android/app/gradle.properties b/RNTester/android/app/gradle.properties index 4ff9751aab..62c23ba112 100644 --- a/RNTester/android/app/gradle.properties +++ b/RNTester/android/app/gradle.properties @@ -9,4 +9,4 @@ android.useAndroidX=true android.enableJetifier=true # Version of flipper SDK to use with React Native -FLIPPER_VERSION=0.37.0 +FLIPPER_VERSION=0.54.0 diff --git a/scripts/react_native_pods.rb b/scripts/react_native_pods.rb index 23074d65dd..9ae06dba4b 100644 --- a/scripts/react_native_pods.rb +++ b/scripts/react_native_pods.rb @@ -58,7 +58,7 @@ def use_react_native! (options={}) end def use_flipper!(versions = {}, configurations: ['Debug']) - versions['Flipper'] ||= '~> 0.41.1' + versions['Flipper'] ||= '~> 0.54.0' versions['Flipper-DoubleConversion'] ||= '1.1.7' versions['Flipper-Folly'] ||= '~> 2.2' versions['Flipper-Glog'] ||= '0.3.6' diff --git a/template/android/gradle.properties b/template/android/gradle.properties index 04ca0ef29e..3bdbd3d4e9 100644 --- a/template/android/gradle.properties +++ b/template/android/gradle.properties @@ -25,4 +25,4 @@ android.useAndroidX=true android.enableJetifier=true # Version of flipper SDK to use with React Native -FLIPPER_VERSION=0.37.0 +FLIPPER_VERSION=0.54.0 From ad6005f6bc98ef999880b95938e9599a28897cd8 Mon Sep 17 00:00:00 2001 From: Makar Kotlov Date: Tue, 22 Sep 2020 06:14:20 -0700 Subject: [PATCH 10/14] Fix Xcode bundler in staging and release (#29477) Summary: Revert "feat: improve monorepo support by removing redundant PROJECT_ROOT (https://github.com/facebook/react-native/issues/28354)" This reverts commit a8e85026cfa60056b1bcbcd39cde789e4d65f9cb. This commit a8e85026cfa60056b1bcbcd39cde789e4d65f9cb somehow broke the bundler when making a staging or release build in Xcode that results in unresolved files and main.jsbundle nonexistance issue. I figured this out by replacing react-native-xcode.sh from RN v0.63.2 by the one from v0.62.2 where everything works just fine and then reverting the changes line by line. It seems like this pr will fix similar issues stated here https://stackoverflow.com/questions/62806319/main-jsbundle-does-not-exist-this-must-be-a-bug-with-main-jsbundle-issue-afte/62829256#62829256 and here https://github.com/facebook/react-native/issues/29205 ## Changelog [iOS] [Fixed] - fix "main.jsbundle does not exist" issue Pull Request resolved: https://github.com/facebook/react-native/pull/29477 Test Plan: With react-native-xcode.sh from RN v0.63.2 ![image](https://user-images.githubusercontent.com/32848434/88342113-7ce55d80-cd47-11ea-9dab-bf41ec6d6ab5.png) With my changes ![image](https://user-images.githubusercontent.com/32848434/88342376-f0876a80-cd47-11ea-9c08-96b892784da1.png) Reviewed By: sammy-SC Differential Revision: D23817847 Pulled By: hramos fbshipit-source-id: 4b729c1231d30e89073b2520aeadee944c84421c --- scripts/react-native-xcode.sh | 19 +++++-------------- 1 file changed, 5 insertions(+), 14 deletions(-) diff --git a/scripts/react-native-xcode.sh b/scripts/react-native-xcode.sh index 328085fb52..da9e44ca39 100755 --- a/scripts/react-native-xcode.sh +++ b/scripts/react-native-xcode.sh @@ -54,17 +54,11 @@ case "$CONFIGURATION" in ;; esac -# Setting up a project root was a workaround to enable support for non-standard -# structures, including monorepos. Today, CLI supports that out of the box -# and setting custom `PROJECT_ROOT` only makes it confusing. -# -# As a backwards-compatible change, I am leaving "PROJECT_ROOT" support for those -# who already use it - it is likely a non-breaking removal. -# -# For new users, we default to $PWD - not changing things all. -# -# For context: https://github.com/facebook/react-native/commit/9ccde378b6e6379df61f9d968be6346ca6be7ead#commitcomment-37914902 -PROJECT_ROOT=${PROJECT_ROOT:-$PWD} +# Path to react-native folder inside node_modules +REACT_NATIVE_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" +# The project should be located next to where react-native is installed +# in node_modules. +PROJECT_ROOT=${PROJECT_ROOT:-"$REACT_NATIVE_DIR/../.."} cd "$PROJECT_ROOT" || exit @@ -102,9 +96,6 @@ if [[ ! -x node && -d ${HOME}/.anyenv/bin ]]; then fi fi -# Path to react-native folder inside node_modules -REACT_NATIVE_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" - # check and assign NODE_BINARY env # shellcheck source=/dev/null source "$REACT_NATIVE_DIR/scripts/node-binary.sh" From e4ec71a1d9674991560bb4519d909c113c6e86f4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eloy=20Dur=C3=A1n?= Date: Wed, 23 Sep 2020 08:15:12 -0700 Subject: [PATCH 11/14] Make React-Core compatible with Swift modules (#29995) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Summary: Related to https://github.com/facebook/react-native/issues/29633 Support Swift based libraries using Xcode 12’s build system. ## Changelog [iOS] [Fixed] - Support Swift based libraries using Xcode 12’s build system. Pull Request resolved: https://github.com/facebook/react-native/pull/29995 Test Plan: * Building RNTester still works * Swift based pod tested in https://github.com/mrousavy/react-native-blurhash/issues/58 Reviewed By: fkgozali Differential Revision: D23824438 Pulled By: appden fbshipit-source-id: 418caf9808cb6326e3d6efdc8b37131a5705e7f6 # Conflicts: # React-Core.podspec # packages/rn-tester/Podfile.lock --- RNTester/Podfile.lock | 2 +- React-Core.podspec | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/RNTester/Podfile.lock b/RNTester/Podfile.lock index 06615fad9c..c61188450b 100644 --- a/RNTester/Podfile.lock +++ b/RNTester/Podfile.lock @@ -489,7 +489,7 @@ SPEC CHECKSUMS: React: e1c65dd41cb9db13b99f24608e47dd595f28ca9a React-ART: 2ec4583a9a32a52e271db84c5ebaf8dfdf1b0c57 React-callinvoker: 552a6a6bc8b3bb794cf108ad59e5a9e2e3b4fc98 - React-Core: 9d341e725dc9cd2f49e4c49ad1fc4e8776aa2639 + React-Core: a42b4deaadbde5a2d8e2dab7a2b874303f733cf4 React-CoreModules: 5335e168165da7f7083ce7147768d36d3e292318 React-cxxreact: d3261ec5f7d11743fbf21e263a34ea51d1f13ebc React-jsi: 54245e1d5f4b690dec614a73a3795964eeef13a8 diff --git a/React-Core.podspec b/React-Core.podspec index cf65263fbd..bc693e125c 100644 --- a/React-Core.podspec +++ b/React-Core.podspec @@ -49,7 +49,7 @@ Pod::Spec.new do |s| s.header_dir = "React" s.framework = "JavaScriptCore" s.library = "stdc++" - s.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ReactCommon\" \"$(PODS_ROOT)/boost-for-react-native\" \"$(PODS_ROOT)/DoubleConversion\" \"$(PODS_ROOT)/Folly\"" } + s.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ReactCommon\" \"$(PODS_ROOT)/boost-for-react-native\" \"$(PODS_ROOT)/DoubleConversion\" \"$(PODS_ROOT)/Folly\"", "DEFINES_MODULE" => "YES" } s.user_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/Headers/Private/React-Core\""} s.default_subspec = "Default" From 09795971f8445bbd57a2ecf1039a06455b8628a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stanis=C5=82aw=20Chmiela?= Date: Thu, 24 Sep 2020 10:33:55 -0700 Subject: [PATCH 12/14] Do not override decoders to RCTImageLoader (#29711) Summary: I (actually, [we](https://github.com/expo/expo/issues/9858)) noticed GIFs are no longer animating in Expo client after [enabling TurboModules](https://github.com/expo/expo/pull/9687). ## Changelog [iOS] [Fixed] - Fix `RCTImageLoader` not using decoders provided. Pull Request resolved: https://github.com/facebook/react-native/pull/29711 Test Plan: ![cat](https://user-images.githubusercontent.com/1151041/90775800-90112c00-e2f9-11ea-95cd-ab95a97068f4.gif) The cat is moving! Before applying this commit `RCTGIFDecoder` provided in the initalizer is removed from the `_decoders` array in the ```objc _decoders = [_bridge modulesConformingToProtocol:protocol(RCTImageDataDecoder)]; ``` Also, compare https://github.com/facebook/react-native/blob/8f306cd66a8bc6054ee13701f02329ab5817b69a/Libraries/Image/RCTImageLoader.mm#L243-L250 and https://github.com/facebook/react-native/blob/8f306cd66a8bc6054ee13701f02329ab5817b69a/Libraries/Image/RCTImageLoader.mm#L177-L184 This PR makes `_decoders` behave the same as `_loaders`. Reviewed By: PeteTheHeat Differential Revision: D23908238 Pulled By: fkgozali fbshipit-source-id: 1d7a6e0d180277f23d8c28916734713bc1833b8b --- Libraries/Image/RCTImageLoader.mm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Libraries/Image/RCTImageLoader.mm b/Libraries/Image/RCTImageLoader.mm index a55ac4857b..ca06273920 100644 --- a/Libraries/Image/RCTImageLoader.mm +++ b/Libraries/Image/RCTImageLoader.mm @@ -247,7 +247,7 @@ RCT_EXPORT_MODULE() _decoders = [_bridge modulesConformingToProtocol:@protocol(RCTImageDataDecoder)]; } - _decoders = [[_bridge modulesConformingToProtocol:@protocol(RCTImageDataDecoder)] sortedArrayUsingComparator:^NSComparisonResult(id a, id b) { + _decoders = [_decoders sortedArrayUsingComparator:^NSComparisonResult(id a, id b) { float priorityA = [a respondsToSelector:@selector(decoderPriority)] ? [a decoderPriority] : 0; float priorityB = [b respondsToSelector:@selector(decoderPriority)] ? [b decoderPriority] : 0; if (priorityA > priorityB) { From 8d8b61a6950430ce47a589cef9b2235d634020dc Mon Sep 17 00:00:00 2001 From: Alex Brazier Date: Sun, 7 Jun 2020 10:23:06 -0700 Subject: [PATCH 13/14] Fix security issues with rnc cli by bumping version (#29072) Summary: Fix security issue with logkitty - used by `cli-android` package https://github.com/react-native-community/cli/issues/1158 [SECURITY] [FIX] - Bump package version of `cli` packages to fix security vulnerability Pull Request resolved: https://github.com/facebook/react-native/pull/29072 Reviewed By: ejanzer Differential Revision: D21906716 Pulled By: cpojer fbshipit-source-id: b5ed9d0bc7a882f5f7a90825402c4c978918d9ed --- package.json | 6 +- yarn.lock | 198 ++++++++++++++++++++++++--------------------------- 2 files changed, 95 insertions(+), 109 deletions(-) diff --git a/package.json b/package.json index b6a075f986..f856da0f55 100644 --- a/package.json +++ b/package.json @@ -86,9 +86,9 @@ }, "dependencies": { "@babel/runtime": "^7.0.0", - "@react-native-community/cli": "^4.7.0", - "@react-native-community/cli-platform-android": "^4.7.0", - "@react-native-community/cli-platform-ios": "^4.7.0", + "@react-native-community/cli": "^4.10.0", + "@react-native-community/cli-platform-android": "^4.10.0", + "@react-native-community/cli-platform-ios": "^4.10.0", "abort-controller": "^3.0.0", "anser": "^1.4.9", "base64-js": "^1.1.2", diff --git a/yarn.lock b/yarn.lock index 2536d128ab..d694c6dbde 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1397,35 +1397,45 @@ "@types/yargs" "^15.0.0" chalk "^3.0.0" -"@react-native-community/cli-debugger-ui@^4.7.0": - version "4.7.0" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-debugger-ui/-/cli-debugger-ui-4.7.0.tgz#4a8689f56b99378b24bbbf0ff6a89869d667f013" - integrity sha512-Z/xJ08Wz3J2fKDPrwxtQ44XSHnWsF6dnT0H2AANw63bWjnrR0E3sh8Nk8/oO+j9R7LH8S0+NHJdlniXYtL/bNg== +"@jest/types@^25.5.0": + version "25.5.0" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-25.5.0.tgz#4d6a4793f7b9599fc3680877b856a97dbccf2a9d" + integrity sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw== + dependencies: + "@types/istanbul-lib-coverage" "^2.0.0" + "@types/istanbul-reports" "^1.1.1" + "@types/yargs" "^15.0.0" + chalk "^3.0.0" + +"@react-native-community/cli-debugger-ui@^4.9.0": + version "4.9.0" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-debugger-ui/-/cli-debugger-ui-4.9.0.tgz#4177764ba69243c97aa26829d59d9501acb2bd71" + integrity sha512-fBFGamHm4VUrDqkBGnsrwQL8OC6Om7K6EBQb4xj0nWekpXt1HSa3ScylYHTTWwYcpRf9htGMRGiv4dQDY/odAw== dependencies: serve-static "^1.13.1" -"@react-native-community/cli-platform-android@^4.7.0": - version "4.7.0" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-android/-/cli-platform-android-4.7.0.tgz#aace6b8004b8d3aae40d6affaad1c472e0310a25" - integrity sha512-Lb6D0ipmFwYLJeQy5/NI4uJpeSHw85rd84C40wwpoUfsCgZhA93WUJdFkuQEIDkfTqs5Yqgl+/szhIZdnIXPxw== +"@react-native-community/cli-platform-android@^4.10.0": + version "4.10.0" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-android/-/cli-platform-android-4.10.0.tgz#c1e8eb4395fc51335e39fc8c09ca96517446a88d" + integrity sha512-/nfCQDbrS0F2u6nwo+4qgx+Fjcv/Rqrn4JbQWdGWEXULfCN+g2Zx9O7sSDNjV7AxOwd+sBOnU945wHkSQdASFA== dependencies: - "@react-native-community/cli-tools" "^4.7.0" + "@react-native-community/cli-tools" "^4.9.0" chalk "^3.0.0" execa "^1.0.0" fs-extra "^8.1.0" glob "^7.1.3" jetifier "^1.6.2" lodash "^4.17.15" - logkitty "^0.6.0" + logkitty "^0.7.1" slash "^3.0.0" xmldoc "^1.1.2" -"@react-native-community/cli-platform-ios@^4.7.0": - version "4.7.0" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-ios/-/cli-platform-ios-4.7.0.tgz#471dcdbd2645c5650f16c0eddcca50e47ca78398" - integrity sha512-XqnxP6H6+PG/wn4+Pwas5jaTSr5n7x6v8trkPY8iO37b8sq7tJLNYznaBMROF43i0NqO48JdhquYOqnDN8FdBA== +"@react-native-community/cli-platform-ios@^4.10.0": + version "4.10.0" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-ios/-/cli-platform-ios-4.10.0.tgz#ef9b3adc5946bd43bbc839d0c8f26c1964fad117" + integrity sha512-3xiaqnmg0hqyMwCfhoGXkJ9GGIxVSwLpntSUo1YiZIn+PLC385ljSer4YfFvWc6N3jd9ElRa31WKtCD9kMAvkg== dependencies: - "@react-native-community/cli-tools" "^4.7.0" + "@react-native-community/cli-tools" "^4.9.0" chalk "^3.0.0" glob "^7.1.3" js-yaml "^3.13.1" @@ -1433,39 +1443,53 @@ plist "^3.0.1" xcode "^2.0.0" -"@react-native-community/cli-tools@^4.7.0": - version "4.7.0" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-tools/-/cli-tools-4.7.0.tgz#83d49277e7f56fef87bdfd0ba55d2cfa20190689" - integrity sha512-llNWJEWXhGMsaHLWoieraPeWuva3kRsIEPi8oRVTybyz82JjR71mN0OFs41o1OnAR6+TR9d5cJPN+mIOESugEA== +"@react-native-community/cli-server-api@^4.9.0": + version "4.9.0" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-server-api/-/cli-server-api-4.9.0.tgz#503f50331c6e2cc8c5fcf6b693170e3a3a669d1a" + integrity sha512-lKBIXJjFLyu4+6Vhhj/QzD41aQGkVi8xWLqTYCgi26d61kjLuuZs0Xer02DPJK3+YADKExVdWrJzVHfJ7zYlTA== + dependencies: + "@react-native-community/cli-debugger-ui" "^4.9.0" + "@react-native-community/cli-tools" "^4.9.0" + compression "^1.7.1" + connect "^3.6.5" + errorhandler "^1.5.0" + pretty-format "^25.1.0" + serve-static "^1.13.1" + ws "^1.1.0" + +"@react-native-community/cli-tools@^4.9.0": + version "4.9.0" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-tools/-/cli-tools-4.9.0.tgz#d8fd0326cc2fcaeb8c920baf24b68b63c8164fa2" + integrity sha512-vCeYkJ3n/EIaW3lAfznzojMffGxYhCUzwZzwBuC3+O+gYxkymdpletqNYLLEa04DzJr174mxgbgBw8g5IP91yA== dependencies: chalk "^3.0.0" lodash "^4.17.15" mime "^2.4.1" node-fetch "^2.6.0" + open "^6.2.0" + shell-quote "1.6.1" -"@react-native-community/cli-types@^4.7.0": - version "4.7.0" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-types/-/cli-types-4.7.0.tgz#871905753f8ff83cf10c48e8df3fdd63cd7667a0" - integrity sha512-Pw05Rsh/ENFs/Utv1SVRFfdMAn+W9yy1AOhyIKB36JX0Xw00sIZQDyZVsVfmaLSOpRpJ/qUdKWXB/WYV4XYELw== +"@react-native-community/cli-types@^4.10.0": + version "4.10.0" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-types/-/cli-types-4.10.0.tgz#aea4276c035fffaeb7deae029ad8a89054fbabfc" + integrity sha512-gU0Opspa/WYLQdmY0BKe0VLwD+SuNatypRvBP6nlyzS8/qmSaZ73047jHWYQavhfqn/WxHzBLQSwZK0a7ROfeg== -"@react-native-community/cli@^4.7.0": - version "4.7.0" - resolved "https://registry.yarnpkg.com/@react-native-community/cli/-/cli-4.7.0.tgz#be692631356d14fd1ffe23f25b479dca9e8e7c95" - integrity sha512-DbpxcPC7lFCJ112dPXL4DBKh5TfH0QK2OTG7uEGjfsApT4c01Lae6OMTNSssXgXTcNJApqIT5a6GXK2vSE0CEQ== +"@react-native-community/cli@^4.10.0": + version "4.10.0" + resolved "https://registry.yarnpkg.com/@react-native-community/cli/-/cli-4.10.0.tgz#13f4fa98b66ea756e6480864c71304b49a9bca44" + integrity sha512-rg6pIMmSodqFTJ5GbdTPjIoumCE8Vm6H0DA5LzXprnGozOxJ0hRRDJqX37tR9sH50ABOQpSWs/+etJhgF2Tlxw== dependencies: "@hapi/joi" "^15.0.3" - "@react-native-community/cli-debugger-ui" "^4.7.0" - "@react-native-community/cli-tools" "^4.7.0" - "@react-native-community/cli-types" "^4.7.0" + "@react-native-community/cli-debugger-ui" "^4.9.0" + "@react-native-community/cli-server-api" "^4.9.0" + "@react-native-community/cli-tools" "^4.9.0" + "@react-native-community/cli-types" "^4.10.0" chalk "^3.0.0" command-exists "^1.2.8" commander "^2.19.0" - compression "^1.7.1" - connect "^3.6.5" cosmiconfig "^5.1.0" deepmerge "^3.2.0" envinfo "^7.1.0" - errorhandler "^1.5.0" execa "^1.0.0" find-up "^4.1.0" fs-extra "^8.1.0" @@ -1478,19 +1502,17 @@ metro-config "^0.58.0" metro-core "^0.58.0" metro-react-native-babel-transformer "^0.58.0" + metro-resolver "^0.58.0" minimist "^1.2.0" mkdirp "^0.5.1" node-stream-zip "^1.9.1" - open "^6.2.0" ora "^3.4.0" pretty-format "^25.2.0" semver "^6.3.0" serve-static "^1.13.1" - shell-quote "1.6.1" strip-ansi "^5.2.0" sudo-prompt "^9.0.0" wcwidth "^1.0.1" - ws "^1.1.0" "@react-native-community/eslint-plugin@file:packages/eslint-plugin-react-native-community": version "1.0.0" @@ -3265,19 +3287,6 @@ exec-sh@^0.3.2: resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.2.tgz#6738de2eb7c8e671d0366aea0b0db8c6f7d7391b" integrity sha512-9sLAvzhI5nc8TpuQUh4ahMdCrWT00wPWz7j47/emR5+2qEfoZP5zzUXvx+vdx+H6ohhnsYC31iX04QLYJK8zTg== -execa@^0.10.0: - version "0.10.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-0.10.0.tgz#ff456a8f53f90f8eccc71a96d11bdfc7f082cb50" - integrity sha512-7XOMnz8Ynx1gGo/3hyV9loYNPWM94jG3+3T3Y8tsfSstFmETmENCMU/A/zj8Lyaj1lkgEepKepvd6240tBRvlw== - dependencies: - cross-spawn "^6.0.0" - get-stream "^3.0.0" - is-stream "^1.1.0" - npm-run-path "^2.0.0" - p-finally "^1.0.0" - signal-exit "^3.0.0" - strip-eof "^1.0.0" - execa@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" @@ -3656,11 +3665,6 @@ gauge@~2.7.3: strip-ansi "^3.0.1" wide-align "^1.1.0" -get-caller-file@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a" - integrity sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w== - get-caller-file@^2.0.1: version "2.0.5" resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" @@ -3678,11 +3682,6 @@ get-stdin@^6.0.0: resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-6.0.0.tgz#9e09bf712b360ab9225e812048f71fde9c89657b" integrity sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g== -get-stream@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" - integrity sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ= - get-stream@^4.0.0: version "4.1.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" @@ -5076,14 +5075,14 @@ log-symbols@^2.2.0: dependencies: chalk "^2.0.1" -logkitty@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/logkitty/-/logkitty-0.6.0.tgz#e327d4b144dd5c11d912d002cf57ac9fbae20e15" - integrity sha512-+F1ROENmfG3b4N9WGlRz5QGTBw/xgjZe2JzZLADYeCmzdId5c+QI7WTGRofs/10hwP84aAmjK2WStx+/oQVnwA== +logkitty@^0.7.1: + version "0.7.1" + resolved "https://registry.yarnpkg.com/logkitty/-/logkitty-0.7.1.tgz#8e8d62f4085a826e8d38987722570234e33c6aa7" + integrity sha512-/3ER20CTTbahrCrpYfPn7Xavv9diBROZpoXGVZDWMw4b/X4uuUwAC0ki85tgsdMRONURyIJbcOvS94QsUBYPbQ== dependencies: ansi-fragments "^0.2.1" dayjs "^1.8.15" - yargs "^12.0.5" + yargs "^15.1.0" loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.3.1, loose-envify@^1.4.0: version "1.4.0" @@ -5359,7 +5358,7 @@ metro-react-native-babel-transformer@^0.58.0: metro-react-native-babel-preset "0.58.0" metro-source-map "0.58.0" -metro-resolver@0.58.0: +metro-resolver@0.58.0, metro-resolver@^0.58.0: version "0.58.0" resolved "https://registry.yarnpkg.com/metro-resolver/-/metro-resolver-0.58.0.tgz#4d03edc52e2e25d45f16688adf3b3f268ea60df9" integrity sha512-XFbAKvCHN2iWqKeiRARzEXn69eTDdJVJC7lu16S4dPQJ+Dy82dZBr5Es12iN+NmbJuFgrAuIHbpWrdnA9tOf6Q== @@ -5948,15 +5947,6 @@ os-homedir@^1.0.0: resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M= -os-locale@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-3.0.1.tgz#3b014fbf01d87f60a1e5348d80fe870dc82c4620" - integrity sha512-7g5e7dmXPtzcP4bgsZ8ixDVqA7oWYuEz4lOSujeWyliPai4gfVDiFIcwBg3aGCPnmSGfzOKTK3ccPn0CKv3DBw== - dependencies: - execa "^0.10.0" - lcid "^2.0.0" - mem "^4.0.0" - os-locale@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-3.1.0.tgz#a802a6ee17f24c10483ab9935719cef4ed16bf1a" @@ -6241,6 +6231,16 @@ pretty-format@^24.9.0: ansi-styles "^3.2.0" react-is "^16.8.4" +pretty-format@^25.1.0: + version "25.5.0" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-25.5.0.tgz#7873c1d774f682c34b8d48b6743a2bf2ac55791a" + integrity sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ== + dependencies: + "@jest/types" "^25.5.0" + ansi-regex "^5.0.0" + ansi-styles "^4.0.0" + react-is "^16.12.0" + pretty-format@^25.2.0: version "25.3.0" resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-25.3.0.tgz#d0a4f988ff4a6cd350342fdabbb809aeb4d49ad5" @@ -7147,7 +7147,7 @@ string-width@^1.0.1: is-fullwidth-code-point "^1.0.0" strip-ansi "^3.0.0" -"string-width@^1.0.2 || 2", string-width@^2.0.0, string-width@^2.1.0, string-width@^2.1.1: +"string-width@^1.0.2 || 2", string-width@^2.1.0, string-width@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== @@ -7843,11 +7843,6 @@ xtend@~4.0.1: resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" integrity sha1-pcbVMr5lbiPbgg77lDofBJmNY68= -"y18n@^3.2.1 || ^4.0.0": - version "3.2.1" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41" - integrity sha1-bRX7qITAhnnA136I53WegR4H+kE= - y18n@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" @@ -7863,14 +7858,6 @@ yallist@^3.0.0, yallist@^3.0.2: resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.0.2.tgz#8452b4bb7e83c7c188d8041c1a837c773d6d8bb9" integrity sha1-hFK0u36Dx8GI2AQcGoN8dz1ti7k= -yargs-parser@^11.1.1: - version "11.1.1" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-11.1.1.tgz#879a0865973bca9f6bab5cbdf3b1c67ec7d3bcf4" - integrity sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ== - dependencies: - camelcase "^5.0.0" - decamelize "^1.2.0" - yargs-parser@^13.0.0: version "13.0.0" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.0.0.tgz#3fc44f3e76a8bdb1cc3602e860108602e5ccde8b" @@ -7895,24 +7882,6 @@ yargs-parser@^15.0.0: camelcase "^5.0.0" decamelize "^1.2.0" -yargs@^12.0.5: - version "12.0.5" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-12.0.5.tgz#05f5997b609647b64f66b81e3b4b10a368e7ad13" - integrity sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw== - dependencies: - cliui "^4.0.0" - decamelize "^1.2.0" - find-up "^3.0.0" - get-caller-file "^1.0.1" - os-locale "^3.0.0" - require-directory "^2.1.1" - require-main-filename "^1.0.1" - set-blocking "^2.0.0" - string-width "^2.0.0" - which-module "^2.0.0" - y18n "^3.2.1 || ^4.0.0" - yargs-parser "^11.1.1" - yargs@^13.0.0: version "13.2.2" resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.2.2.tgz#0c101f580ae95cea7f39d927e7770e3fdc97f993" @@ -7962,3 +7931,20 @@ yargs@^14.2.0: which-module "^2.0.0" y18n "^4.0.0" yargs-parser "^15.0.0" + +yargs@^15.1.0: + version "15.3.1" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.3.1.tgz#9505b472763963e54afe60148ad27a330818e98b" + integrity sha512-92O1HWEjw27sBfgmXiixJWT5hRBp2eobqXicLtPBIDBhYB+1HpwZlXmbW2luivBJHBzki+7VyCLRtAkScbTBQA== + dependencies: + cliui "^6.0.0" + decamelize "^1.2.0" + find-up "^4.1.0" + get-caller-file "^2.0.1" + require-directory "^2.1.1" + require-main-filename "^2.0.0" + set-blocking "^2.0.0" + string-width "^4.2.0" + which-module "^2.0.0" + y18n "^4.0.0" + yargs-parser "^18.1.1" From 7100756bb8b0b1ac85ccaa32c0ce5c1cc70d524f Mon Sep 17 00:00:00 2001 From: Lorenzo Sciandra Date: Tue, 29 Sep 2020 15:19:42 +0100 Subject: [PATCH 14/14] [0.63.3] Bump version numbers --- Libraries/Core/ReactNativeVersion.js | 2 +- React/Base/RCTVersion.m | 2 +- ReactAndroid/gradle.properties | 2 +- .../facebook/react/modules/systeminfo/ReactNativeVersion.java | 2 +- ReactCommon/cxxreact/ReactNativeVersion.h | 2 +- package.json | 2 +- template/package.json | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/Libraries/Core/ReactNativeVersion.js b/Libraries/Core/ReactNativeVersion.js index bf4b32f41b..590676d886 100644 --- a/Libraries/Core/ReactNativeVersion.js +++ b/Libraries/Core/ReactNativeVersion.js @@ -12,6 +12,6 @@ exports.version = { major: 0, minor: 63, - patch: 2, + patch: 3, prerelease: null, }; diff --git a/React/Base/RCTVersion.m b/React/Base/RCTVersion.m index cb8461a596..d601aa96cf 100644 --- a/React/Base/RCTVersion.m +++ b/React/Base/RCTVersion.m @@ -23,7 +23,7 @@ NSDictionary* RCTGetReactNativeVersion(void) __rnVersion = @{ RCTVersionMajor: @(0), RCTVersionMinor: @(63), - RCTVersionPatch: @(2), + RCTVersionPatch: @(3), RCTVersionPrerelease: [NSNull null], }; }); diff --git a/ReactAndroid/gradle.properties b/ReactAndroid/gradle.properties index 69df4a6b83..325f2651c9 100644 --- a/ReactAndroid/gradle.properties +++ b/ReactAndroid/gradle.properties @@ -1,4 +1,4 @@ -VERSION_NAME=0.63.2 +VERSION_NAME=0.63.3 GROUP=com.facebook.react POM_NAME=ReactNative diff --git a/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java b/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java index f2a8f4a5bd..bf6fbe801c 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java +++ b/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java @@ -17,6 +17,6 @@ public class ReactNativeVersion { public static final Map VERSION = MapBuilder.of( "major", 0, "minor", 63, - "patch", 2, + "patch", 3, "prerelease", null); } diff --git a/ReactCommon/cxxreact/ReactNativeVersion.h b/ReactCommon/cxxreact/ReactNativeVersion.h index 56199c80d8..6e48cf86db 100644 --- a/ReactCommon/cxxreact/ReactNativeVersion.h +++ b/ReactCommon/cxxreact/ReactNativeVersion.h @@ -17,7 +17,7 @@ namespace facebook::react { constexpr struct { int32_t Major = 0; int32_t Minor = 63; - int32_t Patch = 2; + int32_t Patch = 3; std::string_view Prerelease = ""; } ReactNativeVersion; diff --git a/package.json b/package.json index f856da0f55..ecd0f6d29a 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "react-native", - "version": "0.63.2", + "version": "0.63.3", "bin": "./cli.js", "description": "A framework for building native apps using React", "license": "MIT", diff --git a/template/package.json b/template/package.json index e68613bf41..e5f9beb0d0 100644 --- a/template/package.json +++ b/template/package.json @@ -11,7 +11,7 @@ }, "dependencies": { "react": "16.13.1", - "react-native": "0.63.2" + "react-native": "0.63.3" }, "devDependencies": { "@babel/core": "^7.8.4",