react-native 0.70.6 → 0.71.0-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +351 -0
- package/Libraries/ActionSheetIOS/ActionSheetIOS.d.ts +80 -0
- package/Libraries/ActionSheetIOS/ActionSheetIOS.js +4 -3
- package/Libraries/ActionSheetIOS/NativeActionSheetManager.js +1 -0
- package/Libraries/Alert/Alert.d.ts +90 -0
- package/Libraries/Alert/Alert.js +7 -1
- package/Libraries/Alert/Alert.js.flow +49 -0
- package/Libraries/Alert/NativeAlertManager.js +2 -0
- package/Libraries/Alert/RCTAlertManager.ios.js +2 -1
- package/Libraries/Animated/Animated.d.ts +587 -0
- package/Libraries/Animated/Animated.js +13 -11
- package/Libraries/Animated/AnimatedEvent.js +12 -17
- package/Libraries/Animated/AnimatedImplementation.js +21 -23
- package/Libraries/Animated/AnimatedMock.js +11 -13
- package/Libraries/Animated/AnimatedWeb.js +2 -2
- package/Libraries/Animated/Easing.d.ts +37 -0
- package/Libraries/Animated/Easing.js +2 -2
- package/Libraries/Animated/NativeAnimatedHelper.js +32 -22
- package/Libraries/Animated/NativeAnimatedModule.js +1 -0
- package/Libraries/Animated/NativeAnimatedTurboModule.js +1 -0
- package/Libraries/Animated/SpringConfig.js +2 -7
- package/Libraries/Animated/animations/Animation.js +3 -4
- package/Libraries/Animated/animations/DecayAnimation.js +5 -8
- package/Libraries/Animated/animations/SpringAnimation.js +9 -14
- package/Libraries/Animated/animations/TimingAnimation.js +9 -13
- package/Libraries/Animated/bezier.js +2 -2
- package/Libraries/Animated/components/AnimatedFlatList.js +5 -6
- package/Libraries/Animated/components/AnimatedImage.js +5 -6
- package/Libraries/Animated/components/AnimatedScrollView.js +110 -14
- package/Libraries/Animated/components/AnimatedSectionList.js +4 -5
- package/Libraries/Animated/components/AnimatedText.js +5 -6
- package/Libraries/Animated/components/AnimatedView.js +5 -6
- package/Libraries/Animated/createAnimatedComponent.js +11 -25
- package/Libraries/Animated/createAnimatedComponent_EXPERIMENTAL.js +2 -2
- package/Libraries/Animated/nodes/AnimatedAddition.js +6 -8
- package/Libraries/Animated/nodes/AnimatedColor.js +7 -7
- package/Libraries/Animated/nodes/AnimatedDiffClamp.js +6 -8
- package/Libraries/Animated/nodes/AnimatedDivision.js +7 -9
- package/Libraries/Animated/nodes/AnimatedInterpolation.js +7 -10
- package/Libraries/Animated/nodes/AnimatedModulo.js +6 -8
- package/Libraries/Animated/nodes/AnimatedMultiplication.js +7 -9
- package/Libraries/Animated/nodes/AnimatedNode.js +10 -8
- package/Libraries/Animated/nodes/AnimatedProps.js +12 -28
- package/Libraries/Animated/nodes/AnimatedStyle.js +12 -22
- package/Libraries/Animated/nodes/AnimatedSubtraction.js +7 -9
- package/Libraries/Animated/nodes/AnimatedTracking.js +8 -12
- package/Libraries/Animated/nodes/AnimatedTransform.js +38 -31
- package/Libraries/Animated/nodes/AnimatedValue.js +9 -10
- package/Libraries/Animated/nodes/AnimatedValueXY.js +4 -7
- package/Libraries/Animated/nodes/AnimatedWithChildren.js +4 -5
- package/Libraries/Animated/useAnimatedProps.js +8 -16
- package/Libraries/Animated/useAnimatedValue.d.ts +15 -0
- package/Libraries/Animated/useAnimatedValue.js +25 -0
- package/Libraries/AppDelegate/RCTAppDelegate.h +130 -0
- package/Libraries/AppDelegate/RCTAppDelegate.mm +164 -0
- package/Libraries/AppDelegate/React-RCTAppDelegate.podspec +73 -0
- package/Libraries/AppState/AppState.d.ts +58 -0
- package/Libraries/AppState/AppState.js +3 -7
- package/Libraries/AppState/NativeAppState.js +1 -0
- package/Libraries/BatchedBridge/MessageQueue.js +9 -5
- package/Libraries/BatchedBridge/NativeModules.d.ts +25 -0
- package/Libraries/BatchedBridge/NativeModules.js +1 -0
- package/Libraries/Blob/BlobManager.js +5 -3
- package/Libraries/Blob/File.js +2 -3
- package/Libraries/Blob/FileReader.js +6 -5
- package/Libraries/Blob/NativeBlobModule.js +1 -0
- package/Libraries/Blob/NativeFileReaderModule.js +1 -0
- package/Libraries/Blob/RCTBlobCollector.h +0 -2
- package/Libraries/Blob/RCTBlobCollector.mm +27 -23
- package/Libraries/Blob/RCTBlobManager.h +1 -1
- package/Libraries/Blob/RCTBlobManager.mm +34 -28
- package/Libraries/Blob/RCTFileReaderModule.mm +24 -17
- package/Libraries/Blob/React-RCTBlob.podspec +0 -1
- package/Libraries/Blob/URL.js +11 -9
- package/Libraries/BugReporting/NativeBugReporting.js +1 -0
- package/Libraries/BugReporting/getReactData.js +1 -1
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +128 -0
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.flow.js +16 -16
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +9 -7
- package/Libraries/Components/AccessibilityInfo/NativeAccessibilityInfo.js +1 -0
- package/Libraries/Components/AccessibilityInfo/NativeAccessibilityManager.js +1 -0
- package/Libraries/Components/ActivityIndicator/ActivityIndicator.d.ts +86 -0
- package/Libraries/Components/ActivityIndicator/ActivityIndicator.flow.js +58 -0
- package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +7 -8
- package/Libraries/Components/ActivityIndicator/ActivityIndicatorViewNativeComponent.js +2 -3
- package/Libraries/Components/Button.d.ts +42 -0
- package/Libraries/Components/Button.flow.js +265 -0
- package/Libraries/Components/Button.js +62 -18
- package/Libraries/Components/Clipboard/Clipboard.d.ts +28 -0
- package/Libraries/Components/Clipboard/NativeClipboard.js +1 -0
- package/Libraries/Components/DatePicker/DatePickerIOS.android.js +4 -2
- package/Libraries/Components/DatePicker/DatePickerIOS.d.ts +92 -0
- package/Libraries/Components/{MaskedView/MaskedViewIOS.android.js → DatePicker/DatePickerIOS.flow.android.js} +3 -2
- package/Libraries/Components/DatePicker/DatePickerIOS.flow.ios.js +113 -0
- package/Libraries/Components/DatePicker/DatePickerIOS.ios.js +8 -7
- package/Libraries/Components/DatePicker/RCTDatePickerNativeComponent.js +7 -6
- package/Libraries/Components/DatePickerAndroid/NativeDatePickerAndroid.js +1 -0
- package/Libraries/Components/DrawerAndroid/AndroidDrawerLayoutNativeComponent.js +9 -8
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +13 -14
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.d.ts +141 -0
- package/Libraries/Components/Keyboard/Keyboard.d.ts +109 -0
- package/Libraries/Components/Keyboard/Keyboard.js +7 -5
- package/Libraries/Components/Keyboard/KeyboardAvoidingView.d.ts +46 -0
- package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +16 -9
- package/Libraries/Components/Keyboard/NativeKeyboardObserver.js +1 -0
- package/Libraries/Components/Pressable/Pressable.d.ts +167 -0
- package/Libraries/Components/Pressable/Pressable.js +73 -15
- package/Libraries/Components/Pressable/useAndroidRippleForView.js +6 -3
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.android.js +3 -3
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.d.ts +83 -0
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidNativeComponent.js +2 -2
- package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.android.js +1 -1
- package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.d.ts +62 -0
- package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.ios.js +4 -4
- package/Libraries/Components/ProgressViewIOS/RCTProgressViewNativeComponent.js +2 -2
- package/Libraries/Components/RefreshControl/AndroidSwipeRefreshLayoutNativeComponent.js +5 -6
- package/Libraries/Components/RefreshControl/PullToRefreshViewNativeComponent.js +4 -4
- package/Libraries/Components/RefreshControl/RefreshControl.d.ts +87 -0
- package/Libraries/Components/RefreshControl/RefreshControl.js +4 -3
- package/Libraries/Components/RefreshControl/__mocks__/RefreshControlMock.js +2 -3
- package/Libraries/Components/SafeAreaView/RCTSafeAreaViewNativeComponent.js +1 -1
- package/Libraries/Components/SafeAreaView/SafeAreaView.d.ts +24 -0
- package/Libraries/Components/SafeAreaView/SafeAreaView.flow.js +19 -0
- package/Libraries/Components/SafeAreaView/SafeAreaView.js +5 -4
- package/Libraries/Components/ScrollView/AndroidHorizontalScrollContentViewNativeComponent.js +2 -1
- package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +2 -1
- package/Libraries/Components/ScrollView/ScrollContentViewNativeComponent.js +2 -1
- package/Libraries/Components/ScrollView/ScrollView.d.ts +911 -0
- package/Libraries/Components/ScrollView/ScrollView.js +77 -38
- package/Libraries/Components/ScrollView/ScrollViewCommands.js +3 -3
- package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +2 -1
- package/Libraries/Components/ScrollView/ScrollViewNativeComponentType.js +3 -3
- package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +243 -269
- package/Libraries/Components/Slider/Slider.d.ts +132 -0
- package/Libraries/Components/Slider/Slider.js +9 -9
- package/Libraries/Components/Slider/SliderNativeComponent.js +4 -5
- package/Libraries/Components/Sound/NativeSoundManager.js +1 -0
- package/Libraries/Components/StatusBar/NativeStatusBarManagerAndroid.js +1 -0
- package/Libraries/Components/StatusBar/NativeStatusBarManagerIOS.js +1 -0
- package/Libraries/Components/StatusBar/StatusBar.d.ts +138 -0
- package/Libraries/Components/StatusBar/StatusBar.js +7 -7
- package/Libraries/Components/Switch/AndroidSwitchNativeComponent.js +10 -10
- package/Libraries/Components/Switch/Switch.d.ts +115 -0
- package/Libraries/Components/Switch/Switch.js +7 -7
- package/Libraries/Components/Switch/SwitchNativeComponent.js +9 -4
- package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +40 -12
- package/Libraries/Components/TextInput/InputAccessoryView.d.ts +34 -0
- package/Libraries/Components/TextInput/InputAccessoryView.js +3 -4
- package/Libraries/Components/TextInput/InputAccessoryView.js.flow +25 -0
- package/Libraries/Components/TextInput/RCTInputAccessoryViewNativeComponent.js +1 -1
- package/Libraries/Components/TextInput/RCTMultilineTextInputNativeComponent.js +3 -2
- package/Libraries/Components/TextInput/RCTSingelineTextInputNativeComponent.js +3 -2
- package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +3 -1
- package/Libraries/Components/TextInput/TextInput.d.ts +840 -0
- package/Libraries/Components/TextInput/TextInput.flow.js +1057 -0
- package/Libraries/Components/TextInput/TextInput.js +344 -36
- package/Libraries/Components/TextInput/TextInputNativeCommands.js +2 -2
- package/Libraries/Components/TextInput/TextInputState.js +22 -5
- package/Libraries/Components/ToastAndroid/NativeToastAndroid.js +1 -0
- package/Libraries/Components/ToastAndroid/ToastAndroid.d.ts +47 -0
- package/Libraries/Components/Touchable/Touchable.d.ts +90 -0
- package/Libraries/Components/Touchable/Touchable.flow.js +258 -0
- package/Libraries/Components/Touchable/Touchable.js +12 -12
- package/Libraries/Components/Touchable/TouchableBounce.js +44 -10
- package/Libraries/Components/Touchable/TouchableHighlight.d.ts +68 -0
- package/Libraries/Components/Touchable/TouchableHighlight.js +32 -9
- package/Libraries/Components/Touchable/TouchableNativeFeedback.d.ts +114 -0
- package/Libraries/Components/Touchable/TouchableNativeFeedback.js +54 -20
- package/Libraries/Components/Touchable/TouchableOpacity.d.ts +109 -0
- package/Libraries/Components/Touchable/TouchableOpacity.js +54 -16
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.d.ts +143 -0
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +64 -10
- package/Libraries/Components/UnimplementedViews/UnimplementedNativeViewNativeComponent.js +1 -1
- package/Libraries/Components/UnimplementedViews/UnimplementedView.js +1 -1
- package/Libraries/Components/View/ReactNativeStyleAttributes.js +13 -2
- package/Libraries/Components/View/View.d.ts +29 -0
- package/Libraries/Components/View/View.js +91 -8
- package/Libraries/Components/View/ViewAccessibility.d.ts +360 -0
- package/Libraries/Components/View/ViewAccessibility.js +70 -1
- package/Libraries/Components/View/ViewNativeComponent.js +3 -3
- package/Libraries/Components/View/ViewPropTypes.d.ts +245 -0
- package/Libraries/Components/View/ViewPropTypes.js +105 -13
- package/Libraries/Core/Devtools/openFileInEditor.js +3 -0
- package/Libraries/Core/Devtools/parseErrorStack.js +1 -1
- package/Libraries/Core/Devtools/symbolicateStackTrace.js +2 -2
- package/Libraries/Core/ExceptionsManager.js +8 -0
- package/Libraries/Core/ExtendedError.js +11 -8
- package/Libraries/Core/InitializeCore.js +2 -1
- package/Libraries/Core/NativeExceptionsManager.js +3 -4
- package/Libraries/Core/RawEventEmitter.js +2 -1
- package/Libraries/Core/ReactFiberErrorDialog.js +2 -2
- package/Libraries/Core/ReactNativeVersion.js +3 -3
- package/Libraries/Core/ReactNativeVersionCheck.js +1 -0
- package/Libraries/Core/SegmentFetcher/NativeSegmentFetcher.js +1 -0
- package/Libraries/Core/Timers/JSTimers.js +13 -11
- package/Libraries/Core/Timers/NativeTiming.js +1 -0
- package/Libraries/Core/setUpBatchedBridge.js +1 -5
- package/Libraries/Core/setUpDeveloperTools.js +4 -6
- package/Libraries/Core/setUpRegeneratorRuntime.js +1 -1
- package/Libraries/Core/setUpTimers.js +1 -1
- package/Libraries/EventEmitter/NativeEventEmitter.d.ts +70 -0
- package/Libraries/EventEmitter/NativeEventEmitter.js +1 -0
- package/Libraries/EventEmitter/RCTDeviceEventEmitter.d.ts +30 -0
- package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +2 -1
- package/Libraries/EventEmitter/RCTNativeAppEventEmitter.d.ts +32 -0
- package/Libraries/EventEmitter/__mocks__/NativeEventEmitter.js +1 -0
- package/Libraries/Events/EventPolyfill.js +1 -1
- package/Libraries/FBLazyVector/BUCK +2 -1
- package/Libraries/FBLazyVector/FBLazyVector/FBLazyIterator.h +9 -12
- package/Libraries/FBLazyVector/FBLazyVector/FBLazyVector.h +9 -6
- package/Libraries/HeapCapture/NativeJSCHeapCapture.js +1 -0
- package/Libraries/Image/AssetSourceResolver.js +4 -6
- package/Libraries/Image/Image.android.js +63 -45
- package/Libraries/Image/Image.d.ts +322 -0
- package/Libraries/Image/Image.flow.js +64 -0
- package/Libraries/Image/Image.ios.js +55 -28
- package/Libraries/Image/ImageBackground.js +18 -7
- package/Libraries/Image/ImageBackground.js.flow +17 -0
- package/Libraries/Image/ImageInjection.js +2 -1
- package/Libraries/Image/ImageProps.js +88 -5
- package/Libraries/Image/ImageResizeMode.d.ts +49 -0
- package/Libraries/Image/ImageSource.d.ts +76 -0
- package/Libraries/Image/ImageSourceUtils.js +80 -0
- package/Libraries/Image/ImageUtils.js +21 -0
- package/Libraries/Image/ImageViewNativeComponent.js +8 -5
- package/Libraries/Image/ImageViewNativeComponent.js.flow +45 -0
- package/Libraries/Image/NativeImageEditor.js +1 -0
- package/Libraries/Image/NativeImageLoaderAndroid.js +1 -0
- package/Libraries/Image/NativeImageLoaderIOS.js +1 -0
- package/Libraries/Image/NativeImageStoreAndroid.js +1 -0
- package/Libraries/Image/NativeImageStoreIOS.js +1 -0
- package/Libraries/Image/RCTAnimatedImage.m +5 -2
- package/Libraries/Image/RCTDisplayWeakRefreshable.m +4 -2
- package/Libraries/Image/RCTGIFImageDecoder.mm +7 -4
- package/Libraries/Image/RCTImageBlurUtils.m +22 -17
- package/Libraries/Image/RCTImageCache.h +7 -7
- package/Libraries/Image/RCTImageCache.m +16 -21
- package/Libraries/Image/RCTImageDataDecoder.h +1 -1
- package/Libraries/Image/RCTImageEditingManager.mm +53 -44
- package/Libraries/Image/RCTImageLoader.h +7 -7
- package/Libraries/Image/RCTImageLoader.mm +415 -378
- package/Libraries/Image/RCTImageLoaderProtocol.h +14 -17
- package/Libraries/Image/RCTImageLoaderWithAttributionProtocol.h +2 -2
- package/Libraries/Image/RCTImageStoreManager.mm +30 -25
- package/Libraries/Image/RCTImageURLLoader.h +11 -8
- package/Libraries/Image/RCTImageURLLoaderWithAttribution.h +6 -4
- package/Libraries/Image/RCTImageURLLoaderWithAttribution.mm +3 -1
- package/Libraries/Image/RCTImageUtils.h +19 -18
- package/Libraries/Image/RCTImageUtils.m +61 -67
- package/Libraries/Image/RCTImageView.h +2 -2
- package/Libraries/Image/RCTImageView.mm +50 -43
- package/Libraries/Image/RCTImageViewManager.mm +45 -41
- package/Libraries/Image/RCTLocalAssetImageLoader.mm +12 -10
- package/Libraries/Image/RCTResizeMode.h +1 -1
- package/Libraries/Image/RCTResizeMode.m +12 -8
- package/Libraries/Image/RCTUIImageViewAnimated.m +21 -13
- package/Libraries/Image/TextInlineImageNativeComponent.js +4 -3
- package/Libraries/Image/TextInlineImageNativeComponent.js.flow +27 -0
- package/Libraries/Image/nativeImageSource.js +2 -2
- package/Libraries/Image/resolveAssetSource.js +5 -5
- package/Libraries/Inspector/BorderBox.js +1 -1
- package/Libraries/Inspector/BoxInspector.js +3 -4
- package/Libraries/Inspector/DevtoolsOverlay.js +213 -0
- package/Libraries/Inspector/ElementBox.js +4 -5
- package/Libraries/Inspector/ElementProperties.js +10 -11
- package/Libraries/Inspector/Inspector.js +22 -108
- package/Libraries/Inspector/InspectorOverlay.js +5 -5
- package/Libraries/Inspector/InspectorPanel.js +12 -10
- package/Libraries/Inspector/NetworkOverlay.js +7 -3
- package/Libraries/Inspector/PerformanceOverlay.js +3 -3
- package/Libraries/Inspector/StyleInspector.js +2 -2
- package/Libraries/Inspector/getInspectorDataForViewAtPoint.js +71 -0
- package/Libraries/Interaction/BridgeSpyStallHandler.js +1 -1
- package/Libraries/Interaction/InteractionManager.d.ts +74 -0
- package/Libraries/Interaction/InteractionManager.js +8 -8
- package/Libraries/Interaction/NativeFrameRateLogger.js +1 -0
- package/Libraries/Interaction/PanResponder.d.ts +202 -0
- package/Libraries/Interaction/PanResponder.flow.js +257 -0
- package/Libraries/Interaction/PanResponder.js +4 -3
- package/Libraries/JSInspector/JSInspector.js +0 -3
- package/Libraries/JSInspector/NetworkAgent.js +3 -3
- package/Libraries/LayoutAnimation/LayoutAnimation.d.ts +84 -0
- package/Libraries/LayoutAnimation/LayoutAnimation.js +4 -3
- package/Libraries/Linking/Linking.d.ts +61 -0
- package/Libraries/Linking/Linking.js +3 -2
- package/Libraries/Linking/NativeIntentAndroid.js +1 -0
- package/Libraries/Linking/NativeLinkingManager.js +1 -0
- package/Libraries/LinkingIOS/RCTLinkingManager.h +5 -5
- package/Libraries/LinkingIOS/RCTLinkingManager.mm +75 -63
- package/Libraries/Lists/CellRenderMask.js +13 -3
- package/Libraries/Lists/ChildListCollection.js +72 -0
- package/Libraries/Lists/FillRateHelper.js +28 -17
- package/Libraries/Lists/FlatList.d.ts +292 -0
- package/Libraries/Lists/FlatList.js +70 -70
- package/Libraries/Lists/FlatList.js.flow +115 -0
- package/Libraries/Lists/SectionList.d.ts +300 -0
- package/Libraries/Lists/SectionList.js +5 -5
- package/Libraries/Lists/SectionListModern.js +6 -6
- package/Libraries/Lists/StateSafePureComponent.js +85 -0
- package/Libraries/Lists/ViewabilityHelper.js +33 -12
- package/Libraries/Lists/VirtualizeUtils.js +17 -13
- package/Libraries/Lists/VirtualizedList.d.ts +317 -0
- package/Libraries/Lists/VirtualizedList.js +548 -890
- package/Libraries/Lists/VirtualizedListCellRenderer.js +259 -0
- package/Libraries/Lists/VirtualizedListContext.js +7 -48
- package/Libraries/Lists/VirtualizedListProps.js +279 -0
- package/Libraries/Lists/VirtualizedSectionList.js +6 -3
- package/Libraries/Lists/__flowtests__/SectionList-flowtest.js +1 -1
- package/Libraries/LogBox/Data/LogBoxData.js +9 -8
- package/Libraries/LogBox/Data/LogBoxLog.js +5 -5
- package/Libraries/LogBox/Data/LogBoxSymbolication.js +4 -4
- package/Libraries/LogBox/Data/parseLogBoxLog.js +5 -3
- package/Libraries/LogBox/LogBox.d.ts +28 -0
- package/Libraries/LogBox/LogBox.js +11 -11
- package/Libraries/LogBox/LogBoxInspectorContainer.js +5 -3
- package/Libraries/LogBox/LogBoxNotificationContainer.js +2 -2
- package/Libraries/LogBox/UI/AnsiHighlight.js +5 -3
- package/Libraries/LogBox/UI/LogBoxButton.js +6 -5
- package/Libraries/LogBox/UI/LogBoxInspector.js +6 -6
- package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.js +9 -8
- package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +3 -3
- package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +7 -6
- package/Libraries/LogBox/UI/LogBoxInspectorMessageHeader.js +6 -5
- package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js +7 -6
- package/Libraries/LogBox/UI/LogBoxInspectorSection.js +2 -2
- package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +3 -3
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.js +5 -5
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +5 -5
- package/Libraries/LogBox/UI/LogBoxMessage.js +3 -3
- package/Libraries/LogBox/UI/LogBoxNotification.js +6 -5
- package/Libraries/Modal/Modal.d.ts +104 -0
- package/Libraries/Modal/Modal.js +14 -14
- package/Libraries/Modal/NativeModalManager.js +1 -0
- package/Libraries/Modal/RCTModalHostViewNativeComponent.js +3 -3
- package/Libraries/NativeAnimation/Drivers/RCTDecayAnimation.h +1 -1
- package/Libraries/NativeAnimation/Drivers/RCTDecayAnimation.m +6 -9
- package/Libraries/NativeAnimation/Drivers/RCTEventAnimation.h +1 -2
- package/Libraries/NativeAnimation/Drivers/RCTEventAnimation.m +2 -4
- package/Libraries/NativeAnimation/Drivers/RCTFrameAnimation.h +1 -1
- package/Libraries/NativeAnimation/Drivers/RCTFrameAnimation.m +14 -21
- package/Libraries/NativeAnimation/Drivers/RCTSpringAnimation.h +1 -1
- package/Libraries/NativeAnimation/Drivers/RCTSpringAnimation.m +8 -22
- package/Libraries/NativeAnimation/Nodes/RCTAdditionAnimatedNode.m +1 -2
- package/Libraries/NativeAnimation/Nodes/RCTAnimatedNode.h +2 -3
- package/Libraries/NativeAnimation/Nodes/RCTAnimatedNode.m +3 -5
- package/Libraries/NativeAnimation/Nodes/RCTColorAnimatedNode.m +2 -4
- package/Libraries/NativeAnimation/Nodes/RCTDiffClampAnimatedNode.m +7 -4
- package/Libraries/NativeAnimation/Nodes/RCTDivisionAnimatedNode.m +1 -2
- package/Libraries/NativeAnimation/Nodes/RCTInterpolationAnimatedNode.m +14 -20
- package/Libraries/NativeAnimation/Nodes/RCTMultiplicationAnimatedNode.m +1 -2
- package/Libraries/NativeAnimation/Nodes/RCTPropsAnimatedNode.m +13 -16
- package/Libraries/NativeAnimation/Nodes/RCTStyleAnimatedNode.m +5 -7
- package/Libraries/NativeAnimation/Nodes/RCTSubtractionAnimatedNode.h +0 -1
- package/Libraries/NativeAnimation/Nodes/RCTSubtractionAnimatedNode.m +1 -3
- package/Libraries/NativeAnimation/Nodes/RCTTrackingAnimatedNode.h +0 -1
- package/Libraries/NativeAnimation/Nodes/RCTTrackingAnimatedNode.m +3 -8
- package/Libraries/NativeAnimation/Nodes/RCTTransformAnimatedNode.m +4 -6
- package/Libraries/NativeAnimation/Nodes/RCTValueAnimatedNode.m +1 -2
- package/Libraries/NativeAnimation/RCTAnimationUtils.h +14 -12
- package/Libraries/NativeAnimation/RCTAnimationUtils.m +15 -19
- package/Libraries/NativeAnimation/RCTNativeAnimatedModule.h +6 -1
- package/Libraries/NativeAnimation/RCTNativeAnimatedModule.mm +80 -72
- package/Libraries/NativeAnimation/RCTNativeAnimatedNodesManager.h +11 -20
- package/Libraries/NativeAnimation/RCTNativeAnimatedNodesManager.m +55 -64
- package/Libraries/NativeAnimation/RCTNativeAnimatedTurboModule.h +5 -1
- package/Libraries/NativeAnimation/RCTNativeAnimatedTurboModule.mm +68 -78
- package/Libraries/NativeComponent/BaseViewConfig.android.js +27 -2
- package/Libraries/NativeComponent/BaseViewConfig.ios.js +8 -3
- package/Libraries/NativeComponent/NativeComponentRegistry.js +5 -4
- package/Libraries/NativeComponent/PlatformBaseViewConfig.js +1 -0
- package/Libraries/NativeComponent/StaticViewConfigValidator.js +1 -1
- package/Libraries/NativeComponent/ViewConfig.js +1 -0
- package/Libraries/NativeModules/specs/NativeAnimationsDebugModule.js +1 -0
- package/Libraries/NativeModules/specs/NativeDevMenu.js +1 -0
- package/Libraries/NativeModules/specs/NativeDevSettings.js +1 -0
- package/Libraries/NativeModules/specs/NativeDeviceEventManager.js +1 -0
- package/Libraries/NativeModules/specs/NativeDialogManagerAndroid.js +1 -0
- package/Libraries/NativeModules/specs/NativeLogBox.js +3 -2
- package/Libraries/NativeModules/specs/NativeRedBox.js +1 -0
- package/Libraries/NativeModules/specs/NativeSourceCode.js +1 -0
- package/Libraries/Network/NativeNetworkingAndroid.js +1 -0
- package/Libraries/Network/NativeNetworkingIOS.js +1 -0
- package/Libraries/Network/RCTDataRequestHandler.mm +8 -11
- package/Libraries/Network/RCTFileRequestHandler.mm +10 -16
- package/Libraries/Network/RCTHTTPRequestHandler.h +4 -3
- package/Libraries/Network/RCTHTTPRequestHandler.mm +19 -23
- package/Libraries/Network/RCTNetworkTask.mm +2 -3
- package/Libraries/Network/RCTNetworking.android.js +4 -3
- package/Libraries/Network/RCTNetworking.ios.js +3 -2
- package/Libraries/Network/RCTNetworking.mm +172 -157
- package/Libraries/Network/convertRequestBody.js +1 -2
- package/Libraries/NewAppScreen/components/DebugInstructions.js +4 -1
- package/Libraries/NewAppScreen/components/Header.js +6 -2
- package/Libraries/NewAppScreen/components/HermesBadge.js +6 -2
- package/Libraries/NewAppScreen/components/LearnMoreLinks.js +8 -9
- package/Libraries/NewAppScreen/components/ReloadInstructions.js +4 -1
- package/Libraries/NewAppScreen/index.js +1 -1
- package/Libraries/Performance/NativeJSCSamplingProfiler.js +1 -0
- package/Libraries/Performance/QuickPerformanceLogger.js +34 -10
- package/Libraries/Performance/Systrace.d.ts +66 -0
- package/Libraries/Performance/Systrace.js +110 -195
- package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +1 -0
- package/Libraries/PermissionsAndroid/PermissionsAndroid.d.ts +115 -0
- package/Libraries/PermissionsAndroid/PermissionsAndroid.js +5 -4
- package/Libraries/Pressability/Pressability.js +12 -10
- package/Libraries/Pressability/PressabilityDebug.js +2 -2
- package/Libraries/PushNotificationIOS/NativePushNotificationManagerIOS.js +1 -0
- package/Libraries/PushNotificationIOS/PushNotificationIOS.d.ts +275 -0
- package/Libraries/PushNotificationIOS/PushNotificationIOS.js +19 -14
- package/Libraries/PushNotificationIOS/RCTPushNotificationManager.h +2 -1
- package/Libraries/PushNotificationIOS/RCTPushNotificationManager.mm +142 -103
- package/Libraries/RCTRequired/BUCK +2 -1
- package/Libraries/RCTRequired/RCTRequired/RCTRequired.h +31 -18
- package/Libraries/ReactNative/AppContainer.js +17 -7
- package/Libraries/ReactNative/AppRegistry.d.ts +68 -0
- package/Libraries/ReactNative/AppRegistry.js +11 -14
- package/Libraries/ReactNative/BridgelessUIManager.js +3 -2
- package/Libraries/ReactNative/FabricUIManager.js +3 -3
- package/Libraries/ReactNative/I18nManager.d.ts +25 -0
- package/Libraries/ReactNative/NativeHeadlessJsTaskSupport.js +1 -0
- package/Libraries/ReactNative/NativeI18nManager.js +1 -0
- package/Libraries/ReactNative/NativeUIManager.js +1 -0
- package/Libraries/ReactNative/PaperUIManager.js +2 -2
- package/Libraries/ReactNative/ReactNativeFeatureFlags.js +9 -0
- package/Libraries/ReactNative/RendererImplementation.js +112 -0
- package/Libraries/ReactNative/RendererProxy.d.ts +20 -0
- package/Libraries/ReactNative/RendererProxy.js +26 -0
- package/Libraries/ReactNative/RootTag.js +0 -1
- package/Libraries/ReactNative/UIManager.d.ts +157 -0
- package/Libraries/ReactNative/UIManager.js +1 -1
- package/Libraries/ReactNative/getCachedComponentWithDebugName.js +1 -0
- package/Libraries/ReactNative/renderApplication.js +38 -20
- package/Libraries/ReactNative/requireNativeComponent.d.ts +23 -0
- package/Libraries/ReactNative/requireNativeComponent.js +2 -2
- package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +10 -9
- package/Libraries/Renderer/README.md +1 -1
- package/Libraries/Renderer/REVISION +1 -1
- package/Libraries/Renderer/implementations/ReactFabric-dev.js +312 -217
- package/Libraries/Renderer/implementations/ReactFabric-prod.js +212 -177
- package/Libraries/Renderer/implementations/ReactFabric-profiling.js +248 -213
- package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +311 -218
- package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +226 -196
- package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +262 -232
- package/Libraries/Renderer/implementations/ReactNativeRenderer.d.ts +149 -0
- package/Libraries/Renderer/shims/ReactFabric.js +2 -2
- package/Libraries/Renderer/shims/ReactFeatureFlags.js +2 -2
- package/Libraries/Renderer/shims/ReactNative.js +2 -2
- package/Libraries/Renderer/shims/ReactNativeTypes.d.ts +141 -0
- package/Libraries/Renderer/shims/ReactNativeTypes.js +23 -22
- package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +8 -8
- package/Libraries/Renderer/shims/createReactNativeComponentClass.js +2 -2
- package/Libraries/Settings/NativeSettingsManager.js +1 -0
- package/Libraries/Settings/RCTSettingsManager.mm +10 -12
- package/Libraries/Settings/Settings.d.ts +18 -0
- package/Libraries/Share/NativeShareModule.js +1 -0
- package/Libraries/Share/Share.d.ts +80 -0
- package/Libraries/Share/Share.js +7 -5
- package/Libraries/StyleSheet/PlatformColorValueTypes.android.js +1 -1
- package/Libraries/StyleSheet/PlatformColorValueTypes.d.ts +18 -0
- package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +1 -1
- package/Libraries/StyleSheet/PlatformColorValueTypesIOS.d.ts +25 -0
- package/Libraries/StyleSheet/PlatformColorValueTypesIOS.ios.js +1 -0
- package/Libraries/StyleSheet/StyleSheet.d.ts +156 -0
- package/Libraries/StyleSheet/StyleSheet.js +9 -10
- package/Libraries/StyleSheet/StyleSheetTypes.d.ts +332 -0
- package/Libraries/StyleSheet/StyleSheetTypes.js +101 -24
- package/Libraries/StyleSheet/__flowtests__/StyleSheet-flowtest.js +2 -2
- package/Libraries/StyleSheet/normalizeColor.js +3 -3
- package/Libraries/StyleSheet/private/_TransformStyle.js +26 -24
- package/Libraries/StyleSheet/processAspectRatio.js +53 -0
- package/Libraries/StyleSheet/processColor.d.ts +16 -0
- package/Libraries/StyleSheet/processColor.js +3 -4
- package/Libraries/StyleSheet/processColorArray.js +1 -0
- package/Libraries/StyleSheet/processFontVariant.js +30 -0
- package/Libraries/StyleSheet/processTransform.js +114 -105
- package/Libraries/StyleSheet/splitLayoutProps.js +5 -0
- package/Libraries/SurfaceBackedComponent/RCTSurfaceBackedComponent.mm +9 -12
- package/Libraries/SurfaceBackedComponent/RCTSurfaceBackedComponentState.h +1 -1
- package/Libraries/SurfaceHostingComponent/RCTSurfaceHostingComponent.mm +9 -14
- package/Libraries/SurfaceHostingComponent/RCTSurfaceHostingComponentController.mm +16 -12
- package/Libraries/SurfaceHostingComponent/RCTSurfaceHostingComponentOptions.h +1 -1
- package/Libraries/SurfaceHostingComponent/RCTSurfaceHostingComponentState.h +2 -3
- package/Libraries/SurfaceHostingComponent/RCTSurfaceHostingComponentState.mm +3 -8
- package/Libraries/Text/BaseText/RCTBaseTextShadowView.h +4 -2
- package/Libraries/Text/BaseText/RCTBaseTextShadowView.m +13 -12
- package/Libraries/Text/BaseText/RCTBaseTextViewManager.m +2 -0
- package/Libraries/Text/RCTConvert+Text.m +16 -14
- package/Libraries/Text/RCTTextAttributes.h +3 -0
- package/Libraries/Text/RCTTextAttributes.m +75 -54
- package/Libraries/Text/RawText/RCTRawTextShadowView.m +2 -1
- package/Libraries/Text/Text/NSTextStorage+FontScaling.m +22 -42
- package/Libraries/Text/Text/RCTDynamicTypeRamp.h +37 -0
- package/Libraries/Text/Text/RCTDynamicTypeRamp.m +82 -0
- package/Libraries/Text/Text/RCTTextShadowView.m +152 -175
- package/Libraries/Text/Text/RCTTextView.m +38 -40
- package/Libraries/Text/Text/RCTTextViewManager.m +7 -8
- package/Libraries/Text/Text.d.ts +209 -0
- package/Libraries/Text/Text.js +94 -12
- package/Libraries/Text/TextInput/Multiline/RCTMultilineTextInputView.m +10 -23
- package/Libraries/Text/TextInput/Multiline/RCTMultilineTextInputViewManager.m +1 -1
- package/Libraries/Text/TextInput/Multiline/RCTUITextView.h +1 -1
- package/Libraries/Text/TextInput/Multiline/RCTUITextView.m +18 -12
- package/Libraries/Text/TextInput/RCTBackedTextInputDelegate.h +10 -6
- package/Libraries/Text/TextInput/RCTBackedTextInputDelegateAdapter.h +1 -1
- package/Libraries/Text/TextInput/RCTBackedTextInputDelegateAdapter.m +22 -14
- package/Libraries/Text/TextInput/RCTBackedTextInputViewProtocol.h +1 -2
- package/Libraries/Text/TextInput/RCTBaseTextInputShadowView.m +37 -47
- package/Libraries/Text/TextInput/RCTBaseTextInputView.h +2 -3
- package/Libraries/Text/TextInput/RCTBaseTextInputView.m +177 -155
- package/Libraries/Text/TextInput/RCTBaseTextInputViewManager.m +19 -17
- package/Libraries/Text/TextInput/RCTInputAccessoryShadowView.m +1 -1
- package/Libraries/Text/TextInput/RCTInputAccessoryView.m +2 -3
- package/Libraries/Text/TextInput/RCTInputAccessoryViewContent.m +1 -2
- package/Libraries/Text/TextInput/Singleline/RCTSinglelineTextInputView.m +3 -4
- package/Libraries/Text/TextInput/Singleline/RCTSinglelineTextInputViewManager.m +1 -2
- package/Libraries/Text/TextInput/Singleline/RCTUITextField.h +1 -1
- package/Libraries/Text/TextInput/Singleline/RCTUITextField.m +7 -5
- package/Libraries/Text/TextNativeComponent.js +49 -41
- package/Libraries/Text/TextProps.js +64 -7
- package/{React/Views/RCTMaskedViewManager.h → Libraries/TurboModule/RCTExport.d.ts} +6 -6
- package/Libraries/TurboModule/TurboModuleRegistry.d.ts +15 -0
- package/Libraries/TurboModule/TurboModuleRegistry.js +3 -1
- package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +1 -0
- package/Libraries/TypeSafety/RCTConvertHelpers.h +22 -12
- package/Libraries/TypeSafety/RCTConvertHelpers.mm +2 -2
- package/Libraries/TypeSafety/RCTTypedModuleConstants.h +7 -5
- package/Libraries/TypeSafety/RCTTypedModuleConstants.mm +6 -4
- package/Libraries/Types/CoreEventTypes.d.ts +263 -0
- package/Libraries/Types/CoreEventTypes.js +2 -1
- package/Libraries/Utilities/AcessibilityMapping.js +154 -0
- package/Libraries/Utilities/Appearance.d.ts +43 -0
- package/Libraries/Utilities/Appearance.js +3 -3
- package/Libraries/Utilities/BackHandler.android.js +3 -5
- package/Libraries/Utilities/BackHandler.d.ts +38 -0
- package/Libraries/Utilities/DevSettings.d.ts +32 -0
- package/Libraries/Utilities/DevSettings.js +4 -2
- package/Libraries/Utilities/Dimensions.d.ts +79 -0
- package/Libraries/Utilities/Dimensions.js +2 -2
- package/Libraries/Utilities/GlobalPerformanceLogger.js +2 -1
- package/Libraries/Utilities/HMRClient.js +23 -8
- package/Libraries/Utilities/LoadingView.ios.js +1 -1
- package/Libraries/Utilities/NativeAppearance.js +1 -0
- package/Libraries/Utilities/NativeDevLoadingView.js +1 -0
- package/Libraries/Utilities/NativeDevSplitBundleLoader.js +1 -0
- package/Libraries/Utilities/NativeDeviceInfo.js +1 -0
- package/Libraries/Utilities/NativePlatformConstantsAndroid.js +1 -0
- package/Libraries/Utilities/NativePlatformConstantsIOS.js +1 -0
- package/Libraries/Utilities/PerformanceLoggerContext.js +3 -2
- package/Libraries/Utilities/PixelRatio.d.ts +64 -0
- package/Libraries/Utilities/PixelRatio.js.flow +21 -0
- package/Libraries/Utilities/Platform.android.js +11 -5
- package/Libraries/Utilities/Platform.d.ts +102 -0
- package/Libraries/Utilities/Platform.ios.js +12 -5
- package/Libraries/Utilities/PolyfillFunctions.js +1 -1
- package/Libraries/Utilities/ReactNativeTestTools.js +9 -15
- package/Libraries/Utilities/codegenNativeCommands.js +1 -10
- package/Libraries/Utilities/codegenNativeComponent.js +4 -1
- package/Libraries/Utilities/createPerformanceLogger.js +7 -8
- package/Libraries/Utilities/differ/deepDiffer.js +1 -1
- package/Libraries/Utilities/groupByEveryN.js +1 -1
- package/Libraries/Utilities/stringifySafe.js +3 -1
- package/Libraries/Utilities/useColorScheme.js +3 -2
- package/Libraries/Utilities/useRefEffect.js +1 -1
- package/Libraries/Vibration/NativeVibration.js +1 -0
- package/Libraries/Vibration/RCTVibration.mm +5 -5
- package/Libraries/Vibration/Vibration.d.ts +43 -0
- package/Libraries/Vibration/Vibration.js +1 -0
- package/Libraries/WebPerformance/NativePerformanceObserver.cpp +42 -0
- package/Libraries/WebPerformance/NativePerformanceObserver.h +64 -0
- package/Libraries/WebPerformance/NativePerformanceObserver.js +41 -0
- package/Libraries/WebPerformance/PerformanceObserver.js +223 -0
- package/Libraries/WebSocket/NativeWebSocketModule.js +1 -0
- package/Libraries/WebSocket/RCTReconnectingWebSocket.m +5 -2
- package/Libraries/WebSocket/RCTSRWebSocket.h +20 -16
- package/Libraries/WebSocket/RCTSRWebSocket.m +293 -187
- package/Libraries/WebSocket/WebSocket.js +11 -3
- package/Libraries/WebSocket/WebSocketInterceptor.js +1 -1
- package/Libraries/Wrapper/Example/RCTWrapperExampleView.m +5 -12
- package/Libraries/Wrapper/Example/RCTWrapperExampleViewController.m +2 -1
- package/Libraries/Wrapper/Example/RCTWrapperReactRootViewController.m +4 -5
- package/Libraries/Wrapper/Example/RCTWrapperReactRootViewManager.m +2 -3
- package/Libraries/Wrapper/RCTWrapper.h +50 -48
- package/Libraries/Wrapper/RCTWrapperShadowView.m +9 -8
- package/Libraries/Wrapper/RCTWrapperView.m +1 -4
- package/Libraries/Wrapper/RCTWrapperViewControllerHostingView.m +1 -2
- package/Libraries/YellowBox/YellowBoxDeprecated.d.ts +19 -0
- package/Libraries/YellowBox/YellowBoxDeprecated.js +2 -3
- package/Libraries/__flowtests__/ReactNativeTypes-flowtest.js +2 -1
- package/Libraries/vendor/core/ErrorUtils.d.ts +15 -0
- package/Libraries/vendor/emitter/EventEmitter.d.ts +164 -0
- package/README.md +2 -2
- package/React/AppSetup/RCTAppSetupUtils.h +6 -2
- package/React/AppSetup/RCTAppSetupUtils.mm +10 -8
- package/React/Base/RCTAssert.h +4 -4
- package/React/Base/RCTBridge.h +3 -107
- package/React/Base/RCTBridge.m +0 -18
- package/React/Base/RCTBridgeConstants.h +71 -0
- package/React/Base/RCTBridgeConstants.m +18 -0
- package/React/Base/RCTBridgeModule.h +4 -47
- package/React/Base/RCTBundleManager.h +23 -0
- package/React/Base/RCTBundleManager.m +1 -1
- package/React/Base/RCTConstants.h +52 -4
- package/React/Base/RCTConstants.m +24 -13
- package/React/Base/RCTConvert.h +3 -0
- package/React/Base/RCTConvert.m +29 -1
- package/React/Base/RCTKeyCommands.m +1 -1
- package/React/Base/RCTModuleData.mm +1 -0
- package/React/Base/RCTModuleMethod.mm +1 -1
- package/React/Base/RCTModuleRegistry.m +3 -1
- package/React/Base/RCTTurboModuleRegistry.h +29 -0
- package/React/Base/RCTVersion.m +3 -3
- package/React/Base/Surface/RCTSurface.mm +1 -0
- package/React/CoreModules/BUCK +6 -5
- package/React/CoreModules/CoreModulesPlugins.h +1 -1
- package/React/CoreModules/CoreModulesPlugins.mm +1 -1
- package/React/CoreModules/RCTAlertController.m +5 -0
- package/React/CoreModules/RCTAlertManager.mm +32 -26
- package/React/CoreModules/RCTDevLoadingView.mm +1 -0
- package/React/CoreModules/RCTDevSettings.mm +1 -0
- package/React/CoreModules/RCTEventDispatcher.mm +6 -2
- package/React/CoreModules/RCTExceptionsManager.h +4 -1
- package/React/CoreModules/RCTExceptionsManager.mm +4 -12
- package/React/CoreModules/RCTRedBox.mm +7 -1
- package/React/CxxBridge/RCTCxxBridge.mm +2 -1
- package/React/CxxModule/RCTNativeModule.mm +15 -0
- package/React/Fabric/Mounting/ComponentViews/RCTFabricComponentsPlugins.h +1 -0
- package/React/Fabric/Mounting/ComponentViews/RCTFabricComponentsPlugins.mm +1 -0
- package/React/Fabric/Mounting/ComponentViews/SafeAreaView/RCTSafeAreaViewComponentView.mm +0 -1
- package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +7 -2
- package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm +23 -5
- package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +15 -0
- package/React/Fabric/Mounting/RCTComponentViewFactory.mm +1 -5
- package/React/Fabric/Mounting/RCTComponentViewRegistry.h +0 -5
- package/React/Fabric/Mounting/RCTComponentViewRegistry.mm +0 -39
- package/React/Fabric/Mounting/RCTMountingManager.mm +1 -4
- package/React/Fabric/RCTScheduler.mm +0 -9
- package/React/Fabric/RCTSurfacePresenter.h +2 -1
- package/React/Fabric/RCTSurfacePresenter.mm +17 -12
- package/React/Fabric/RCTSurfacePresenterBridgeAdapter.mm +3 -1
- package/React/Fabric/RCTSurfaceTouchHandler.mm +290 -105
- package/React/Fabric/Utils/RCTReactTaggedView.h +34 -0
- package/React/Fabric/Utils/RCTReactTaggedView.mm +55 -0
- package/React/Profiler/RCTProfile.h +20 -0
- package/React/Tests/Mounting/RCTComponentViewRegistryTests.mm +1 -0
- package/React/Views/RCTBorderCurve.h +13 -0
- package/React/Views/RCTComponentData.m +1 -0
- package/React/Views/RCTFont.mm +80 -0
- package/React/Views/RCTShadowView.h +3 -0
- package/React/Views/RCTShadowView.m +14 -0
- package/React/Views/RCTView.h +6 -0
- package/React/Views/RCTView.m +18 -2
- package/React/Views/RCTViewManager.m +18 -0
- package/React/Views/RCTViewUtils.h +1 -0
- package/React-Core.podspec +22 -6
- package/ReactAndroid/Android-prebuilt.mk +10 -2
- package/ReactAndroid/build.gradle +245 -109
- package/ReactAndroid/cmake-utils/ReactNative-application.cmake +75 -17
- package/ReactAndroid/cmake-utils/default-app-setup/CMakeLists.txt +31 -0
- package/ReactAndroid/cmake-utils/default-app-setup/OnLoad.cpp +88 -0
- package/ReactAndroid/cmake-utils/folly-flags.cmake +22 -0
- package/ReactAndroid/external-artifacts/.npmignore +3 -0
- package/ReactAndroid/external-artifacts/build.gradle +41 -0
- package/ReactAndroid/gradle.properties +6 -9
- package/ReactAndroid/hermes-engine/build.gradle +16 -26
- package/ReactAndroid/publish.gradle +87 -0
- package/ReactAndroid/src/main/java/com/facebook/debug/holder/BUCK +0 -1
- package/ReactAndroid/src/main/java/com/facebook/debug/tags/BUCK +0 -1
- package/ReactAndroid/src/main/java/com/facebook/hermes/instrumentation/BUCK +2 -30
- package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/BUCK +2 -22
- package/ReactAndroid/src/main/java/com/facebook/react/BUCK +0 -2
- package/ReactAndroid/src/main/java/com/facebook/react/CoreModulesPackage.java +0 -2
- package/ReactAndroid/src/main/java/com/facebook/react/JSEngineResolutionAlgorithm.java +18 -0
- package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +31 -31
- package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManagerBuilder.java +15 -39
- package/ReactAndroid/src/main/java/com/facebook/react/ReactNativeHost.java +8 -12
- package/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java +66 -3
- package/ReactAndroid/src/main/java/com/facebook/react/TurboReactPackage.java +3 -1
- package/ReactAndroid/src/main/java/com/facebook/react/animated/BUCK +0 -2
- package/ReactAndroid/src/main/java/com/facebook/react/animated/EventAnimationDriver.java +6 -1
- package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedModule.java +2 -24
- package/ReactAndroid/src/main/java/com/facebook/react/animated/NativeAnimatedNodesManager.java +43 -38
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/BUCK +0 -4
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstanceImpl.java +2 -11
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactCxxErrorHandler.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/common/BUCK +0 -2
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/BUCK +1 -3
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/MapBuffer.kt +10 -0
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/ReadableMapBuffer.kt +22 -1
- package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/WritableMapBuffer.kt +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/common/network/BUCK +0 -1
- package/ReactAndroid/src/main/java/com/facebook/react/config/BUCK +0 -1
- package/ReactAndroid/src/main/java/com/facebook/react/config/ReactFeatureFlags.java +12 -32
- package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultComponentsRegistry.kt +35 -0
- package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultJSIModulePackage.kt +58 -0
- package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultNewArchitectureEntryPoint.kt +49 -0
- package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactActivityDelegate.kt +46 -0
- package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactNativeHost.kt +71 -0
- package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultTurboModuleManagerDelegate.kt +33 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BUCK +0 -4
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/BUCK +1 -3
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/Binding.java +24 -2
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/CoreComponentsRegistry.java +1 -2
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/CppComponentRegistry.java +28 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/CppViewMutationsWrapper.java +47 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricJSIModuleProvider.java +14 -7
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +4 -8
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.java +18 -54
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/IntBufferBatchMountItem.java +19 -5
- package/ReactAndroid/src/main/java/com/facebook/react/jscexecutor/BUCK +2 -25
- package/ReactAndroid/src/main/java/com/facebook/react/jstasks/BUCK +0 -1
- package/ReactAndroid/src/main/java/com/facebook/react/module/annotations/BUCK +0 -1
- package/ReactAndroid/src/main/java/com/facebook/react/module/model/BUCK +0 -1
- package/ReactAndroid/src/main/java/com/facebook/react/module/processing/BUCK +0 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/accessibilityinfo/BUCK +0 -2
- package/ReactAndroid/src/main/java/com/facebook/react/modules/appearance/BUCK +0 -2
- package/ReactAndroid/src/main/java/com/facebook/react/modules/appregistry/BUCK +0 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/appstate/BUCK +0 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BUCK +1 -3
- package/ReactAndroid/src/main/java/com/facebook/react/modules/bundleloader/BUCK +0 -2
- package/ReactAndroid/src/main/java/com/facebook/react/modules/camera/BUCK +0 -2
- package/ReactAndroid/src/main/java/com/facebook/react/modules/clipboard/BUCK +0 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/common/BUCK +0 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/BUCK +0 -2
- package/ReactAndroid/src/main/java/com/facebook/react/modules/debug/BUCK +0 -3
- package/ReactAndroid/src/main/java/com/facebook/react/modules/deviceinfo/BUCK +0 -2
- package/ReactAndroid/src/main/java/com/facebook/react/modules/dialog/BUCK +0 -2
- package/ReactAndroid/src/main/java/com/facebook/react/modules/fabric/BUCK +0 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/BUCK +0 -2
- package/ReactAndroid/src/main/java/com/facebook/react/modules/i18nmanager/BUCK +0 -2
- package/ReactAndroid/src/main/java/com/facebook/react/modules/image/BUCK +0 -2
- package/ReactAndroid/src/main/java/com/facebook/react/modules/intent/BUCK +0 -2
- package/ReactAndroid/src/main/java/com/facebook/react/modules/network/BUCK +0 -2
- package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ForwardingCookieHandler.java +12 -21
- package/ReactAndroid/src/main/java/com/facebook/react/modules/permissions/BUCK +0 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/share/BUCK +0 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/sound/BUCK +0 -2
- package/ReactAndroid/src/main/java/com/facebook/react/modules/statusbar/BUCK +0 -2
- package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/AndroidInfoModule.java +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/BUCK +0 -4
- package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java +3 -3
- package/ReactAndroid/src/main/java/com/facebook/react/modules/toast/BUCK +0 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/vibration/BUCK +0 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/websocket/BUCK +0 -2
- package/ReactAndroid/src/main/java/com/facebook/react/modules/websocket/WebSocketModule.java +11 -3
- package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/BUCK +0 -2
- package/ReactAndroid/src/main/java/com/facebook/react/processing/BUCK +0 -1
- package/ReactAndroid/src/main/java/com/facebook/react/reactperflogger/BUCK +1 -2
- package/ReactAndroid/src/main/java/com/facebook/react/shell/BUCK +0 -3
- package/ReactAndroid/src/main/java/com/facebook/react/shell/MainReactPackage.java +0 -5
- package/ReactAndroid/src/main/java/com/facebook/react/surface/BUCK +0 -2
- package/ReactAndroid/src/main/java/com/facebook/react/touch/BUCK +0 -2
- package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/BUCK +1 -3
- package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/interfaces/BUCK +0 -2
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BUCK +1 -7
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java +48 -15
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManagerDelegate.java +3 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/DisplayMetricsHolder.java +3 -14
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSPointerDispatcher.java +277 -252
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/LayoutShadowNode.java +24 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactAccessibilityDelegate.java +6 -3
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactShadowNode.java +6 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactShadowNodeImpl.java +16 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIImplementation.java +0 -25
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java +3 -31
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewProps.java +6 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/annotations/BUCK +0 -2
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/common/BUCK +0 -2
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/Event.java +18 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/PointerEvent.java +172 -45
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/PointerEventHelper.java +101 -44
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/util/BUCK +0 -2
- package/ReactAndroid/src/main/java/com/facebook/react/util/BUCK +0 -1
- package/ReactAndroid/src/main/java/com/facebook/react/util/RNLog.java +3 -3
- package/ReactAndroid/src/main/java/com/facebook/react/views/common/BUCK +0 -2
- package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/BUCK +0 -2
- package/ReactAndroid/src/main/java/com/facebook/react/views/drawer/ReactDrawerLayout.java +12 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/image/BUCK +1 -4
- package/ReactAndroid/src/main/java/com/facebook/react/views/image/ReactImageView.java +30 -30
- package/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/BUCK +0 -4
- package/ReactAndroid/src/main/java/com/facebook/react/views/imagehelper/ImageSource.java +9 -4
- package/ReactAndroid/src/main/java/com/facebook/react/views/modal/BUCK +0 -2
- package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostView.java +15 -6
- package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/BUCK +0 -2
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/BUCK +0 -2
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +1 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +22 -12
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewHelper.java +0 -11
- package/ReactAndroid/src/main/java/com/facebook/react/views/slider/BUCK +0 -2
- package/ReactAndroid/src/main/java/com/facebook/react/views/slider/ReactSliderEvent.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/BUCK +0 -2
- package/ReactAndroid/src/main/java/com/facebook/react/views/swiperefresh/ReactSwipeRefreshLayout.java +12 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/BUCK +0 -2
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/BUCK +0 -2
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextViewManager.java +3 -7
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTypefaceUtils.java +60 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributeProps.java +60 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.java +2 -25
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManagerMapBuffer.java +7 -25
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/BUCK +0 -2
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/BUCK +9 -5
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java +42 -12
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.java +76 -21
- package/ReactAndroid/src/main/java/com/facebook/react/views/unimplementedview/BUCK +0 -2
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/BUCK +0 -2
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactMapBufferPropSetter.kt +25 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewBackgroundDrawable.java +4 -4
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.java +1 -3
- package/ReactAndroid/src/main/java/com/facebook/systrace/BUCK +4 -1
- package/ReactAndroid/src/main/java/com/facebook/systrace/Systrace.java +22 -8
- package/ReactAndroid/src/main/java/com/facebook/systrace/SystraceMessage.java +61 -8
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaAlign.java +2 -0
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaDimension.java +2 -0
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaDirection.java +2 -0
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaDisplay.java +2 -0
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaEdge.java +2 -0
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaExperimentalFeature.java +2 -0
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaFlexDirection.java +2 -0
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaGutter.java +35 -0
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaJustify.java +3 -2
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaLogLevel.java +2 -0
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaMeasureMode.java +2 -0
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNative.java +3 -1
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNode.java +4 -0
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeJNIBase.java +10 -0
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeType.java +2 -0
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaOverflow.java +2 -0
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaPositionType.java +2 -0
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaPrintOptions.java +2 -0
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaUnit.java +2 -0
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaWrap.java +2 -0
- package/ReactAndroid/src/main/jni/CMakeLists.txt +20 -11
- package/ReactAndroid/src/main/jni/first-party/yogajni/jni/YGJNIVanilla.cpp +23 -0
- package/ReactAndroid/src/main/jni/react/cxxcomponents/BUCK +44 -0
- package/ReactAndroid/src/main/jni/react/cxxcomponents/CMakeLists.txt +22 -0
- package/ReactAndroid/src/main/jni/react/cxxcomponents/Component.h +66 -0
- package/ReactAndroid/src/main/jni/react/cxxcomponents/ComponentManager.h +26 -0
- package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/AsyncEventBeat.cpp +0 -0
- package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/AsyncEventBeat.h +0 -0
- package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/BUCK +3 -3
- package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/Binding.cpp +37 -59
- package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/Binding.h +5 -9
- package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/CMakeLists.txt +1 -0
- package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/ComponentFactory.cpp +0 -0
- package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/ComponentFactory.h +0 -0
- package/ReactAndroid/src/main/jni/react/fabric/ComponentRegistryResolver.cpp +51 -0
- package/ReactAndroid/src/main/jni/react/fabric/ComponentRegistryResolver.h +47 -0
- package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/CoreComponentsRegistry.cpp +0 -0
- package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/CoreComponentsRegistry.h +0 -0
- package/ReactAndroid/src/main/jni/react/fabric/CppComponentRegistry.cpp +73 -0
- package/ReactAndroid/src/main/jni/react/fabric/CppComponentRegistry.h +64 -0
- package/ReactAndroid/src/main/jni/react/fabric/CppViewMutationsWrapper.cpp +100 -0
- package/ReactAndroid/src/main/jni/react/fabric/CppViewMutationsWrapper.h +39 -0
- package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/EventBeatManager.cpp +0 -0
- package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/EventBeatManager.h +0 -0
- package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/EventEmitterWrapper.cpp +0 -0
- package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/EventEmitterWrapper.h +0 -0
- package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/FabricMountItem.cpp +4 -2
- package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/FabricMountItem.h +4 -1
- package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/FabricMountingManager.cpp +93 -55
- package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/FabricMountingManager.h +3 -4
- package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/JBackgroundExecutor.cpp +0 -0
- package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/JBackgroundExecutor.h +0 -0
- package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/JFabricUIManager.cpp +0 -0
- package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/JFabricUIManager.h +0 -0
- package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/OnLoad.cpp +2 -0
- package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/ReactNativeConfigHolder.cpp +0 -0
- package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/ReactNativeConfigHolder.h +0 -0
- package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/StateWrapperImpl.cpp +0 -0
- package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/StateWrapperImpl.h +0 -0
- package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/SurfaceHandlerBinding.cpp +0 -0
- package/ReactAndroid/src/main/{java/com/facebook/react/fabric/jni → jni/react/fabric}/SurfaceHandlerBinding.h +0 -0
- package/ReactAndroid/src/main/jni/react/fabric/viewPropConversions.h +215 -0
- package/ReactAndroid/src/main/{java/com/facebook → jni/react}/hermes/.clang-tidy +1 -0
- package/ReactAndroid/src/main/jni/react/hermes/instrumentation/BUCK +27 -0
- package/ReactAndroid/src/main/{java/com/facebook → jni/react}/hermes/instrumentation/CMakeLists.txt +0 -0
- package/ReactAndroid/src/main/{java/com/facebook → jni/react}/hermes/instrumentation/HermesMemoryDumper.h +0 -0
- package/ReactAndroid/src/main/{java/com/facebook → jni/react}/hermes/instrumentation/HermesSamplingProfiler.cpp +0 -0
- package/ReactAndroid/src/main/{java/com/facebook → jni/react}/hermes/instrumentation/HermesSamplingProfiler.h +0 -0
- package/ReactAndroid/src/main/{java/com/facebook → jni/react}/hermes/instrumentation/OnLoad.cpp +0 -0
- package/ReactAndroid/src/main/jni/react/hermes/reactexecutor/BUCK +19 -0
- package/ReactAndroid/src/main/{java/com/facebook → jni/react}/hermes/reactexecutor/CMakeLists.txt +0 -0
- package/ReactAndroid/src/main/{java/com/facebook → jni/react}/hermes/reactexecutor/OnLoad.cpp +0 -0
- package/ReactAndroid/src/main/jni/react/jni/BUCK +3 -3
- package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.cpp +11 -25
- package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.h +2 -10
- package/ReactAndroid/src/main/jni/react/jni/JCallback.h +7 -0
- package/ReactAndroid/src/main/jni/react/jscexecutor/BUCK +22 -0
- package/ReactAndroid/src/main/{java/com/facebook → jni}/react/jscexecutor/CMakeLists.txt +0 -0
- package/ReactAndroid/src/main/{java/com/facebook → jni}/react/jscexecutor/OnLoad.cpp +0 -0
- package/ReactAndroid/src/main/{java/com/facebook/react/common/mapbuffer/jni → jni/react/mapbuffer}/BUCK +0 -1
- package/ReactAndroid/src/main/{java/com/facebook/react/common/mapbuffer/jni → jni/react/mapbuffer}/CMakeLists.txt +0 -0
- package/ReactAndroid/src/main/{java/com/facebook/react/common/mapbuffer/jni → jni/react/mapbuffer}/react/common/mapbuffer/.clang-tidy +0 -0
- package/ReactAndroid/src/main/{java/com/facebook/react/common/mapbuffer/jni → jni/react/mapbuffer}/react/common/mapbuffer/JReadableMapBuffer.cpp +0 -0
- package/ReactAndroid/src/main/{java/com/facebook/react/common/mapbuffer/jni → jni/react/mapbuffer}/react/common/mapbuffer/JReadableMapBuffer.h +0 -0
- package/ReactAndroid/src/main/{java/com/facebook/react/common/mapbuffer/jni → jni/react/mapbuffer}/react/common/mapbuffer/JWritableMapBuffer.cpp +0 -0
- package/ReactAndroid/src/main/{java/com/facebook/react/common/mapbuffer/jni → jni/react/mapbuffer}/react/common/mapbuffer/JWritableMapBuffer.h +0 -0
- package/ReactAndroid/src/main/{java/com/facebook/react/common/mapbuffer/jni → jni/react/mapbuffer}/react/common/mapbuffer/OnLoad.cpp +0 -0
- package/ReactAndroid/src/main/jni/react/newarchdefaults/CMakeLists.txt +22 -0
- package/{template/android/app/src/main/jni/MainComponentsRegistry.cpp → ReactAndroid/src/main/jni/react/newarchdefaults/DefaultComponentsRegistry.cpp} +21 -16
- package/ReactAndroid/src/main/jni/react/newarchdefaults/DefaultComponentsRegistry.h +47 -0
- package/ReactAndroid/src/main/jni/react/newarchdefaults/DefaultTurboModuleManagerDelegate.cpp +60 -0
- package/ReactAndroid/src/main/jni/react/newarchdefaults/DefaultTurboModuleManagerDelegate.h +53 -0
- package/ReactAndroid/src/main/jni/react/newarchdefaults/OnLoad.cpp +18 -0
- package/ReactAndroid/src/main/jni/react/perftests/BUCK +0 -1
- package/ReactAndroid/src/main/{java/com/facebook/react/modules/blob/jni → jni/react/reactnativeblob}/BUCK +0 -1
- package/ReactAndroid/src/main/{java/com/facebook/react/modules/blob/jni → jni/react/reactnativeblob}/BlobCollector.cpp +0 -0
- package/ReactAndroid/src/main/{java/com/facebook/react/modules/blob/jni → jni/react/reactnativeblob}/BlobCollector.h +0 -0
- package/ReactAndroid/src/main/{java/com/facebook/react/modules/blob/jni → jni/react/reactnativeblob}/CMakeLists.txt +0 -0
- package/ReactAndroid/src/main/{java/com/facebook/react/modules/blob/jni → jni/react/reactnativeblob}/OnLoad.cpp +0 -0
- package/ReactAndroid/src/main/{java/com/facebook/react/reactperflogger/jni → jni/react/reactperflogger}/BUCK +0 -1
- package/ReactAndroid/src/main/{java/com/facebook/react/reactperflogger/jni → jni/react/reactperflogger}/CMakeLists.txt +0 -0
- package/ReactAndroid/src/main/{java/com/facebook/react/reactperflogger/jni → jni/react/reactperflogger}/reactperflogger/.clang-tidy +1 -0
- package/ReactAndroid/src/main/{java/com/facebook/react/reactperflogger/jni → jni/react/reactperflogger}/reactperflogger/JNativeModulePerfLogger.h +0 -0
- package/ReactAndroid/src/main/{java/com/facebook/react/reactperflogger/jni → jni/react/reactperflogger}/reactperflogger/OnLoad.cpp +0 -0
- package/ReactAndroid/src/main/{java/com/facebook/react/turbomodule/core/jni → jni/react/turbomodule}/BUCK +1 -3
- package/ReactAndroid/src/main/{java/com/facebook/react/turbomodule/core/jni → jni/react/turbomodule}/CMakeLists.txt +0 -0
- package/ReactAndroid/src/main/{java/com/facebook/react/turbomodule/core/jni → jni/react/turbomodule}/ReactCommon/CallInvokerHolder.cpp +0 -0
- package/ReactAndroid/src/main/{java/com/facebook/react/turbomodule/core/jni → jni/react/turbomodule}/ReactCommon/CallInvokerHolder.h +0 -0
- package/ReactAndroid/src/main/{java/com/facebook/react/turbomodule/core/jni → jni/react/turbomodule}/ReactCommon/CompositeTurboModuleManagerDelegate.cpp +0 -0
- package/ReactAndroid/src/main/{java/com/facebook/react/turbomodule/core/jni → jni/react/turbomodule}/ReactCommon/CompositeTurboModuleManagerDelegate.h +0 -0
- package/ReactAndroid/src/main/{java/com/facebook/react/turbomodule/core/jni → jni/react/turbomodule}/ReactCommon/OnLoad.cpp +0 -0
- package/ReactAndroid/src/main/{java/com/facebook/react/turbomodule/core/jni → jni/react/turbomodule}/ReactCommon/TurboModuleManager.cpp +0 -0
- package/ReactAndroid/src/main/{java/com/facebook/react/turbomodule/core/jni → jni/react/turbomodule}/ReactCommon/TurboModuleManager.h +0 -0
- package/ReactAndroid/src/main/{java/com/facebook/react/turbomodule/core/jni → jni/react/turbomodule}/ReactCommon/TurboModuleManagerDelegate.h +0 -0
- package/ReactAndroid/src/main/{java/com/facebook/react/uimanager/jni → jni/react/uimanager}/BUCK +0 -2
- package/ReactAndroid/src/main/{java/com/facebook/react/uimanager/jni → jni/react/uimanager}/CMakeLists.txt +0 -0
- package/ReactAndroid/src/main/{java/com/facebook/react/uimanager/jni → jni/react/uimanager}/ComponentNameResolverManager.cpp +0 -0
- package/ReactAndroid/src/main/{java/com/facebook/react/uimanager/jni → jni/react/uimanager}/ComponentNameResolverManager.h +0 -0
- package/ReactAndroid/src/main/{java/com/facebook/react/uimanager/jni → jni/react/uimanager}/OnLoad.cpp +0 -0
- package/ReactAndroid/src/main/libraries/fbjni/BUCK +1 -1
- package/ReactAndroid/src/main/libraries/soloader/java/com/facebook/soloader/BUCK +1 -1
- package/ReactAndroid/src/main/res/views/uimanager/values/ids.xml +13 -22
- package/ReactCommon/React-Fabric.podspec +17 -4
- package/ReactCommon/ReactCommon.podspec +13 -4
- package/ReactCommon/butter/BUCK +4 -3
- package/ReactCommon/butter/CMakeLists.txt +3 -1
- package/ReactCommon/callinvoker/BUCK +1 -1
- package/ReactCommon/callinvoker/CMakeLists.txt +7 -1
- package/ReactCommon/cxxreact/BUCK +17 -11
- package/ReactCommon/cxxreact/CxxNativeModule.cpp +33 -25
- package/ReactCommon/cxxreact/JSBundleType.h +7 -4
- package/ReactCommon/cxxreact/JSExecutor.h +1 -2
- package/ReactCommon/cxxreact/NativeToJsBridge.cpp +2 -2
- package/ReactCommon/cxxreact/React-cxxreact.podspec +1 -1
- package/ReactCommon/cxxreact/ReactNativeVersion.h +3 -3
- package/ReactCommon/cxxreact/SampleCxxModule.cpp +1 -1
- package/ReactCommon/cxxreact/SystraceSection.h +11 -1
- package/ReactCommon/hermes/React-hermes.podspec +9 -6
- package/ReactCommon/hermes/executor/HermesExecutorFactory.cpp +11 -21
- package/ReactCommon/hermes/inspector/BUCK +4 -5
- package/ReactCommon/hermes/inspector/Inspector.cpp +1 -1
- package/ReactCommon/hermes/inspector/RuntimeAdapter.cpp +3 -8
- package/ReactCommon/hermes/inspector/RuntimeAdapter.h +4 -9
- package/ReactCommon/hermes/inspector/chrome/Connection.cpp +87 -20
- package/ReactCommon/hermes/inspector/chrome/Connection.h +1 -1
- package/ReactCommon/hermes/inspector/chrome/ConnectionDemux.cpp +8 -19
- package/ReactCommon/hermes/inspector/chrome/ConnectionDemux.h +3 -2
- package/ReactCommon/hermes/inspector/chrome/MessageConverters.cpp +10 -0
- package/ReactCommon/hermes/inspector/chrome/MessageTypes.cpp +106 -1
- package/ReactCommon/hermes/inspector/chrome/MessageTypes.h +49 -1
- package/ReactCommon/hermes/inspector/chrome/Registration.cpp +4 -4
- package/ReactCommon/hermes/inspector/chrome/Registration.h +9 -5
- package/ReactCommon/hermes/inspector/chrome/cli/main.cpp +5 -3
- package/ReactCommon/hermes/inspector/chrome/tests/ConnectionDemuxTests.cpp +3 -5
- package/ReactCommon/hermes/inspector/chrome/tests/ConnectionTests.cpp +48 -0
- package/ReactCommon/hermes/inspector/chrome/tests/SyncConnection.cpp +1 -3
- package/ReactCommon/hermes/inspector/tests/InspectorTests.cpp +1 -3
- package/ReactCommon/hermes/inspector/tools/message_types.txt +2 -0
- package/ReactCommon/hermes/inspector/tools/run_msggen +3 -1
- package/ReactCommon/jserrorhandler/BUCK +30 -0
- package/ReactCommon/jserrorhandler/JsErrorHandler.cpp +107 -0
- package/ReactCommon/jserrorhandler/JsErrorHandler.h +39 -0
- package/ReactCommon/jsi/BUCK +3 -4
- package/ReactCommon/jsi/JSCRuntime.cpp +59 -0
- package/ReactCommon/jsi/React-jsc.podspec +41 -0
- package/ReactCommon/jsi/React-jsi.podspec +18 -23
- package/ReactCommon/{React-bridging.podspec → jsi/React-jsidynamic.podspec} +11 -11
- package/ReactCommon/jsi/jsi/JSIDynamic.cpp +7 -2
- package/ReactCommon/jsi/jsi/decorator.h +38 -0
- package/ReactCommon/jsi/jsi/jsi-inl.h +27 -0
- package/ReactCommon/jsi/jsi/jsi.cpp +18 -0
- package/ReactCommon/jsi/jsi/jsi.h +107 -0
- package/ReactCommon/jsiexecutor/BUCK +1 -2
- package/ReactCommon/jsiexecutor/React-jsiexecutor.podspec +1 -0
- package/ReactCommon/jsiexecutor/jsireact/JSIExecutor.cpp +1 -5
- package/ReactCommon/jsiexecutor/jsireact/JSIExecutor.h +0 -2
- package/ReactCommon/jsinspector/BUCK +1 -1
- package/ReactCommon/logger/BUCK +1 -1
- package/ReactCommon/logger/React-logger.podspec +1 -1
- package/ReactCommon/react/bridging/Array.h +19 -0
- package/ReactCommon/react/bridging/BUCK +2 -2
- package/ReactCommon/react/bridging/Base.h +1 -2
- package/ReactCommon/react/bridging/CMakeLists.txt +8 -1
- package/ReactCommon/react/bridging/tests/BridgingTest.cpp +113 -0
- package/ReactCommon/react/config/BUCK +1 -3
- package/ReactCommon/react/config/CMakeLists.txt +2 -0
- package/ReactCommon/react/debug/BUCK +3 -4
- package/ReactCommon/react/debug/CMakeLists.txt +2 -0
- package/ReactCommon/react/nativemodule/core/BUCK +1 -3
- package/ReactCommon/react/nativemodule/core/CMakeLists.txt +8 -1
- package/ReactCommon/react/nativemodule/core/platform/ios/RCTTurboModuleManager.h +2 -2
- package/ReactCommon/react/nativemodule/core/platform/ios/RCTTurboModuleManager.mm +1 -0
- package/ReactCommon/react/nativemodule/samples/BUCK +1 -1
- package/ReactCommon/react/nativemodule/samples/platform/android/CMakeLists.txt +9 -1
- package/ReactCommon/react/renderer/.clang-tidy +144 -0
- package/ReactCommon/react/renderer/animations/BUCK +1 -6
- package/ReactCommon/react/renderer/animations/CMakeLists.txt +8 -1
- package/ReactCommon/react/renderer/animations/LayoutAnimationDriver.cpp +4 -6
- package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.cpp +26 -35
- package/ReactCommon/react/renderer/animations/tests/LayoutAnimationTest.cpp +4 -6
- package/ReactCommon/react/renderer/animations/utils.cpp +2 -4
- package/ReactCommon/react/renderer/attributedstring/AttributedString.cpp +22 -5
- package/ReactCommon/react/renderer/attributedstring/AttributedString.h +13 -1
- package/ReactCommon/react/renderer/attributedstring/AttributedStringBox.cpp +2 -4
- package/ReactCommon/react/renderer/attributedstring/BUCK +3 -5
- package/ReactCommon/react/renderer/attributedstring/CMakeLists.txt +8 -1
- package/ReactCommon/react/renderer/attributedstring/ParagraphAttributes.cpp +2 -4
- package/ReactCommon/react/renderer/attributedstring/TextAttributes.cpp +14 -4
- package/ReactCommon/react/renderer/attributedstring/TextAttributes.h +3 -0
- package/ReactCommon/react/renderer/attributedstring/conversions.h +134 -0
- package/ReactCommon/react/renderer/attributedstring/primitives.h +30 -0
- package/ReactCommon/react/renderer/attributedstring/tests/AttributedStringBoxTest.cpp +2 -4
- package/ReactCommon/react/renderer/attributedstring/tests/ParagraphAttributesTest.cpp +2 -4
- package/ReactCommon/react/renderer/componentregistry/BUCK +1 -8
- package/ReactCommon/react/renderer/componentregistry/CMakeLists.txt +8 -1
- package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorProviderRegistry.cpp +3 -5
- package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorProviderRegistry.h +1 -1
- package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorRegistry.cpp +6 -13
- package/ReactCommon/react/renderer/componentregistry/ComponentDescriptorRegistry.h +3 -2
- package/ReactCommon/react/renderer/componentregistry/componentNameByReactViewName.cpp +2 -4
- package/ReactCommon/react/renderer/componentregistry/native/BUCK +1 -7
- package/ReactCommon/react/renderer/componentregistry/native/CMakeLists.txt +8 -1
- package/ReactCommon/react/renderer/componentregistry/native/NativeComponentRegistryBinding.cpp +5 -7
- package/ReactCommon/react/renderer/components/image/BUCK +1 -4
- package/ReactCommon/react/renderer/components/image/CMakeLists.txt +8 -1
- package/ReactCommon/react/renderer/components/image/ImageEventEmitter.cpp +2 -4
- package/ReactCommon/react/renderer/components/image/ImageProps.cpp +82 -41
- package/ReactCommon/react/renderer/components/image/ImageProps.h +13 -7
- package/ReactCommon/react/renderer/components/image/ImageShadowNode.cpp +2 -4
- package/ReactCommon/react/renderer/components/image/ImageState.cpp +2 -4
- package/ReactCommon/react/renderer/components/inputaccessory/BUCK +1 -1
- package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/BUCK +3 -3
- package/ReactCommon/react/renderer/components/modal/BUCK +2 -4
- package/ReactCommon/react/renderer/components/modal/CMakeLists.txt +8 -1
- package/ReactCommon/react/renderer/components/modal/ModalHostViewShadowNode.cpp +2 -4
- package/ReactCommon/react/renderer/components/modal/ModalHostViewState.cpp +2 -4
- package/ReactCommon/react/renderer/components/progressbar/BUCK +2 -5
- package/ReactCommon/react/renderer/components/progressbar/CMakeLists.txt +8 -1
- package/ReactCommon/react/renderer/components/progressbar/android/react/renderer/components/progressbar/AndroidProgressBarMeasurementsManager.cpp +2 -4
- package/ReactCommon/react/renderer/components/progressbar/android/react/renderer/components/progressbar/AndroidProgressBarShadowNode.cpp +3 -5
- package/ReactCommon/react/renderer/components/root/BUCK +1 -5
- package/ReactCommon/react/renderer/components/root/CMakeLists.txt +8 -1
- package/ReactCommon/react/renderer/components/root/RootProps.cpp +4 -6
- package/ReactCommon/react/renderer/components/root/RootShadowNode.cpp +2 -4
- package/ReactCommon/react/renderer/components/safeareaview/BUCK +1 -1
- package/ReactCommon/react/renderer/components/scrollview/BUCK +2 -5
- package/ReactCommon/react/renderer/components/scrollview/CMakeLists.txt +8 -1
- package/ReactCommon/react/renderer/components/scrollview/ScrollViewEventEmitter.cpp +2 -4
- package/ReactCommon/react/renderer/components/scrollview/ScrollViewProps.cpp +180 -163
- package/ReactCommon/react/renderer/components/scrollview/ScrollViewShadowNode.cpp +2 -4
- package/ReactCommon/react/renderer/components/scrollview/ScrollViewState.cpp +2 -4
- package/ReactCommon/react/renderer/components/slider/BUCK +2 -4
- package/ReactCommon/react/renderer/components/slider/CMakeLists.txt +8 -1
- package/ReactCommon/react/renderer/components/slider/SliderShadowNode.cpp +3 -5
- package/ReactCommon/react/renderer/components/slider/SliderState.cpp +2 -4
- package/ReactCommon/react/renderer/components/slider/platform/android/react/renderer/components/slider/SliderMeasurementsManager.cpp +2 -4
- package/ReactCommon/react/renderer/components/switch/BUCK +1 -9
- package/ReactCommon/react/renderer/components/switch/CMakeLists.txt +2 -0
- package/ReactCommon/react/renderer/components/switch/androidswitch/react/renderer/components/androidswitch/AndroidSwitchMeasurementsManager.cpp +2 -4
- package/ReactCommon/react/renderer/components/switch/androidswitch/react/renderer/components/androidswitch/AndroidSwitchShadowNode.cpp +3 -5
- package/ReactCommon/react/renderer/components/text/BUCK +1 -6
- package/ReactCommon/react/renderer/components/text/BaseTextProps.cpp +23 -24
- package/ReactCommon/react/renderer/components/text/BaseTextProps.h +0 -2
- package/ReactCommon/react/renderer/components/text/BaseTextShadowNode.cpp +4 -6
- package/ReactCommon/react/renderer/components/text/CMakeLists.txt +8 -1
- package/ReactCommon/react/renderer/components/text/ParagraphEventEmitter.cpp +2 -4
- package/ReactCommon/react/renderer/components/text/ParagraphProps.cpp +84 -21
- package/ReactCommon/react/renderer/components/text/ParagraphProps.h +3 -3
- package/ReactCommon/react/renderer/components/text/ParagraphShadowNode.cpp +5 -6
- package/ReactCommon/react/renderer/components/text/ParagraphState.cpp +2 -4
- package/ReactCommon/react/renderer/components/text/ParagraphState.h +9 -0
- package/ReactCommon/react/renderer/components/text/RawTextProps.cpp +2 -4
- package/ReactCommon/react/renderer/components/text/RawTextShadowNode.cpp +2 -4
- package/ReactCommon/react/renderer/components/text/TextProps.cpp +2 -4
- package/ReactCommon/react/renderer/components/text/TextShadowNode.cpp +2 -4
- package/ReactCommon/react/renderer/components/text/conversions.h +1 -9
- package/ReactCommon/react/renderer/components/textinput/BUCK +2 -6
- package/ReactCommon/react/renderer/components/textinput/CMakeLists.txt +8 -1
- package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputProps.cpp +214 -66
- package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputProps.h +59 -59
- package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputShadowNode.cpp +9 -11
- package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputState.cpp +24 -4
- package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputState.h +1 -3
- package/ReactCommon/react/renderer/components/textinput/iostextinput/BUCK +4 -10
- package/ReactCommon/react/renderer/components/textinput/iostextinput/TextInputEventEmitter.cpp +2 -4
- package/ReactCommon/react/renderer/components/textinput/iostextinput/TextInputEventEmitter.h +2 -2
- package/ReactCommon/react/renderer/components/textinput/iostextinput/TextInputProps.cpp +2 -4
- package/ReactCommon/react/renderer/components/textinput/iostextinput/TextInputShadowNode.cpp +2 -4
- package/ReactCommon/react/renderer/components/textinput/iostextinput/TextInputState.cpp +4 -6
- package/ReactCommon/react/renderer/components/textinput/iostextinput/conversions.h +20 -0
- package/ReactCommon/react/renderer/components/textinput/iostextinput/primitives.h +10 -2
- package/ReactCommon/react/renderer/components/textinput/iostextinput/propsConversions.h +4 -4
- package/ReactCommon/react/renderer/components/unimplementedview/BUCK +1 -9
- package/ReactCommon/react/renderer/components/unimplementedview/CMakeLists.txt +8 -1
- package/ReactCommon/react/renderer/components/unimplementedview/UnimplementedViewComponentDescriptor.cpp +2 -4
- package/ReactCommon/react/renderer/components/unimplementedview/UnimplementedViewProps.cpp +2 -4
- package/ReactCommon/react/renderer/components/unimplementedview/UnimplementedViewShadowNode.cpp +2 -4
- package/ReactCommon/react/renderer/components/view/AccessibilityProps.cpp +134 -123
- package/ReactCommon/react/renderer/components/view/AccessibilityProps.h +4 -1
- package/ReactCommon/react/renderer/components/view/AccessibilityPropsMapBuffer.cpp +168 -0
- package/ReactCommon/react/renderer/components/view/AccessibilityPropsMapBuffer.h +33 -0
- package/ReactCommon/react/renderer/components/view/BUCK +3 -4
- package/ReactCommon/react/renderer/components/view/CMakeLists.txt +8 -1
- package/ReactCommon/react/renderer/components/view/PointerEvent.cpp +9 -5
- package/ReactCommon/react/renderer/components/view/PointerEvent.h +26 -0
- package/ReactCommon/react/renderer/components/view/Touch.cpp +3 -5
- package/ReactCommon/react/renderer/components/view/Touch.h +1 -1
- package/ReactCommon/react/renderer/components/view/TouchEvent.cpp +3 -5
- package/ReactCommon/react/renderer/components/view/TouchEventEmitter.cpp +8 -4
- package/ReactCommon/react/renderer/components/view/ViewEventEmitter.cpp +2 -4
- package/ReactCommon/react/renderer/components/view/ViewProps.cpp +195 -179
- package/ReactCommon/react/renderer/components/view/ViewProps.h +6 -0
- package/ReactCommon/react/renderer/components/view/ViewPropsMapBuffer.cpp +202 -0
- package/ReactCommon/react/renderer/components/view/ViewPropsMapBuffer.h +56 -0
- package/ReactCommon/react/renderer/components/view/ViewShadowNode.cpp +8 -26
- package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.cpp +8 -9
- package/ReactCommon/react/renderer/components/view/YogaStylableProps.cpp +38 -20
- package/ReactCommon/react/renderer/components/view/YogaStylableProps.h +6 -1
- package/ReactCommon/react/renderer/components/view/YogaStylablePropsMapBuffer.cpp +87 -0
- package/ReactCommon/{hermes/inspector/chrome/AutoAttachUtils.h → react/renderer/components/view/YogaStylablePropsMapBuffer.h} +11 -11
- package/ReactCommon/react/renderer/components/view/conversions.h +18 -0
- package/ReactCommon/react/renderer/components/view/primitives.h +10 -0
- package/ReactCommon/react/renderer/components/view/propsConversions.h +37 -17
- package/ReactCommon/react/renderer/components/view/tests/LayoutTest.cpp +2 -4
- package/ReactCommon/react/renderer/components/view/tests/ViewTest.cpp +2 -4
- package/ReactCommon/react/renderer/components/view/viewPropConversions.h +198 -0
- package/ReactCommon/react/renderer/core/BUCK +8 -9
- package/ReactCommon/react/renderer/core/BatchedEventQueue.cpp +2 -4
- package/ReactCommon/react/renderer/core/CMakeLists.txt +9 -1
- package/ReactCommon/react/renderer/core/ComponentDescriptor.cpp +2 -4
- package/ReactCommon/react/renderer/core/ConcreteComponentDescriptor.h +2 -1
- package/ReactCommon/react/renderer/core/CoreFeatures.cpp +17 -0
- package/ReactCommon/react/renderer/core/CoreFeatures.h +31 -0
- package/ReactCommon/react/renderer/core/DynamicPropsUtilities.cpp +2 -4
- package/ReactCommon/react/renderer/core/EventBeat.cpp +2 -4
- package/ReactCommon/react/renderer/core/EventDispatcher.cpp +2 -4
- package/ReactCommon/react/renderer/core/EventEmitter.cpp +3 -5
- package/ReactCommon/react/renderer/core/EventQueue.cpp +3 -5
- package/ReactCommon/react/renderer/core/EventQueueProcessor.cpp +2 -4
- package/ReactCommon/react/renderer/core/EventTarget.cpp +3 -5
- package/ReactCommon/react/renderer/core/LayoutConstraints.cpp +2 -4
- package/ReactCommon/react/renderer/core/LayoutMetrics.cpp +3 -5
- package/ReactCommon/react/renderer/core/LayoutableShadowNode.cpp +96 -18
- package/ReactCommon/react/renderer/core/Props.cpp +12 -15
- package/ReactCommon/react/renderer/core/Props.h +8 -11
- package/ReactCommon/react/renderer/core/PropsMacros.h +20 -6
- package/ReactCommon/react/renderer/core/PropsMapBuffer.cpp +37 -0
- package/ReactCommon/react/renderer/core/PropsMapBuffer.h +23 -0
- package/ReactCommon/react/renderer/core/RawEvent.cpp +2 -4
- package/ReactCommon/react/renderer/core/RawProps.cpp +5 -6
- package/ReactCommon/react/renderer/core/RawProps.h +1 -1
- package/ReactCommon/react/renderer/core/RawPropsKey.cpp +4 -6
- package/ReactCommon/react/renderer/core/RawPropsKeyMap.cpp +2 -4
- package/ReactCommon/react/renderer/core/RawPropsParser.cpp +3 -5
- package/ReactCommon/react/renderer/core/RawPropsParser.h +2 -2
- package/ReactCommon/react/renderer/core/RawPropsPrimitives.h +1 -1
- package/ReactCommon/react/renderer/core/RawValue.h +10 -14
- package/ReactCommon/react/renderer/core/Sealable.cpp +4 -6
- package/ReactCommon/react/renderer/core/ShadowNode.cpp +6 -4
- package/ReactCommon/react/renderer/core/ShadowNode.h +5 -0
- package/ReactCommon/react/renderer/core/ShadowNodeFamily.cpp +3 -5
- package/ReactCommon/react/renderer/core/ShadowNodeFamilyFragment.cpp +2 -4
- package/ReactCommon/react/renderer/core/ShadowNodeFragment.cpp +2 -4
- package/ReactCommon/react/renderer/core/ShadowNodeTraits.cpp +1 -3
- package/ReactCommon/react/renderer/core/ShadowNodeTraits.h +18 -13
- package/ReactCommon/react/renderer/core/State.cpp +2 -4
- package/ReactCommon/react/renderer/core/UnbatchedEventQueue.cpp +2 -4
- package/ReactCommon/react/renderer/core/propsConversions.h +17 -35
- package/ReactCommon/react/renderer/core/tests/EventQueueProcessorTest.cpp +3 -3
- package/ReactCommon/react/renderer/core/tests/LayoutableShadowNodeTest.cpp +372 -0
- package/ReactCommon/react/renderer/core/tests/RawPropsTest.cpp +2 -2
- package/ReactCommon/react/renderer/core/tests/TestComponent.h +4 -2
- package/ReactCommon/react/renderer/core/tests/benchmarks/RawPropsBenchmark.cpp +2 -4
- package/ReactCommon/react/renderer/debug/BUCK +1 -4
- package/ReactCommon/react/renderer/debug/CMakeLists.txt +8 -1
- package/ReactCommon/react/renderer/debug/DebugStringConvertible.cpp +6 -8
- package/ReactCommon/react/renderer/debug/DebugStringConvertibleItem.cpp +2 -4
- package/ReactCommon/react/renderer/element/BUCK +1 -1
- package/ReactCommon/react/renderer/element/ComponentBuilder.cpp +2 -4
- package/ReactCommon/react/renderer/graphics/BUCK +2 -5
- package/ReactCommon/react/renderer/graphics/CMakeLists.txt +8 -1
- package/ReactCommon/react/renderer/graphics/React-graphics.podspec +1 -1
- package/ReactCommon/react/renderer/graphics/Transform.cpp +43 -17
- package/ReactCommon/react/renderer/graphics/Transform.h +20 -5
- package/ReactCommon/react/renderer/graphics/platform/cxx/react/renderer/graphics/Color.cpp +4 -6
- package/ReactCommon/react/renderer/graphics/tests/TransformTest.cpp +7 -0
- package/ReactCommon/react/renderer/imagemanager/BUCK +1 -4
- package/ReactCommon/react/renderer/imagemanager/CMakeLists.txt +8 -1
- package/ReactCommon/react/renderer/imagemanager/ImageManager.h +1 -1
- package/ReactCommon/react/renderer/imagemanager/ImageResponse.cpp +2 -4
- package/ReactCommon/react/renderer/imagemanager/ImageResponseObserverCoordinator.cpp +2 -4
- package/ReactCommon/react/renderer/imagemanager/ImageTelemetry.cpp +2 -4
- package/ReactCommon/react/renderer/imagemanager/platform/cxx/react/renderer/imagemanager/ImageManager.cpp +6 -7
- package/ReactCommon/react/renderer/imagemanager/platform/cxx/react/renderer/imagemanager/ImageRequest.cpp +2 -4
- package/ReactCommon/react/renderer/imagemanager/platform/ios/RCTImagePrimitivesConversions.h +14 -16
- package/ReactCommon/react/renderer/leakchecker/BUCK +1 -1
- package/ReactCommon/react/renderer/leakchecker/CMakeLists.txt +8 -1
- package/ReactCommon/react/renderer/leakchecker/LeakChecker.cpp +4 -6
- package/ReactCommon/react/renderer/leakchecker/LeakChecker.h +1 -1
- package/ReactCommon/react/renderer/leakchecker/WeakFamilyRegistry.cpp +3 -6
- package/ReactCommon/react/renderer/mapbuffer/BUCK +5 -6
- package/ReactCommon/react/renderer/mapbuffer/CMakeLists.txt +8 -1
- package/ReactCommon/react/renderer/mapbuffer/MapBuffer.cpp +28 -5
- package/ReactCommon/react/renderer/mapbuffer/MapBuffer.h +2 -0
- package/ReactCommon/react/renderer/mapbuffer/MapBufferBuilder.cpp +35 -4
- package/ReactCommon/react/renderer/mapbuffer/MapBufferBuilder.h +5 -0
- package/ReactCommon/react/renderer/mapbuffer/tests/MapBufferTest.cpp +25 -0
- package/ReactCommon/react/renderer/mounting/BUCK +2 -5
- package/ReactCommon/react/renderer/mounting/CMakeLists.txt +8 -1
- package/ReactCommon/react/renderer/mounting/Differentiator.cpp +15 -92
- package/ReactCommon/react/renderer/mounting/MountingCoordinator.cpp +4 -6
- package/ReactCommon/react/renderer/mounting/MountingCoordinator.h +1 -1
- package/ReactCommon/react/renderer/mounting/MountingTransaction.cpp +2 -4
- package/ReactCommon/react/renderer/mounting/ShadowTree.cpp +6 -8
- package/ReactCommon/react/renderer/mounting/ShadowTree.h +4 -4
- package/ReactCommon/react/renderer/mounting/ShadowTreeRegistry.cpp +2 -4
- package/ReactCommon/react/renderer/mounting/ShadowView.cpp +5 -6
- package/ReactCommon/react/renderer/mounting/ShadowViewMutation.cpp +8 -9
- package/ReactCommon/react/renderer/mounting/ShadowViewMutation.h +4 -3
- package/ReactCommon/react/renderer/mounting/StubView.cpp +4 -6
- package/ReactCommon/react/renderer/mounting/StubViewTree.cpp +2 -4
- package/ReactCommon/react/renderer/mounting/TelemetryController.cpp +2 -4
- package/ReactCommon/react/renderer/mounting/stubs.cpp +2 -4
- package/ReactCommon/react/renderer/mounting/tests/MountingTest.cpp +2 -4
- package/ReactCommon/react/renderer/mounting/tests/ShadowTreeLifeCycleTest.cpp +2 -4
- package/ReactCommon/react/renderer/mounting/tests/StackingContextTest.cpp +2 -4
- package/ReactCommon/react/renderer/mounting/tests/StateReconciliationTest.cpp +6 -6
- package/ReactCommon/react/renderer/runtimescheduler/BUCK +2 -1
- package/ReactCommon/react/renderer/runtimescheduler/CMakeLists.txt +8 -1
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.cpp +5 -6
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerBinding.cpp +4 -6
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerCallInvoker.cpp +2 -4
- package/ReactCommon/react/renderer/runtimescheduler/Task.cpp +6 -8
- package/ReactCommon/react/renderer/runtimescheduler/Task.h +1 -1
- package/ReactCommon/react/renderer/runtimescheduler/tests/RuntimeSchedulerTest.cpp +45 -45
- package/ReactCommon/react/renderer/scheduler/AsynchronousEventBeat.cpp +1 -1
- package/ReactCommon/react/renderer/scheduler/BUCK +1 -5
- package/ReactCommon/react/renderer/scheduler/CMakeLists.txt +8 -1
- package/ReactCommon/react/renderer/scheduler/Scheduler.cpp +16 -36
- package/ReactCommon/react/renderer/scheduler/Scheduler.h +1 -4
- package/ReactCommon/react/renderer/scheduler/SchedulerDelegate.h +0 -8
- package/ReactCommon/react/renderer/scheduler/SchedulerToolbox.h +7 -0
- package/ReactCommon/react/renderer/scheduler/SurfaceHandler.cpp +10 -9
- package/ReactCommon/react/renderer/scheduler/SurfaceHandler.h +1 -1
- package/ReactCommon/react/renderer/scheduler/SurfaceManager.cpp +2 -4
- package/ReactCommon/react/renderer/scheduler/SynchronousEventBeat.cpp +3 -5
- package/ReactCommon/react/renderer/telemetry/BUCK +1 -5
- package/ReactCommon/react/renderer/telemetry/CMakeLists.txt +8 -1
- package/ReactCommon/react/renderer/telemetry/SurfaceTelemetry.cpp +2 -4
- package/ReactCommon/react/renderer/telemetry/TransactionTelemetry.cpp +2 -4
- package/ReactCommon/react/renderer/templateprocessor/BUCK +3 -5
- package/ReactCommon/react/renderer/templateprocessor/CMakeLists.txt +8 -1
- package/ReactCommon/react/renderer/templateprocessor/UITemplateProcessor.cpp +2 -4
- package/ReactCommon/react/renderer/templateprocessor/UITemplateProcessor.h +2 -2
- package/ReactCommon/react/renderer/templateprocessor/tests/UITemplateProcessorTest.cpp +8 -9
- package/ReactCommon/react/renderer/textlayoutmanager/BUCK +1 -5
- package/ReactCommon/react/renderer/textlayoutmanager/CMakeLists.txt +8 -1
- package/ReactCommon/react/renderer/textlayoutmanager/TextMeasureCache.cpp +2 -4
- package/ReactCommon/react/renderer/textlayoutmanager/TextMeasureCache.h +4 -1
- package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.cpp +8 -72
- package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.h +1 -2
- package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/RCTAttributedTextUtils.mm +84 -8
- package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/RCTTextPrimitivesConversions.h +46 -23
- package/ReactCommon/react/renderer/timeline/BUCK +2 -5
- package/ReactCommon/react/renderer/timeline/Timeline.cpp +7 -8
- package/ReactCommon/react/renderer/timeline/TimelineController.cpp +3 -5
- package/ReactCommon/react/renderer/timeline/TimelineFrame.cpp +2 -4
- package/ReactCommon/react/renderer/timeline/TimelineHandler.cpp +3 -5
- package/ReactCommon/react/renderer/timeline/TimelineHandler.h +2 -2
- package/ReactCommon/react/renderer/timeline/TimelineSnapshot.cpp +2 -4
- package/ReactCommon/react/renderer/uimanager/BUCK +2 -5
- package/ReactCommon/react/renderer/uimanager/CMakeLists.txt +8 -1
- package/ReactCommon/react/renderer/uimanager/UIManager.cpp +13 -16
- package/ReactCommon/react/renderer/uimanager/UIManager.h +1 -1
- package/ReactCommon/react/renderer/uimanager/UIManagerBinding.cpp +50 -54
- package/ReactCommon/react/renderer/uimanager/UIManagerBinding.h +1 -7
- package/ReactCommon/react/renderer/uimanager/UIManagerDelegate.h +0 -9
- package/ReactCommon/react/test_utils/BUCK +1 -1
- package/ReactCommon/react/test_utils/shadowTreeGeneration.h +6 -0
- package/ReactCommon/react/utils/BUCK +2 -6
- package/ReactCommon/react/utils/CMakeLists.txt +2 -0
- package/ReactCommon/react/utils/ManagedObjectWrapper.h +1 -1
- package/ReactCommon/react/utils/ManagedObjectWrapper.mm +1 -3
- package/ReactCommon/reactperflogger/BUCK +1 -1
- package/ReactCommon/reactperflogger/CMakeLists.txt +7 -1
- package/ReactCommon/runtimeexecutor/BUCK +1 -1
- package/ReactCommon/runtimeexecutor/CMakeLists.txt +7 -1
- package/ReactCommon/yoga/CMakeLists.txt +7 -1
- package/ReactCommon/yoga/yoga/CompactValue.h +49 -29
- package/ReactCommon/yoga/yoga/Utils.cpp +4 -0
- package/ReactCommon/yoga/yoga/YGEnums.cpp +14 -0
- package/ReactCommon/yoga/yoga/YGEnums.h +31 -52
- package/ReactCommon/yoga/yoga/YGMacros.h +43 -0
- package/ReactCommon/yoga/yoga/YGNode.cpp +33 -0
- package/ReactCommon/yoga/yoga/YGNode.h +11 -0
- package/ReactCommon/yoga/yoga/YGNodePrint.cpp +14 -0
- package/ReactCommon/yoga/yoga/YGStyle.cpp +1 -1
- package/ReactCommon/yoga/yoga/YGStyle.h +5 -0
- package/ReactCommon/yoga/yoga/Yoga.cpp +76 -29
- package/ReactCommon/yoga/yoga/Yoga.h +7 -0
- package/ReactCommon/yoga/yoga/event/event.h +3 -0
- package/flow/jest.js +2 -2
- package/flow-typed/npm/{react-dom_v16.x.x.js → react-dom_v17.x.x.js} +58 -31
- package/flow-typed/npm/yargs_v17.x.x.js +341 -0
- package/index.js +89 -55
- package/interface.js +8 -0
- package/jest/react-native-env.js +16 -0
- package/jest/renderer.js +2 -2
- package/jest/setup.js +5 -8
- package/jest-preset.js +1 -1
- package/package.json +56 -43
- package/react.gradle +20 -16
- package/scripts/cocoapods/codegen.rb +4 -1
- package/scripts/cocoapods/codegen_utils.rb +30 -15
- package/scripts/cocoapods/fabric.rb +8 -11
- package/scripts/cocoapods/flipper.rb +1 -1
- package/scripts/cocoapods/jsengine.rb +72 -0
- package/scripts/cocoapods/new_architecture.rb +40 -1
- package/scripts/cocoapods/utils.rb +8 -12
- package/scripts/codegen/generate-artifacts-executor.js +1 -1
- package/scripts/codegen/generate-specs-cli-executor.js +4 -4
- package/scripts/{generate-artifacts.js → generate-codegen-artifacts.js} +0 -0
- package/scripts/hermes/hermes-utils.js +135 -60
- package/scripts/hermes/prepare-hermes-for-build.js +9 -8
- package/scripts/native_modules.rb +6 -0
- package/scripts/packager.sh +1 -1
- package/scripts/react-native-xcode.sh +19 -6
- package/scripts/react_native_pods.rb +69 -15
- package/scripts/react_native_pods_utils/script_phases.sh +1 -1
- package/sdks/.hermesversion +1 -1
- package/sdks/hermes-engine/hermes-engine.podspec +100 -41
- package/sdks/hermes-engine/hermes-utils.rb +26 -0
- package/sdks/hermes-engine/utils/build-apple-framework.sh +84 -44
- package/sdks/hermes-engine/utils/build-hermes-xcode.sh +65 -0
- package/sdks/hermes-engine/utils/build-hermesc-xcode.sh +22 -0
- package/sdks/hermes-engine/utils/build-ios-framework.sh +2 -1
- package/sdks/hermes-engine/utils/build-mac-framework.sh +2 -1
- package/sdks/hermes-engine/utils/copy-hermes-xcode.sh +22 -0
- package/sdks/hermesc/linux64-bin/hermesc +0 -0
- package/sdks/hermesc/osx-bin/hermesc +0 -0
- package/sdks/hermesc/win64-bin/hermesc.exe +0 -0
- package/template/{App.js → App.tsx} +10 -9
- package/template/Gemfile +2 -2
- package/template/__tests__/{App-test.js → App-test.tsx} +0 -0
- package/template/_eslintrc.js +2 -0
- package/template/_gitignore +5 -6
- package/template/_ruby-version +1 -1
- package/template/android/app/build.gradle +65 -208
- package/template/android/app/src/debug/java/com/helloworld/ReactNativeFlipper.java +4 -2
- package/template/android/app/src/main/AndroidManifest.xml +1 -2
- package/template/android/app/src/main/java/com/helloworld/MainActivity.java +13 -26
- package/template/android/app/src/main/java/com/helloworld/MainApplication.java +18 -47
- package/template/android/app/src/release/java/com/helloworld/ReactNativeFlipper.java +20 -0
- package/template/android/build.gradle +7 -21
- package/template/android/gradle.properties +4 -0
- package/template/android/settings.gradle +0 -7
- package/template/ios/HelloWorld/AppDelegate.h +2 -4
- package/template/ios/HelloWorld/AppDelegate.mm +9 -110
- package/template/ios/HelloWorld/Info.plist +2 -2
- package/template/ios/HelloWorld.xcodeproj/project.pbxproj +2 -0
- package/template/ios/Podfile +7 -5
- package/template/package.json +19 -10
- package/template/tsconfig.json +3 -0
- package/third-party-podspecs/RCT-Folly.podspec +1 -1
- package/third-party-podspecs/boost.podspec +1 -1
- package/types/.npmignore +1 -0
- package/types/index.d.ts +212 -0
- package/types/modules/BatchedBridge.d.ts +32 -0
- package/types/modules/Codegen.d.ts +74 -0
- package/types/modules/Devtools.d.ts +31 -0
- package/types/modules/LaunchScreen.d.ts +18 -0
- package/types/modules/globals.d.ts +577 -0
- package/types/private/TimerMixin.d.ts +19 -0
- package/{React/Views/RCTMaskedView.h → types/private/Utilities.d.ts} +4 -8
- package/types/public/DeprecatedPropertiesAlias.d.ts +205 -0
- package/types/public/Insets.d.ts +15 -0
- package/types/public/ReactNativeRenderer.d.ts +149 -0
- package/types/public/ReactNativeTypes.d.ts +141 -0
- package/types/tsconfig.json +15 -0
- package/types/tslint.json +23 -0
- package/Libraries/Components/MaskedView/MaskedViewIOS.ios.js +0 -93
- package/Libraries/Components/MaskedView/RCTMaskedViewNativeComponent.js +0 -21
- package/Libraries/Core/setUpSystrace.js +0 -21
- package/Libraries/Image/ImagePickerIOS.js +0 -103
- package/Libraries/Image/NativeImagePickerIOS.js +0 -38
- package/Libraries/Storage/AsyncStorage.js +0 -385
- package/Libraries/Storage/NativeAsyncLocalStorage.js +0 -44
- package/Libraries/Storage/NativeAsyncSQLiteDBStorage.js +0 -44
- package/Libraries/Utilities/JSDevSupportModule.js +0 -37
- package/Libraries/Utilities/NativeJSDevSupport.js +0 -23
- package/React/CoreModules/RCTAsyncLocalStorage.h +0 -41
- package/React/CoreModules/RCTAsyncLocalStorage.mm +0 -470
- package/React/Views/RCTMaskedView.m +0 -34
- package/React/Views/RCTMaskedViewManager.m +0 -26
- package/ReactAndroid/cmake-utils/Android-prebuilt.cmake +0 -231
- package/ReactAndroid/src/main/java/com/facebook/react/JSInterpreter.java +0 -18
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/JSDevSupport.java +0 -103
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/viewPropConversions.h +0 -540
- package/ReactAndroid/src/main/java/com/facebook/react/modules/storage/AsyncLocalStorageUtil.java +0 -125
- package/ReactAndroid/src/main/java/com/facebook/react/modules/storage/AsyncStorageErrorUtil.java +0 -38
- package/ReactAndroid/src/main/java/com/facebook/react/modules/storage/AsyncStorageModule.java +0 -433
- package/ReactAndroid/src/main/java/com/facebook/react/modules/storage/BUCK +0 -27
- package/ReactAndroid/src/main/java/com/facebook/react/modules/storage/ReactDatabaseSupplier.java +0 -163
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIImplementationProvider.java +0 -72
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/LockFreeEventDispatcherImpl.java +0 -242
- package/ReactAndroid/src/main/jni/first-party/fbjni/.gitignore +0 -2
- package/ReactAndroid/src/main/jni/first-party/fbjni/Android.mk +0 -14
- package/ReactAndroid/src/main/jni/first-party/fbjni/CMakeLists.txt +0 -15
- package/ReactCommon/hermes/inspector/chrome/AutoAttachUtils.cpp +0 -151
- package/ReactCommon/hermes/inspector/tools/msggen/.babelrc +0 -8
- package/ReactCommon/hermes/inspector/tools/msggen/.gitignore +0 -3
- package/ReactCommon/hermes/inspector/tools/msggen/__tests__/CommandTest.js +0 -62
- package/ReactCommon/hermes/inspector/tools/msggen/__tests__/EventTest.js +0 -47
- package/ReactCommon/hermes/inspector/tools/msggen/__tests__/GraphTest.js +0 -78
- package/ReactCommon/hermes/inspector/tools/msggen/__tests__/HeaderWriterTest.js +0 -128
- package/ReactCommon/hermes/inspector/tools/msggen/__tests__/ImplementationWriterTest.js +0 -171
- package/ReactCommon/hermes/inspector/tools/msggen/__tests__/PropertyTest.js +0 -131
- package/ReactCommon/hermes/inspector/tools/msggen/__tests__/TypeTest.js +0 -50
- package/ReactCommon/hermes/inspector/tools/msggen/package.json +0 -41
- package/ReactCommon/hermes/inspector/tools/msggen/src/Command.js +0 -79
- package/ReactCommon/hermes/inspector/tools/msggen/src/Converters.js +0 -39
- package/ReactCommon/hermes/inspector/tools/msggen/src/Event.js +0 -57
- package/ReactCommon/hermes/inspector/tools/msggen/src/GeneratedHeader.js +0 -16
- package/ReactCommon/hermes/inspector/tools/msggen/src/Graph.js +0 -90
- package/ReactCommon/hermes/inspector/tools/msggen/src/HeaderWriter.js +0 -323
- package/ReactCommon/hermes/inspector/tools/msggen/src/ImplementationWriter.js +0 -421
- package/ReactCommon/hermes/inspector/tools/msggen/src/Property.js +0 -219
- package/ReactCommon/hermes/inspector/tools/msggen/src/TestHelpers.js +0 -40
- package/ReactCommon/hermes/inspector/tools/msggen/src/Type.js +0 -98
- package/ReactCommon/hermes/inspector/tools/msggen/src/custom.json +0 -26
- package/ReactCommon/hermes/inspector/tools/msggen/src/index.js +0 -251
- package/ReactCommon/hermes/inspector/tools/msggen/yarn.lock +0 -6088
- package/android/com/facebook/react/hermes-engine/0.70.6/hermes-engine-0.70.6-debug-sources.jar +0 -0
- package/android/com/facebook/react/hermes-engine/0.70.6/hermes-engine-0.70.6-debug-sources.jar.md5 +0 -1
- package/android/com/facebook/react/hermes-engine/0.70.6/hermes-engine-0.70.6-debug-sources.jar.sha1 +0 -1
- package/android/com/facebook/react/hermes-engine/0.70.6/hermes-engine-0.70.6-debug-sources.jar.sha256 +0 -1
- package/android/com/facebook/react/hermes-engine/0.70.6/hermes-engine-0.70.6-debug-sources.jar.sha512 +0 -1
- package/android/com/facebook/react/hermes-engine/0.70.6/hermes-engine-0.70.6-debug.aar +0 -0
- package/android/com/facebook/react/hermes-engine/0.70.6/hermes-engine-0.70.6-debug.aar.md5 +0 -1
- package/android/com/facebook/react/hermes-engine/0.70.6/hermes-engine-0.70.6-debug.aar.sha1 +0 -1
- package/android/com/facebook/react/hermes-engine/0.70.6/hermes-engine-0.70.6-debug.aar.sha256 +0 -1
- package/android/com/facebook/react/hermes-engine/0.70.6/hermes-engine-0.70.6-debug.aar.sha512 +0 -1
- package/android/com/facebook/react/hermes-engine/0.70.6/hermes-engine-0.70.6-release-sources.jar +0 -0
- package/android/com/facebook/react/hermes-engine/0.70.6/hermes-engine-0.70.6-release-sources.jar.md5 +0 -1
- package/android/com/facebook/react/hermes-engine/0.70.6/hermes-engine-0.70.6-release-sources.jar.sha1 +0 -1
- package/android/com/facebook/react/hermes-engine/0.70.6/hermes-engine-0.70.6-release-sources.jar.sha256 +0 -1
- package/android/com/facebook/react/hermes-engine/0.70.6/hermes-engine-0.70.6-release-sources.jar.sha512 +0 -1
- package/android/com/facebook/react/hermes-engine/0.70.6/hermes-engine-0.70.6-release.aar +0 -0
- package/android/com/facebook/react/hermes-engine/0.70.6/hermes-engine-0.70.6-release.aar.md5 +0 -1
- package/android/com/facebook/react/hermes-engine/0.70.6/hermes-engine-0.70.6-release.aar.sha1 +0 -1
- package/android/com/facebook/react/hermes-engine/0.70.6/hermes-engine-0.70.6-release.aar.sha256 +0 -1
- package/android/com/facebook/react/hermes-engine/0.70.6/hermes-engine-0.70.6-release.aar.sha512 +0 -1
- package/android/com/facebook/react/hermes-engine/0.70.6/hermes-engine-0.70.6.module +0 -204
- package/android/com/facebook/react/hermes-engine/0.70.6/hermes-engine-0.70.6.module.md5 +0 -1
- package/android/com/facebook/react/hermes-engine/0.70.6/hermes-engine-0.70.6.module.sha1 +0 -1
- package/android/com/facebook/react/hermes-engine/0.70.6/hermes-engine-0.70.6.module.sha256 +0 -1
- package/android/com/facebook/react/hermes-engine/0.70.6/hermes-engine-0.70.6.module.sha512 +0 -1
- package/android/com/facebook/react/hermes-engine/0.70.6/hermes-engine-0.70.6.pom +0 -44
- package/android/com/facebook/react/hermes-engine/0.70.6/hermes-engine-0.70.6.pom.md5 +0 -1
- package/android/com/facebook/react/hermes-engine/0.70.6/hermes-engine-0.70.6.pom.sha1 +0 -1
- package/android/com/facebook/react/hermes-engine/0.70.6/hermes-engine-0.70.6.pom.sha256 +0 -1
- package/android/com/facebook/react/hermes-engine/0.70.6/hermes-engine-0.70.6.pom.sha512 +0 -1
- package/android/com/facebook/react/hermes-engine/maven-metadata.xml +0 -13
- package/android/com/facebook/react/hermes-engine/maven-metadata.xml.md5 +0 -1
- package/android/com/facebook/react/hermes-engine/maven-metadata.xml.sha1 +0 -1
- package/android/com/facebook/react/hermes-engine/maven-metadata.xml.sha256 +0 -1
- package/android/com/facebook/react/hermes-engine/maven-metadata.xml.sha512 +0 -1
- package/android/com/facebook/react/react-native/0.70.6/react-native-0.70.6-debug-sources.jar +0 -0
- package/android/com/facebook/react/react-native/0.70.6/react-native-0.70.6-debug-sources.jar.md5 +0 -1
- package/android/com/facebook/react/react-native/0.70.6/react-native-0.70.6-debug-sources.jar.sha1 +0 -1
- package/android/com/facebook/react/react-native/0.70.6/react-native-0.70.6-debug-sources.jar.sha256 +0 -1
- package/android/com/facebook/react/react-native/0.70.6/react-native-0.70.6-debug-sources.jar.sha512 +0 -1
- package/android/com/facebook/react/react-native/0.70.6/react-native-0.70.6-debug.aar +0 -0
- package/android/com/facebook/react/react-native/0.70.6/react-native-0.70.6-debug.aar.md5 +0 -1
- package/android/com/facebook/react/react-native/0.70.6/react-native-0.70.6-debug.aar.sha1 +0 -1
- package/android/com/facebook/react/react-native/0.70.6/react-native-0.70.6-debug.aar.sha256 +0 -1
- package/android/com/facebook/react/react-native/0.70.6/react-native-0.70.6-debug.aar.sha512 +0 -1
- package/android/com/facebook/react/react-native/0.70.6/react-native-0.70.6-release-sources.jar +0 -0
- package/android/com/facebook/react/react-native/0.70.6/react-native-0.70.6-release-sources.jar.md5 +0 -1
- package/android/com/facebook/react/react-native/0.70.6/react-native-0.70.6-release-sources.jar.sha1 +0 -1
- package/android/com/facebook/react/react-native/0.70.6/react-native-0.70.6-release-sources.jar.sha256 +0 -1
- package/android/com/facebook/react/react-native/0.70.6/react-native-0.70.6-release-sources.jar.sha512 +0 -1
- package/android/com/facebook/react/react-native/0.70.6/react-native-0.70.6-release.aar +0 -0
- package/android/com/facebook/react/react-native/0.70.6/react-native-0.70.6-release.aar.md5 +0 -1
- package/android/com/facebook/react/react-native/0.70.6/react-native-0.70.6-release.aar.sha1 +0 -1
- package/android/com/facebook/react/react-native/0.70.6/react-native-0.70.6-release.aar.sha256 +0 -1
- package/android/com/facebook/react/react-native/0.70.6/react-native-0.70.6-release.aar.sha512 +0 -1
- package/android/com/facebook/react/react-native/0.70.6/react-native-0.70.6.module +0 -628
- package/android/com/facebook/react/react-native/0.70.6/react-native-0.70.6.module.md5 +0 -1
- package/android/com/facebook/react/react-native/0.70.6/react-native-0.70.6.module.sha1 +0 -1
- package/android/com/facebook/react/react-native/0.70.6/react-native-0.70.6.module.sha256 +0 -1
- package/android/com/facebook/react/react-native/0.70.6/react-native-0.70.6.module.sha512 +0 -1
- package/android/com/facebook/react/react-native/0.70.6/react-native-0.70.6.pom +0 -156
- package/android/com/facebook/react/react-native/0.70.6/react-native-0.70.6.pom.md5 +0 -1
- package/android/com/facebook/react/react-native/0.70.6/react-native-0.70.6.pom.sha1 +0 -1
- package/android/com/facebook/react/react-native/0.70.6/react-native-0.70.6.pom.sha256 +0 -1
- package/android/com/facebook/react/react-native/0.70.6/react-native-0.70.6.pom.sha512 +0 -1
- package/android/com/facebook/react/react-native/maven-metadata.xml +0 -13
- package/android/com/facebook/react/react-native/maven-metadata.xml.md5 +0 -1
- package/android/com/facebook/react/react-native/maven-metadata.xml.sha1 +0 -1
- package/android/com/facebook/react/react-native/maven-metadata.xml.sha256 +0 -1
- package/android/com/facebook/react/react-native/maven-metadata.xml.sha512 +0 -1
- package/scripts/cocoapods/hermes.rb +0 -20
- package/template/_buckconfig +0 -6
- package/template/_flowconfig +0 -66
- package/template/android/app/_BUCK +0 -55
- package/template/android/app/build_defs.bzl +0 -19
- package/template/android/app/src/main/java/com/helloworld/newarchitecture/MainApplicationReactNativeHost.java +0 -116
- package/template/android/app/src/main/java/com/helloworld/newarchitecture/components/MainComponentsRegistry.java +0 -36
- package/template/android/app/src/main/java/com/helloworld/newarchitecture/modules/MainApplicationTurboModuleManagerDelegate.java +0 -48
- package/template/android/app/src/main/jni/CMakeLists.txt +0 -7
- package/template/android/app/src/main/jni/MainApplicationModuleProvider.cpp +0 -32
- package/template/android/app/src/main/jni/MainApplicationModuleProvider.h +0 -16
- package/template/android/app/src/main/jni/MainApplicationTurboModuleManagerDelegate.cpp +0 -45
- package/template/android/app/src/main/jni/MainApplicationTurboModuleManagerDelegate.h +0 -38
- package/template/android/app/src/main/jni/MainComponentsRegistry.h +0 -32
- package/template/android/app/src/main/jni/OnLoad.cpp +0 -11
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
#import <React/RCTAssert.h>
|
|
25
25
|
#import <React/RCTLog.h>
|
|
26
26
|
|
|
27
|
-
typedef NS_ENUM(NSInteger, RCTSROpCode)
|
|
27
|
+
typedef NS_ENUM(NSInteger, RCTSROpCode) {
|
|
28
28
|
RCTSROpCodeTextFrame = 0x1,
|
|
29
29
|
RCTSROpCodeBinaryFrame = 0x2,
|
|
30
30
|
// 3-7 reserved.
|
|
@@ -50,7 +50,9 @@ static NSString *const RCTSRWebSocketAppendToSecKeyString = @"258EAFA5-E914-47DA
|
|
|
50
50
|
#ifdef RCTSR_ENABLE_LOG
|
|
51
51
|
#define RCTSRLog(format...) RCTLogInfo(format)
|
|
52
52
|
#else
|
|
53
|
-
#define RCTSRLog(...)
|
|
53
|
+
#define RCTSRLog(...) \
|
|
54
|
+
do { \
|
|
55
|
+
} while (0)
|
|
54
56
|
#endif
|
|
55
57
|
|
|
56
58
|
// This is a hack, and probably not optimal
|
|
@@ -59,7 +61,10 @@ static inline int32_t validate_dispatch_data_partial_string(NSData *data)
|
|
|
59
61
|
static const int maxCodepointSize = 3;
|
|
60
62
|
|
|
61
63
|
for (int i = 0; i < maxCodepointSize; i++) {
|
|
62
|
-
NSString *str = [[NSString alloc] initWithBytesNoCopy:(char *)data.bytes
|
|
64
|
+
NSString *str = [[NSString alloc] initWithBytesNoCopy:(char *)data.bytes
|
|
65
|
+
length:data.length - i
|
|
66
|
+
encoding:NSUTF8StringEncoding
|
|
67
|
+
freeWhenDone:NO];
|
|
63
68
|
if (str) {
|
|
64
69
|
return (int32_t)data.length - i;
|
|
65
70
|
}
|
|
@@ -74,14 +79,12 @@ static inline int32_t validate_dispatch_data_partial_string(NSData *data)
|
|
|
74
79
|
|
|
75
80
|
@end
|
|
76
81
|
|
|
77
|
-
|
|
78
82
|
@interface NSString (RCTSRWebSocket)
|
|
79
83
|
|
|
80
84
|
@property (nonatomic, readonly, copy) NSString *stringBySHA1ThenBase64Encoding;
|
|
81
85
|
|
|
82
86
|
@end
|
|
83
87
|
|
|
84
|
-
|
|
85
88
|
@interface NSURL (RCTSRWebSocket)
|
|
86
89
|
|
|
87
90
|
// The origin isn't really applicable for a native application.
|
|
@@ -90,14 +93,12 @@ static inline int32_t validate_dispatch_data_partial_string(NSData *data)
|
|
|
90
93
|
|
|
91
94
|
@end
|
|
92
95
|
|
|
93
|
-
|
|
94
96
|
@interface _RCTSRRunLoopThread : NSThread
|
|
95
97
|
|
|
96
98
|
@property (nonatomic, readonly) NSRunLoop *runLoop;
|
|
97
99
|
|
|
98
100
|
@end
|
|
99
101
|
|
|
100
|
-
|
|
101
102
|
static NSString *newSHA1String(const char *bytes, size_t length)
|
|
102
103
|
{
|
|
103
104
|
uint8_t md[CC_SHA1_DIGEST_LENGTH];
|
|
@@ -119,7 +120,6 @@ static NSString *newSHA1String(const char *bytes, size_t length)
|
|
|
119
120
|
|
|
120
121
|
@end
|
|
121
122
|
|
|
122
|
-
|
|
123
123
|
@implementation NSString (RCTSRWebSocket)
|
|
124
124
|
|
|
125
125
|
- (NSString *)stringBySHA1ThenBase64Encoding
|
|
@@ -136,7 +136,7 @@ NSString *const RCTSRHTTPResponseErrorKey = @"HTTPResponseStatusCode";
|
|
|
136
136
|
// Sends bytes to callback handler;
|
|
137
137
|
typedef size_t (^stream_scanner)(NSData *collected_data);
|
|
138
138
|
|
|
139
|
-
typedef void (^data_callback)(RCTSRWebSocket *webSocket,
|
|
139
|
+
typedef void (^data_callback)(RCTSRWebSocket *webSocket, NSData *data);
|
|
140
140
|
|
|
141
141
|
@interface RCTSRIOConsumer : NSObject
|
|
142
142
|
|
|
@@ -153,12 +153,16 @@ typedef void (^data_callback)(RCTSRWebSocket *webSocket, NSData *data);
|
|
|
153
153
|
|
|
154
154
|
- (instancetype)initWithBufferCapacity:(NSUInteger)poolSize NS_DESIGNATED_INITIALIZER;
|
|
155
155
|
|
|
156
|
-
- (RCTSRIOConsumer *)consumerWithScanner:(stream_scanner)scanner
|
|
156
|
+
- (RCTSRIOConsumer *)consumerWithScanner:(stream_scanner)scanner
|
|
157
|
+
handler:(data_callback)handler
|
|
158
|
+
bytesNeeded:(size_t)bytesNeeded
|
|
159
|
+
readToCurrentFrame:(BOOL)readToCurrentFrame
|
|
160
|
+
unmaskBytes:(BOOL)unmaskBytes;
|
|
157
161
|
- (void)returnConsumer:(RCTSRIOConsumer *)consumer;
|
|
158
162
|
|
|
159
163
|
@end
|
|
160
164
|
|
|
161
|
-
@interface RCTSRWebSocket ()
|
|
165
|
+
@interface RCTSRWebSocket () <NSStreamDelegate>
|
|
162
166
|
|
|
163
167
|
@property (nonatomic, assign) RCTSRReadyState readyState;
|
|
164
168
|
|
|
@@ -167,8 +171,7 @@ typedef void (^data_callback)(RCTSRWebSocket *webSocket, NSData *data);
|
|
|
167
171
|
|
|
168
172
|
@end
|
|
169
173
|
|
|
170
|
-
@implementation RCTSRWebSocket
|
|
171
|
-
{
|
|
174
|
+
@implementation RCTSRWebSocket {
|
|
172
175
|
NSInteger _webSocketVersion;
|
|
173
176
|
|
|
174
177
|
NSOperationQueue *_delegateOperationQueue;
|
|
@@ -216,7 +219,7 @@ typedef void (^data_callback)(RCTSRWebSocket *webSocket, NSData *data);
|
|
|
216
219
|
int _closeCode;
|
|
217
220
|
|
|
218
221
|
BOOL _isPumping;
|
|
219
|
-
|
|
222
|
+
|
|
220
223
|
BOOL _cleanupScheduled;
|
|
221
224
|
|
|
222
225
|
NSMutableSet<NSArray *> *_scheduledRunloops;
|
|
@@ -243,7 +246,7 @@ typedef void (^data_callback)(RCTSRWebSocket *webSocket, NSData *data);
|
|
|
243
246
|
return self;
|
|
244
247
|
}
|
|
245
248
|
|
|
246
|
-
RCT_NOT_IMPLEMENTED(-
|
|
249
|
+
RCT_NOT_IMPLEMENTED(-(instancetype)init)
|
|
247
250
|
|
|
248
251
|
- (instancetype)initWithURLRequest:(NSURLRequest *)request
|
|
249
252
|
{
|
|
@@ -280,7 +283,9 @@ RCT_NOT_IMPLEMENTED(- (instancetype)init)
|
|
|
280
283
|
- (void)_RCTSR_commonInit
|
|
281
284
|
{
|
|
282
285
|
NSString *scheme = _url.scheme.lowercaseString;
|
|
283
|
-
assert(
|
|
286
|
+
assert(
|
|
287
|
+
[scheme isEqualToString:@"ws"] || [scheme isEqualToString:@"http"] || [scheme isEqualToString:@"wss"] ||
|
|
288
|
+
[scheme isEqualToString:@"https"]);
|
|
284
289
|
|
|
285
290
|
if ([scheme isEqualToString:@"wss"] || [scheme isEqualToString:@"https"]) {
|
|
286
291
|
_secure = YES;
|
|
@@ -325,7 +330,7 @@ RCT_NOT_IMPLEMENTED(- (instancetype)init)
|
|
|
325
330
|
|
|
326
331
|
[_inputStream close];
|
|
327
332
|
[_outputStream close];
|
|
328
|
-
|
|
333
|
+
|
|
329
334
|
if (_receivedHTTPHeaders) {
|
|
330
335
|
CFRelease(_receivedHTTPHeaders);
|
|
331
336
|
_receivedHTTPHeaders = NULL;
|
|
@@ -372,7 +377,8 @@ RCT_NOT_IMPLEMENTED(- (instancetype)init)
|
|
|
372
377
|
|
|
373
378
|
- (BOOL)_checkHandshake:(CFHTTPMessageRef)httpMessage
|
|
374
379
|
{
|
|
375
|
-
NSString *acceptHeader =
|
|
380
|
+
NSString *acceptHeader =
|
|
381
|
+
CFBridgingRelease(CFHTTPMessageCopyHeaderFieldValue(httpMessage, CFSTR("Sec-WebSocket-Accept")));
|
|
376
382
|
|
|
377
383
|
if (acceptHeader == nil) {
|
|
378
384
|
return NO;
|
|
@@ -390,20 +396,39 @@ RCT_NOT_IMPLEMENTED(- (instancetype)init)
|
|
|
390
396
|
|
|
391
397
|
if (responseCode >= 400) {
|
|
392
398
|
RCTSRLog(@"Request failed with response code %ld", responseCode);
|
|
393
|
-
[self _failWithError:[NSError errorWithDomain:RCTSRWebSocketErrorDomain
|
|
399
|
+
[self _failWithError:[NSError errorWithDomain:RCTSRWebSocketErrorDomain
|
|
400
|
+
code:2132
|
|
401
|
+
userInfo:@{
|
|
402
|
+
NSLocalizedDescriptionKey :
|
|
403
|
+
[NSString stringWithFormat:@"received bad response code from server %ld",
|
|
404
|
+
(long)responseCode],
|
|
405
|
+
RCTSRHTTPResponseErrorKey : @(responseCode)
|
|
406
|
+
}]];
|
|
394
407
|
return;
|
|
395
408
|
}
|
|
396
409
|
|
|
397
410
|
if (![self _checkHandshake:_receivedHTTPHeaders]) {
|
|
398
|
-
[self _failWithError:[NSError errorWithDomain:RCTSRWebSocketErrorDomain
|
|
411
|
+
[self _failWithError:[NSError errorWithDomain:RCTSRWebSocketErrorDomain
|
|
412
|
+
code:2133
|
|
413
|
+
userInfo:@{
|
|
414
|
+
NSLocalizedDescriptionKey :
|
|
415
|
+
[NSString stringWithFormat:@"Invalid Sec-WebSocket-Accept response"]
|
|
416
|
+
}]];
|
|
399
417
|
return;
|
|
400
418
|
}
|
|
401
419
|
|
|
402
|
-
NSString *negotiatedProtocol =
|
|
420
|
+
NSString *negotiatedProtocol =
|
|
421
|
+
CFBridgingRelease(CFHTTPMessageCopyHeaderFieldValue(_receivedHTTPHeaders, CFSTR("Sec-WebSocket-Protocol")));
|
|
403
422
|
if (negotiatedProtocol) {
|
|
404
423
|
// Make sure we requested the protocol
|
|
405
424
|
if ([_requestedProtocols indexOfObject:negotiatedProtocol] == NSNotFound) {
|
|
406
|
-
[self _failWithError:
|
|
425
|
+
[self _failWithError:
|
|
426
|
+
[NSError errorWithDomain:RCTSRWebSocketErrorDomain
|
|
427
|
+
code:2133
|
|
428
|
+
userInfo:@{
|
|
429
|
+
NSLocalizedDescriptionKey : [NSString
|
|
430
|
+
stringWithFormat:@"Server specified Sec-WebSocket-Protocol that wasn't requested"]
|
|
431
|
+
}]];
|
|
407
432
|
return;
|
|
408
433
|
}
|
|
409
434
|
|
|
@@ -429,11 +454,12 @@ RCT_NOT_IMPLEMENTED(- (instancetype)init)
|
|
|
429
454
|
_receivedHTTPHeaders = CFHTTPMessageCreateEmpty(NULL, NO);
|
|
430
455
|
}
|
|
431
456
|
|
|
432
|
-
[self _readUntilHeaderCompleteWithCallback:^(RCTSRWebSocket *socket,
|
|
457
|
+
[self _readUntilHeaderCompleteWithCallback:^(RCTSRWebSocket *socket, NSData *data) {
|
|
433
458
|
CFHTTPMessageAppendBytes(self->_receivedHTTPHeaders, (const UInt8 *)data.bytes, data.length);
|
|
434
459
|
|
|
435
460
|
if (CFHTTPMessageIsHeaderComplete(self->_receivedHTTPHeaders)) {
|
|
436
|
-
RCTSRLog(
|
|
461
|
+
RCTSRLog(
|
|
462
|
+
@"Finished reading headers %@", CFBridgingRelease(CFHTTPMessageCopyAllHeaderFields(_receivedHTTPHeaders)));
|
|
437
463
|
[socket _HTTPHeadersDidFinish];
|
|
438
464
|
} else {
|
|
439
465
|
[socket _readHTTPHeader];
|
|
@@ -447,7 +473,10 @@ RCT_NOT_IMPLEMENTED(- (instancetype)init)
|
|
|
447
473
|
CFHTTPMessageRef request = CFHTTPMessageCreateRequest(NULL, CFSTR("GET"), (__bridge CFURLRef)_url, kCFHTTPVersion1_1);
|
|
448
474
|
|
|
449
475
|
// Set host first so it defaults
|
|
450
|
-
CFHTTPMessageSetHeaderFieldValue(
|
|
476
|
+
CFHTTPMessageSetHeaderFieldValue(
|
|
477
|
+
request,
|
|
478
|
+
CFSTR("Host"),
|
|
479
|
+
(__bridge CFStringRef)(_url.port ? [NSString stringWithFormat:@"%@:%@", _url.host, _url.port] : _url.host));
|
|
451
480
|
|
|
452
481
|
NSMutableData *keyBytes = [[NSMutableData alloc] initWithLength:16];
|
|
453
482
|
int result __unused = SecRandomCopyBytes(kSecRandomDefault, keyBytes.length, keyBytes.mutableBytes);
|
|
@@ -458,12 +487,18 @@ RCT_NOT_IMPLEMENTED(- (instancetype)init)
|
|
|
458
487
|
CFHTTPMessageSetHeaderFieldValue(request, CFSTR("Upgrade"), CFSTR("websocket"));
|
|
459
488
|
CFHTTPMessageSetHeaderFieldValue(request, CFSTR("Connection"), CFSTR("Upgrade"));
|
|
460
489
|
CFHTTPMessageSetHeaderFieldValue(request, CFSTR("Sec-WebSocket-Key"), (__bridge CFStringRef)_secKey);
|
|
461
|
-
CFHTTPMessageSetHeaderFieldValue(
|
|
490
|
+
CFHTTPMessageSetHeaderFieldValue(
|
|
491
|
+
request,
|
|
492
|
+
CFSTR("Sec-WebSocket-Version"),
|
|
493
|
+
(__bridge CFStringRef)[NSString stringWithFormat:@"%ld", (long)_webSocketVersion]);
|
|
462
494
|
|
|
463
495
|
CFHTTPMessageSetHeaderFieldValue(request, CFSTR("Origin"), (__bridge CFStringRef)_url.RCTSR_origin);
|
|
464
496
|
|
|
465
497
|
if (_requestedProtocols && _requestedProtocols.count > 0) {
|
|
466
|
-
CFHTTPMessageSetHeaderFieldValue(
|
|
498
|
+
CFHTTPMessageSetHeaderFieldValue(
|
|
499
|
+
request,
|
|
500
|
+
CFSTR("Sec-WebSocket-Protocol"),
|
|
501
|
+
(__bridge CFStringRef)[_requestedProtocols componentsJoinedByString:@", "]);
|
|
467
502
|
}
|
|
468
503
|
|
|
469
504
|
[_urlRequest.allHTTPHeaderFields enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) {
|
|
@@ -499,11 +534,11 @@ RCT_NOT_IMPLEMENTED(- (instancetype)init)
|
|
|
499
534
|
_outputStream = CFBridgingRelease(writeStream);
|
|
500
535
|
_inputStream = CFBridgingRelease(readStream);
|
|
501
536
|
|
|
502
|
-
|
|
503
537
|
if (_secure) {
|
|
504
538
|
NSMutableDictionary<NSString *, id> *SSLOptions = [NSMutableDictionary new];
|
|
505
539
|
|
|
506
|
-
[_outputStream setProperty:(__bridge id)kCFStreamSocketSecurityLevelNegotiatedSSL
|
|
540
|
+
[_outputStream setProperty:(__bridge id)kCFStreamSocketSecurityLevelNegotiatedSSL
|
|
541
|
+
forKey:(__bridge id)kCFStreamPropertySocketSecurityLevel];
|
|
507
542
|
|
|
508
543
|
// If we're using pinned certs, don't validate the certificate chain
|
|
509
544
|
if (_urlRequest.RCTSR_SSLPinnedCertificates.count) {
|
|
@@ -515,8 +550,7 @@ RCT_NOT_IMPLEMENTED(- (instancetype)init)
|
|
|
515
550
|
RCTLogInfo(@"SocketRocket: In debug mode. Allowing connection to any root cert");
|
|
516
551
|
#endif
|
|
517
552
|
|
|
518
|
-
[_outputStream setProperty:SSLOptions
|
|
519
|
-
forKey:(__bridge id)kCFStreamPropertySSLSettings];
|
|
553
|
+
[_outputStream setProperty:SSLOptions forKey:(__bridge id)kCFStreamPropertySSLSettings];
|
|
520
554
|
}
|
|
521
555
|
|
|
522
556
|
_inputStream.delegate = self;
|
|
@@ -538,7 +572,7 @@ RCT_NOT_IMPLEMENTED(- (instancetype)init)
|
|
|
538
572
|
[_outputStream scheduleInRunLoop:aRunLoop forMode:mode];
|
|
539
573
|
[_inputStream scheduleInRunLoop:aRunLoop forMode:mode];
|
|
540
574
|
|
|
541
|
-
[_scheduledRunloops addObject:@[aRunLoop, mode]];
|
|
575
|
+
[_scheduledRunloops addObject:@[ aRunLoop, mode ]];
|
|
542
576
|
}
|
|
543
577
|
|
|
544
578
|
- (void)unscheduleFromRunLoop:(NSRunLoop *)aRunLoop forMode:(NSString *)mode
|
|
@@ -546,7 +580,7 @@ RCT_NOT_IMPLEMENTED(- (instancetype)init)
|
|
|
546
580
|
[_outputStream removeFromRunLoop:aRunLoop forMode:mode];
|
|
547
581
|
[_inputStream removeFromRunLoop:aRunLoop forMode:mode];
|
|
548
582
|
|
|
549
|
-
[_scheduledRunloops removeObject:@[aRunLoop, mode]];
|
|
583
|
+
[_scheduledRunloops removeObject:@[ aRunLoop, mode ]];
|
|
550
584
|
}
|
|
551
585
|
|
|
552
586
|
- (void)close
|
|
@@ -584,7 +618,13 @@ RCT_NOT_IMPLEMENTED(- (instancetype)init)
|
|
|
584
618
|
|
|
585
619
|
NSUInteger usedLength = 0;
|
|
586
620
|
|
|
587
|
-
BOOL success __unused = [reason getBytes:(char *)mutablePayload.mutableBytes + sizeof(uint16_t)
|
|
621
|
+
BOOL success __unused = [reason getBytes:(char *)mutablePayload.mutableBytes + sizeof(uint16_t)
|
|
622
|
+
maxLength:payload.length - sizeof(uint16_t)
|
|
623
|
+
usedLength:&usedLength
|
|
624
|
+
encoding:NSUTF8StringEncoding
|
|
625
|
+
options:NSStringEncodingConversionExternalRepresentation
|
|
626
|
+
range:NSMakeRange(0, reason.length)
|
|
627
|
+
remainingRange:&remainingRange];
|
|
588
628
|
|
|
589
629
|
assert(success);
|
|
590
630
|
assert(remainingRange.length == 0);
|
|
@@ -621,7 +661,7 @@ RCT_NOT_IMPLEMENTED(- (instancetype)init)
|
|
|
621
661
|
}];
|
|
622
662
|
|
|
623
663
|
self.readyState = RCTSR_CLOSED;
|
|
624
|
-
|
|
664
|
+
|
|
625
665
|
RCTSRLog(@"Failing with error %@", error.localizedDescription);
|
|
626
666
|
|
|
627
667
|
[self _disconnect];
|
|
@@ -705,9 +745,7 @@ static inline BOOL closeCodeIsValid(int closeCode)
|
|
|
705
745
|
}
|
|
706
746
|
|
|
707
747
|
if (closeCode >= 1000 && closeCode <= 1011) {
|
|
708
|
-
if (closeCode == 1004 ||
|
|
709
|
-
closeCode == 1005 ||
|
|
710
|
-
closeCode == 1006) {
|
|
748
|
+
if (closeCode == 1004 || closeCode == 1005 || closeCode == 1006) {
|
|
711
749
|
return NO;
|
|
712
750
|
}
|
|
713
751
|
return YES;
|
|
@@ -752,7 +790,8 @@ static inline BOOL closeCodeIsValid(int closeCode)
|
|
|
752
790
|
return;
|
|
753
791
|
}
|
|
754
792
|
if (dataSize > 2) {
|
|
755
|
-
_closeReason = [[NSString alloc] initWithData:[data subdataWithRange:NSMakeRange(2, dataSize - 2)]
|
|
793
|
+
_closeReason = [[NSString alloc] initWithData:[data subdataWithRange:NSMakeRange(2, dataSize - 2)]
|
|
794
|
+
encoding:NSUTF8StringEncoding];
|
|
756
795
|
if (!_closeReason) {
|
|
757
796
|
[self _closeWithProtocolError:@"Close reason MUST be valid UTF-8"];
|
|
758
797
|
return;
|
|
@@ -788,7 +827,8 @@ static inline BOOL closeCodeIsValid(int closeCode)
|
|
|
788
827
|
|
|
789
828
|
// Check that the current data is valid UTF8
|
|
790
829
|
|
|
791
|
-
BOOL isControlFrame =
|
|
830
|
+
BOOL isControlFrame =
|
|
831
|
+
(opcode == RCTSROpCodePing || opcode == RCTSROpCodePong || opcode == RCTSROpCodeConnectionClose);
|
|
792
832
|
if (!isControlFrame) {
|
|
793
833
|
[self _readFrameNew];
|
|
794
834
|
} else {
|
|
@@ -838,7 +878,9 @@ static inline BOOL closeCodeIsValid(int closeCode)
|
|
|
838
878
|
return;
|
|
839
879
|
}
|
|
840
880
|
|
|
841
|
-
BOOL isControlFrame =
|
|
881
|
+
BOOL isControlFrame =
|
|
882
|
+
(frame_header.opcode == RCTSROpCodePing || frame_header.opcode == RCTSROpCodePong ||
|
|
883
|
+
frame_header.opcode == RCTSROpCodeConnectionClose);
|
|
842
884
|
|
|
843
885
|
if (isControlFrame && !frame_header.fin) {
|
|
844
886
|
[self _closeWithProtocolError:@"Fragmented control frames not allowed"];
|
|
@@ -868,19 +910,21 @@ static inline BOOL closeCodeIsValid(int closeCode)
|
|
|
868
910
|
}
|
|
869
911
|
} else {
|
|
870
912
|
assert(frame_header.payload_length <= SIZE_T_MAX);
|
|
871
|
-
[self _addConsumerWithDataLength:(size_t)frame_header.payload_length
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
913
|
+
[self _addConsumerWithDataLength:(size_t)frame_header.payload_length
|
|
914
|
+
callback:^(RCTSRWebSocket *socket, NSData *newData) {
|
|
915
|
+
if (isControlFrame) {
|
|
916
|
+
[socket _handleFrameWithData:newData opCode:frame_header.opcode];
|
|
917
|
+
} else {
|
|
918
|
+
if (frame_header.fin) {
|
|
919
|
+
[socket _handleFrameWithData:socket->_currentFrameData opCode:frame_header.opcode];
|
|
920
|
+
} else {
|
|
921
|
+
// TODO: add assert that opcode is not a control;
|
|
922
|
+
[socket _readFrameContinue];
|
|
923
|
+
}
|
|
924
|
+
}
|
|
925
|
+
}
|
|
926
|
+
readToCurrentFrame:!isControlFrame
|
|
927
|
+
unmaskBytes:frame_header.masked];
|
|
884
928
|
}
|
|
885
929
|
}
|
|
886
930
|
|
|
@@ -906,93 +950,110 @@ static inline BOOL closeCodeIsValid(int closeCode)
|
|
|
906
950
|
+---------------------------------------------------------------+
|
|
907
951
|
*/
|
|
908
952
|
|
|
909
|
-
static const uint8_t RCTSRFinMask
|
|
910
|
-
static const uint8_t RCTSROpCodeMask
|
|
911
|
-
static const uint8_t RCTSRRsvMask
|
|
912
|
-
static const uint8_t RCTSRMaskMask
|
|
913
|
-
static const uint8_t RCTSRPayloadLenMask
|
|
953
|
+
static const uint8_t RCTSRFinMask = 0x80;
|
|
954
|
+
static const uint8_t RCTSROpCodeMask = 0x0F;
|
|
955
|
+
static const uint8_t RCTSRRsvMask = 0x70;
|
|
956
|
+
static const uint8_t RCTSRMaskMask = 0x80;
|
|
957
|
+
static const uint8_t RCTSRPayloadLenMask = 0x7F;
|
|
914
958
|
|
|
915
959
|
- (void)_readFrameContinue
|
|
916
960
|
{
|
|
917
961
|
assert((_currentFrameCount == 0 && _currentFrameOpcode == 0) || (_currentFrameCount > 0 && _currentFrameOpcode > 0));
|
|
918
962
|
|
|
919
|
-
[self
|
|
920
|
-
|
|
921
|
-
|
|
922
|
-
|
|
923
|
-
|
|
924
|
-
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
|
|
935
|
-
|
|
936
|
-
|
|
937
|
-
|
|
938
|
-
|
|
939
|
-
|
|
940
|
-
|
|
941
|
-
|
|
942
|
-
|
|
943
|
-
|
|
944
|
-
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
|
|
948
|
-
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
|
|
952
|
-
|
|
953
|
-
|
|
954
|
-
|
|
955
|
-
|
|
956
|
-
|
|
957
|
-
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
|
|
971
|
-
|
|
972
|
-
|
|
973
|
-
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
|
|
982
|
-
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
|
|
989
|
-
|
|
990
|
-
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
|
|
963
|
+
[self
|
|
964
|
+
_addConsumerWithDataLength:2
|
|
965
|
+
callback:^(RCTSRWebSocket *socket, NSData *data) {
|
|
966
|
+
__block frame_header header = {0};
|
|
967
|
+
|
|
968
|
+
const uint8_t *headerBuffer = data.bytes;
|
|
969
|
+
assert(data.length >= 2);
|
|
970
|
+
|
|
971
|
+
if (headerBuffer[0] & RCTSRRsvMask) {
|
|
972
|
+
[socket _closeWithProtocolError:@"Server used RSV bits"];
|
|
973
|
+
return;
|
|
974
|
+
}
|
|
975
|
+
|
|
976
|
+
uint8_t receivedOpcode = (RCTSROpCodeMask & headerBuffer[0]);
|
|
977
|
+
|
|
978
|
+
BOOL isControlFrame =
|
|
979
|
+
(receivedOpcode == RCTSROpCodePing || receivedOpcode == RCTSROpCodePong ||
|
|
980
|
+
receivedOpcode == RCTSROpCodeConnectionClose);
|
|
981
|
+
|
|
982
|
+
if (!isControlFrame && receivedOpcode != 0 && socket->_currentFrameCount > 0) {
|
|
983
|
+
[socket _closeWithProtocolError:
|
|
984
|
+
@"all data frames after the initial data frame must have opcode 0"];
|
|
985
|
+
return;
|
|
986
|
+
}
|
|
987
|
+
|
|
988
|
+
if (receivedOpcode == 0 && socket->_currentFrameCount == 0) {
|
|
989
|
+
[socket _closeWithProtocolError:@"cannot continue a message"];
|
|
990
|
+
return;
|
|
991
|
+
}
|
|
992
|
+
|
|
993
|
+
header.opcode = receivedOpcode == 0 ? socket->_currentFrameOpcode : receivedOpcode;
|
|
994
|
+
|
|
995
|
+
header.fin = !!(RCTSRFinMask & headerBuffer[0]);
|
|
996
|
+
|
|
997
|
+
header.masked = !!(RCTSRMaskMask & headerBuffer[1]);
|
|
998
|
+
header.payload_length = RCTSRPayloadLenMask & headerBuffer[1];
|
|
999
|
+
|
|
1000
|
+
headerBuffer = NULL;
|
|
1001
|
+
|
|
1002
|
+
if (header.masked) {
|
|
1003
|
+
[socket _closeWithProtocolError:@"Client must receive unmasked data"];
|
|
1004
|
+
}
|
|
1005
|
+
|
|
1006
|
+
size_t extra_bytes_needed = header.masked ? sizeof(self->_currentReadMaskKey) : 0;
|
|
1007
|
+
|
|
1008
|
+
if (header.payload_length == 126) {
|
|
1009
|
+
extra_bytes_needed += sizeof(uint16_t);
|
|
1010
|
+
} else if (header.payload_length == 127) {
|
|
1011
|
+
extra_bytes_needed += sizeof(uint64_t);
|
|
1012
|
+
}
|
|
1013
|
+
|
|
1014
|
+
if (extra_bytes_needed == 0) {
|
|
1015
|
+
[socket _handleFrameHeader:header curData:socket->_currentFrameData];
|
|
1016
|
+
} else {
|
|
1017
|
+
[socket
|
|
1018
|
+
_addConsumerWithDataLength:extra_bytes_needed
|
|
1019
|
+
callback:^(RCTSRWebSocket *_socket, NSData *_data) {
|
|
1020
|
+
size_t mapped_size __unused = _data.length;
|
|
1021
|
+
const void *mapped_buffer = _data.bytes;
|
|
1022
|
+
size_t offset = 0;
|
|
1023
|
+
|
|
1024
|
+
if (header.payload_length == 126) {
|
|
1025
|
+
assert(mapped_size >= sizeof(uint16_t));
|
|
1026
|
+
uint16_t newLen =
|
|
1027
|
+
NSSwapBigShortToHost(*(uint16_t *)(mapped_buffer));
|
|
1028
|
+
header.payload_length = newLen;
|
|
1029
|
+
offset += sizeof(uint16_t);
|
|
1030
|
+
} else if (header.payload_length == 127) {
|
|
1031
|
+
assert(mapped_size >= sizeof(uint64_t));
|
|
1032
|
+
header.payload_length =
|
|
1033
|
+
NSSwapBigLongLongToHost(*(uint64_t *)(mapped_buffer));
|
|
1034
|
+
offset += sizeof(uint64_t);
|
|
1035
|
+
} else {
|
|
1036
|
+
assert(header.payload_length < 126 && header.payload_length >= 0);
|
|
1037
|
+
}
|
|
1038
|
+
|
|
1039
|
+
if (header.masked) {
|
|
1040
|
+
assert(
|
|
1041
|
+
mapped_size >= sizeof(self->_currentReadMaskOffset) + offset);
|
|
1042
|
+
memcpy(
|
|
1043
|
+
_socket->_currentReadMaskKey,
|
|
1044
|
+
((uint8_t *)mapped_buffer) + offset,
|
|
1045
|
+
sizeof(_socket->_currentReadMaskKey));
|
|
1046
|
+
}
|
|
1047
|
+
|
|
1048
|
+
[_socket _handleFrameHeader:header
|
|
1049
|
+
curData:_socket->_currentFrameData];
|
|
1050
|
+
}
|
|
1051
|
+
readToCurrentFrame:NO
|
|
1052
|
+
unmaskBytes:NO];
|
|
1053
|
+
}
|
|
1054
|
+
}
|
|
1055
|
+
readToCurrentFrame:NO
|
|
1056
|
+
unmaskBytes:NO];
|
|
996
1057
|
}
|
|
997
1058
|
|
|
998
1059
|
- (void)_readFrameNew
|
|
@@ -1015,24 +1076,26 @@ static const uint8_t RCTSRPayloadLenMask = 0x7F;
|
|
|
1015
1076
|
|
|
1016
1077
|
NSUInteger dataLength = _outputBuffer.length;
|
|
1017
1078
|
if (dataLength - _outputBufferOffset > 0 && _outputStream.hasSpaceAvailable) {
|
|
1018
|
-
NSInteger bytesWritten = [_outputStream write:_outputBuffer.bytes + _outputBufferOffset
|
|
1079
|
+
NSInteger bytesWritten = [_outputStream write:_outputBuffer.bytes + _outputBufferOffset
|
|
1080
|
+
maxLength:dataLength - _outputBufferOffset];
|
|
1019
1081
|
if (bytesWritten == -1) {
|
|
1020
|
-
[self _failWithError:[NSError errorWithDomain:RCTSRWebSocketErrorDomain
|
|
1082
|
+
[self _failWithError:[NSError errorWithDomain:RCTSRWebSocketErrorDomain
|
|
1083
|
+
code:2145
|
|
1084
|
+
userInfo:@{NSLocalizedDescriptionKey : @"Error writing to stream"}]];
|
|
1021
1085
|
return;
|
|
1022
1086
|
}
|
|
1023
1087
|
|
|
1024
1088
|
_outputBufferOffset += bytesWritten;
|
|
1025
1089
|
|
|
1026
1090
|
if (_outputBufferOffset > 4096 && _outputBufferOffset > (_outputBuffer.length >> 1)) {
|
|
1027
|
-
_outputBuffer = [[NSMutableData alloc] initWithBytes:(char *)_outputBuffer.bytes + _outputBufferOffset
|
|
1091
|
+
_outputBuffer = [[NSMutableData alloc] initWithBytes:(char *)_outputBuffer.bytes + _outputBufferOffset
|
|
1092
|
+
length:_outputBuffer.length - _outputBufferOffset];
|
|
1028
1093
|
_outputBufferOffset = 0;
|
|
1029
1094
|
}
|
|
1030
1095
|
}
|
|
1031
1096
|
|
|
1032
|
-
if (_closeWhenFinishedWriting &&
|
|
1033
|
-
|
|
1034
|
-
(_inputStream.streamStatus != NSStreamStatusNotOpen &&
|
|
1035
|
-
_inputStream.streamStatus != NSStreamStatusClosed) &&
|
|
1097
|
+
if (_closeWhenFinishedWriting && _outputBuffer.length - _outputBufferOffset == 0 &&
|
|
1098
|
+
(_inputStream.streamStatus != NSStreamStatusNotOpen && _inputStream.streamStatus != NSStreamStatusClosed) &&
|
|
1036
1099
|
!_sentClose) {
|
|
1037
1100
|
_sentClose = YES;
|
|
1038
1101
|
|
|
@@ -1054,19 +1117,30 @@ static const uint8_t RCTSRPayloadLenMask = 0x7F;
|
|
|
1054
1117
|
[self _addConsumerWithScanner:consumer callback:callback dataLength:0];
|
|
1055
1118
|
}
|
|
1056
1119
|
|
|
1057
|
-
- (void)_addConsumerWithDataLength:(size_t)dataLength
|
|
1120
|
+
- (void)_addConsumerWithDataLength:(size_t)dataLength
|
|
1121
|
+
callback:(data_callback)callback
|
|
1122
|
+
readToCurrentFrame:(BOOL)readToCurrentFrame
|
|
1123
|
+
unmaskBytes:(BOOL)unmaskBytes
|
|
1058
1124
|
{
|
|
1059
1125
|
[self assertOnWorkQueue];
|
|
1060
1126
|
assert(dataLength);
|
|
1061
1127
|
|
|
1062
|
-
[_consumers addObject:[_consumerPool consumerWithScanner:nil
|
|
1128
|
+
[_consumers addObject:[_consumerPool consumerWithScanner:nil
|
|
1129
|
+
handler:callback
|
|
1130
|
+
bytesNeeded:dataLength
|
|
1131
|
+
readToCurrentFrame:readToCurrentFrame
|
|
1132
|
+
unmaskBytes:unmaskBytes]];
|
|
1063
1133
|
[self _pumpScanner];
|
|
1064
1134
|
}
|
|
1065
1135
|
|
|
1066
1136
|
- (void)_addConsumerWithScanner:(stream_scanner)consumer callback:(data_callback)callback dataLength:(size_t)dataLength
|
|
1067
1137
|
{
|
|
1068
1138
|
[self assertOnWorkQueue];
|
|
1069
|
-
[_consumers addObject:[_consumerPool consumerWithScanner:consumer
|
|
1139
|
+
[_consumers addObject:[_consumerPool consumerWithScanner:consumer
|
|
1140
|
+
handler:callback
|
|
1141
|
+
bytesNeeded:dataLength
|
|
1142
|
+
readToCurrentFrame:NO
|
|
1143
|
+
unmaskBytes:NO]];
|
|
1070
1144
|
[self _pumpScanner];
|
|
1071
1145
|
}
|
|
1072
1146
|
|
|
@@ -1086,7 +1160,7 @@ static const char CRLFCRLFBytes[] = {'\r', '\n', '\r', '\n'};
|
|
|
1086
1160
|
|
|
1087
1161
|
size_t size = data.length;
|
|
1088
1162
|
const unsigned char *buffer = data.bytes;
|
|
1089
|
-
for (size_t i = 0; i < size; i++
|
|
1163
|
+
for (size_t i = 0; i < size; i++) {
|
|
1090
1164
|
if (((const unsigned char *)buffer)[i] == ((const unsigned char *)bytes)[match_count]) {
|
|
1091
1165
|
match_count += 1;
|
|
1092
1166
|
if (match_count == length) {
|
|
@@ -1126,7 +1200,9 @@ static const char CRLFCRLFBytes[] = {'\r', '\n', '\r', '\n'};
|
|
|
1126
1200
|
|
|
1127
1201
|
size_t foundSize = 0;
|
|
1128
1202
|
if (consumer.consumer) {
|
|
1129
|
-
NSData *tempView = [NSData dataWithBytesNoCopy:(char *)_readBuffer.bytes + _readBufferOffset
|
|
1203
|
+
NSData *tempView = [NSData dataWithBytesNoCopy:(char *)_readBuffer.bytes + _readBufferOffset
|
|
1204
|
+
length:_readBuffer.length - _readBufferOffset
|
|
1205
|
+
freeWhenDone:NO];
|
|
1130
1206
|
foundSize = consumer.consumer(tempView);
|
|
1131
1207
|
} else {
|
|
1132
1208
|
assert(consumer.bytesNeeded);
|
|
@@ -1145,7 +1221,9 @@ static const char CRLFCRLFBytes[] = {'\r', '\n', '\r', '\n'};
|
|
|
1145
1221
|
_readBufferOffset += foundSize;
|
|
1146
1222
|
|
|
1147
1223
|
if (_readBufferOffset > 4096 && _readBufferOffset > (_readBuffer.length >> 1)) {
|
|
1148
|
-
_readBuffer = [[NSMutableData alloc] initWithBytes:(char *)_readBuffer.bytes + _readBufferOffset
|
|
1224
|
+
_readBuffer = [[NSMutableData alloc] initWithBytes:(char *)_readBuffer.bytes + _readBufferOffset
|
|
1225
|
+
length:_readBuffer.length - _readBufferOffset];
|
|
1226
|
+
_readBufferOffset = 0;
|
|
1149
1227
|
}
|
|
1150
1228
|
|
|
1151
1229
|
if (consumer.unmaskBytes) {
|
|
@@ -1218,7 +1296,8 @@ static const char CRLFCRLFBytes[] = {'\r', '\n', '\r', '\n'};
|
|
|
1218
1296
|
return;
|
|
1219
1297
|
}
|
|
1220
1298
|
|
|
1221
|
-
while ([self _innerPumpScanner]) {
|
|
1299
|
+
while ([self _innerPumpScanner]) {
|
|
1300
|
+
}
|
|
1222
1301
|
|
|
1223
1302
|
_isPumping = NO;
|
|
1224
1303
|
}
|
|
@@ -1299,7 +1378,8 @@ static const size_t RCTSRFrameHeaderOverhead = 32;
|
|
|
1299
1378
|
|
|
1300
1379
|
- (void)stream:(NSStream *)aStream handleEvent:(NSStreamEvent)eventCode
|
|
1301
1380
|
{
|
|
1302
|
-
if (_secure && !_pinnedCertFound &&
|
|
1381
|
+
if (_secure && !_pinnedCertFound &&
|
|
1382
|
+
(eventCode == NSStreamEventHasBytesAvailable || eventCode == NSStreamEventHasSpaceAvailable)) {
|
|
1303
1383
|
NSArray *sslCerts = _urlRequest.RCTSR_SSLPinnedCertificates;
|
|
1304
1384
|
if (sslCerts) {
|
|
1305
1385
|
SecTrustRef secTrust = (__bridge SecTrustRef)[aStream propertyForKey:(__bridge id)kCFStreamPropertySSLPeerTrust];
|
|
@@ -1323,13 +1403,18 @@ static const size_t RCTSRFrameHeaderOverhead = 32;
|
|
|
1323
1403
|
|
|
1324
1404
|
if (!_pinnedCertFound) {
|
|
1325
1405
|
dispatch_async(_workQueue, ^{
|
|
1326
|
-
[self _failWithError:[NSError errorWithDomain:RCTSRWebSocketErrorDomain
|
|
1406
|
+
[self _failWithError:[NSError errorWithDomain:RCTSRWebSocketErrorDomain
|
|
1407
|
+
code:23556
|
|
1408
|
+
userInfo:@{
|
|
1409
|
+
NSLocalizedDescriptionKey :
|
|
1410
|
+
[NSString stringWithFormat:@"Invalid server cert"]
|
|
1411
|
+
}]];
|
|
1327
1412
|
});
|
|
1328
1413
|
return;
|
|
1329
1414
|
}
|
|
1330
1415
|
}
|
|
1331
1416
|
}
|
|
1332
|
-
|
|
1417
|
+
|
|
1333
1418
|
// _workQueue cannot be NULL
|
|
1334
1419
|
if (!_workQueue) {
|
|
1335
1420
|
return;
|
|
@@ -1353,7 +1438,7 @@ static const size_t RCTSRFrameHeaderOverhead = 32;
|
|
|
1353
1438
|
return;
|
|
1354
1439
|
}
|
|
1355
1440
|
assert(self->_readBuffer);
|
|
1356
|
-
|
|
1441
|
+
|
|
1357
1442
|
if (self.readyState == RCTSR_CONNECTING && aStream == self->_inputStream) {
|
|
1358
1443
|
[self didConnect];
|
|
1359
1444
|
}
|
|
@@ -1361,7 +1446,7 @@ static const size_t RCTSRFrameHeaderOverhead = 32;
|
|
|
1361
1446
|
[self _pumpScanner];
|
|
1362
1447
|
break;
|
|
1363
1448
|
}
|
|
1364
|
-
|
|
1449
|
+
|
|
1365
1450
|
case NSStreamEventErrorOccurred: {
|
|
1366
1451
|
RCTSRLog(@"NSStreamEventErrorOccurred %@ %@", aStream, [aStream.streamError copy]);
|
|
1367
1452
|
// TODO: specify error better!
|
|
@@ -1369,9 +1454,8 @@ static const size_t RCTSRFrameHeaderOverhead = 32;
|
|
|
1369
1454
|
self->_readBufferOffset = 0;
|
|
1370
1455
|
self->_readBuffer.length = 0;
|
|
1371
1456
|
break;
|
|
1372
|
-
|
|
1373
1457
|
}
|
|
1374
|
-
|
|
1458
|
+
|
|
1375
1459
|
case NSStreamEventEndEncountered: {
|
|
1376
1460
|
[self _pumpScanner];
|
|
1377
1461
|
RCTSRLog(@"NSStreamEventEndEncountered %@", aStream);
|
|
@@ -1383,36 +1467,40 @@ static const size_t RCTSRFrameHeaderOverhead = 32;
|
|
|
1383
1467
|
self.readyState = RCTSR_CLOSED;
|
|
1384
1468
|
[self _scheduleCleanup];
|
|
1385
1469
|
}
|
|
1386
|
-
|
|
1470
|
+
|
|
1387
1471
|
if (!self->_sentClose && !self->_failed) {
|
|
1388
1472
|
self->_sentClose = YES;
|
|
1389
|
-
// If we get closed in this state it's probably not clean because we should be sending this when we send
|
|
1473
|
+
// If we get closed in this state it's probably not clean because we should be sending this when we send
|
|
1474
|
+
// messages
|
|
1390
1475
|
[self _performDelegateBlock:^{
|
|
1391
1476
|
if ([self.delegate respondsToSelector:@selector(webSocket:didCloseWithCode:reason:wasClean:)]) {
|
|
1392
|
-
[self.delegate webSocket:self
|
|
1477
|
+
[self.delegate webSocket:self
|
|
1478
|
+
didCloseWithCode:RCTSRStatusCodeGoingAway
|
|
1479
|
+
reason:@"Stream end encountered"
|
|
1480
|
+
wasClean:NO];
|
|
1393
1481
|
}
|
|
1394
1482
|
}];
|
|
1395
1483
|
}
|
|
1396
1484
|
});
|
|
1397
1485
|
}
|
|
1398
|
-
|
|
1486
|
+
|
|
1399
1487
|
break;
|
|
1400
1488
|
}
|
|
1401
|
-
|
|
1489
|
+
|
|
1402
1490
|
case NSStreamEventHasBytesAvailable: {
|
|
1403
1491
|
RCTSRLog(@"NSStreamEventHasBytesAvailable %@", aStream);
|
|
1404
1492
|
const int bufferSize = 2048;
|
|
1405
1493
|
uint8_t buffer[bufferSize];
|
|
1406
|
-
|
|
1494
|
+
|
|
1407
1495
|
while (self->_inputStream.hasBytesAvailable) {
|
|
1408
1496
|
NSInteger bytes_read = [self->_inputStream read:buffer maxLength:bufferSize];
|
|
1409
|
-
|
|
1497
|
+
|
|
1410
1498
|
if (bytes_read > 0) {
|
|
1411
1499
|
[self->_readBuffer appendBytes:buffer length:bytes_read];
|
|
1412
1500
|
} else if (bytes_read < 0) {
|
|
1413
1501
|
[self _failWithError:self->_inputStream.streamError];
|
|
1414
1502
|
}
|
|
1415
|
-
|
|
1503
|
+
|
|
1416
1504
|
if (bytes_read != bufferSize) {
|
|
1417
1505
|
break;
|
|
1418
1506
|
}
|
|
@@ -1420,13 +1508,13 @@ static const size_t RCTSRFrameHeaderOverhead = 32;
|
|
|
1420
1508
|
[self _pumpScanner];
|
|
1421
1509
|
break;
|
|
1422
1510
|
}
|
|
1423
|
-
|
|
1511
|
+
|
|
1424
1512
|
case NSStreamEventHasSpaceAvailable: {
|
|
1425
1513
|
RCTSRLog(@"NSStreamEventHasSpaceAvailable %@", aStream);
|
|
1426
1514
|
[self _pumpWriting];
|
|
1427
1515
|
break;
|
|
1428
1516
|
}
|
|
1429
|
-
|
|
1517
|
+
|
|
1430
1518
|
default:
|
|
1431
1519
|
RCTSRLog(@"(default) %@", aStream);
|
|
1432
1520
|
break;
|
|
@@ -1438,12 +1526,16 @@ static const size_t RCTSRFrameHeaderOverhead = 32;
|
|
|
1438
1526
|
if (_cleanupScheduled) {
|
|
1439
1527
|
return;
|
|
1440
1528
|
}
|
|
1441
|
-
|
|
1529
|
+
|
|
1442
1530
|
_cleanupScheduled = YES;
|
|
1443
|
-
|
|
1531
|
+
|
|
1444
1532
|
// Cleanup NSStream's delegate in the same RunLoop used by the streams themselves:
|
|
1445
1533
|
// This way we'll prevent race conditions between handleEvent and SRWebsocket's dealloc
|
|
1446
|
-
NSTimer *timer = [NSTimer timerWithTimeInterval:(0.0f)
|
|
1534
|
+
NSTimer *timer = [NSTimer timerWithTimeInterval:(0.0f)
|
|
1535
|
+
target:self
|
|
1536
|
+
selector:@selector(_cleanupSelfReference:)
|
|
1537
|
+
userInfo:nil
|
|
1538
|
+
repeats:NO];
|
|
1447
1539
|
[[NSRunLoop RCTSR_networkRunLoop] addTimer:timer forMode:NSDefaultRunLoopMode];
|
|
1448
1540
|
}
|
|
1449
1541
|
|
|
@@ -1452,16 +1544,16 @@ static const size_t RCTSRFrameHeaderOverhead = 32;
|
|
|
1452
1544
|
// Remove the streams, right now, from the networkRunLoop
|
|
1453
1545
|
[_inputStream close];
|
|
1454
1546
|
[_outputStream close];
|
|
1455
|
-
|
|
1547
|
+
|
|
1456
1548
|
// Unschedule from RunLoop
|
|
1457
1549
|
for (NSArray *runLoop in [_scheduledRunloops copy]) {
|
|
1458
1550
|
[self unscheduleFromRunLoop:runLoop[0] forMode:runLoop[1]];
|
|
1459
1551
|
}
|
|
1460
|
-
|
|
1552
|
+
|
|
1461
1553
|
// Nuke NSStream's delegate
|
|
1462
1554
|
_inputStream.delegate = nil;
|
|
1463
1555
|
_outputStream.delegate = nil;
|
|
1464
|
-
|
|
1556
|
+
|
|
1465
1557
|
// Cleanup selfRetain in the same GCD queue as usual
|
|
1466
1558
|
dispatch_async(_workQueue, ^{
|
|
1467
1559
|
self->_selfRetain = nil;
|
|
@@ -1472,7 +1564,11 @@ static const size_t RCTSRFrameHeaderOverhead = 32;
|
|
|
1472
1564
|
|
|
1473
1565
|
@implementation RCTSRIOConsumer
|
|
1474
1566
|
|
|
1475
|
-
- (void)setupWithScanner:(stream_scanner)scanner
|
|
1567
|
+
- (void)setupWithScanner:(stream_scanner)scanner
|
|
1568
|
+
handler:(data_callback)handler
|
|
1569
|
+
bytesNeeded:(size_t)bytesNeeded
|
|
1570
|
+
readToCurrentFrame:(BOOL)readToCurrentFrame
|
|
1571
|
+
unmaskBytes:(BOOL)unmaskBytes
|
|
1476
1572
|
{
|
|
1477
1573
|
_consumer = [scanner copy];
|
|
1478
1574
|
_handler = [handler copy];
|
|
@@ -1484,8 +1580,7 @@ static const size_t RCTSRFrameHeaderOverhead = 32;
|
|
|
1484
1580
|
|
|
1485
1581
|
@end
|
|
1486
1582
|
|
|
1487
|
-
@implementation RCTSRIOConsumerPool
|
|
1488
|
-
{
|
|
1583
|
+
@implementation RCTSRIOConsumerPool {
|
|
1489
1584
|
NSUInteger _poolSize;
|
|
1490
1585
|
NSMutableArray<RCTSRIOConsumer *> *_bufferedConsumers;
|
|
1491
1586
|
}
|
|
@@ -1504,7 +1599,11 @@ static const size_t RCTSRFrameHeaderOverhead = 32;
|
|
|
1504
1599
|
return [self initWithBufferCapacity:8];
|
|
1505
1600
|
}
|
|
1506
1601
|
|
|
1507
|
-
- (RCTSRIOConsumer *)consumerWithScanner:(stream_scanner)scanner
|
|
1602
|
+
- (RCTSRIOConsumer *)consumerWithScanner:(stream_scanner)scanner
|
|
1603
|
+
handler:(data_callback)handler
|
|
1604
|
+
bytesNeeded:(size_t)bytesNeeded
|
|
1605
|
+
readToCurrentFrame:(BOOL)readToCurrentFrame
|
|
1606
|
+
unmaskBytes:(BOOL)unmaskBytes
|
|
1508
1607
|
{
|
|
1509
1608
|
RCTSRIOConsumer *consumer = nil;
|
|
1510
1609
|
if (_bufferedConsumers.count) {
|
|
@@ -1514,7 +1613,11 @@ static const size_t RCTSRFrameHeaderOverhead = 32;
|
|
|
1514
1613
|
consumer = [RCTSRIOConsumer new];
|
|
1515
1614
|
}
|
|
1516
1615
|
|
|
1517
|
-
[consumer setupWithScanner:scanner
|
|
1616
|
+
[consumer setupWithScanner:scanner
|
|
1617
|
+
handler:handler
|
|
1618
|
+
bytesNeeded:bytesNeeded
|
|
1619
|
+
readToCurrentFrame:readToCurrentFrame
|
|
1620
|
+
unmaskBytes:unmaskBytes];
|
|
1518
1621
|
|
|
1519
1622
|
return consumer;
|
|
1520
1623
|
}
|
|
@@ -1528,7 +1631,7 @@ static const size_t RCTSRFrameHeaderOverhead = 32;
|
|
|
1528
1631
|
|
|
1529
1632
|
@end
|
|
1530
1633
|
|
|
1531
|
-
@implementation
|
|
1634
|
+
@implementation NSURLRequest (CertificateAdditions)
|
|
1532
1635
|
|
|
1533
1636
|
- (NSArray *)RCTSR_SSLPinnedCertificates
|
|
1534
1637
|
{
|
|
@@ -1537,7 +1640,7 @@ static const size_t RCTSRFrameHeaderOverhead = 32;
|
|
|
1537
1640
|
|
|
1538
1641
|
@end
|
|
1539
1642
|
|
|
1540
|
-
@implementation
|
|
1643
|
+
@implementation NSMutableURLRequest (CertificateAdditions)
|
|
1541
1644
|
|
|
1542
1645
|
- (NSArray *)RCTSR_SSLPinnedCertificates
|
|
1543
1646
|
{
|
|
@@ -1563,9 +1666,7 @@ static const size_t RCTSRFrameHeaderOverhead = 32;
|
|
|
1563
1666
|
scheme = @"http";
|
|
1564
1667
|
}
|
|
1565
1668
|
|
|
1566
|
-
int defaultPort = ([scheme isEqualToString:@"https"] ? 443 :
|
|
1567
|
-
[scheme isEqualToString:@"http"] ? 80 :
|
|
1568
|
-
-1);
|
|
1669
|
+
int defaultPort = ([scheme isEqualToString:@"https"] ? 443 : [scheme isEqualToString:@"http"] ? 80 : -1);
|
|
1569
1670
|
int port = self.port.intValue;
|
|
1570
1671
|
if (port > 0 && port != defaultPort) {
|
|
1571
1672
|
return [NSString stringWithFormat:@"%@://%@:%d", scheme, self.host, port];
|
|
@@ -1596,8 +1697,7 @@ static NSRunLoop *networkRunLoop = nil;
|
|
|
1596
1697
|
|
|
1597
1698
|
@end
|
|
1598
1699
|
|
|
1599
|
-
@implementation _RCTSRRunLoopThread
|
|
1600
|
-
{
|
|
1700
|
+
@implementation _RCTSRRunLoopThread {
|
|
1601
1701
|
dispatch_group_t _waitGroup;
|
|
1602
1702
|
}
|
|
1603
1703
|
|
|
@@ -1618,10 +1718,16 @@ static NSRunLoop *networkRunLoop = nil;
|
|
|
1618
1718
|
_runLoop = [NSRunLoop currentRunLoop];
|
|
1619
1719
|
dispatch_group_leave(_waitGroup);
|
|
1620
1720
|
|
|
1621
|
-
NSTimer *timer = [[NSTimer alloc] initWithFireDate:[NSDate distantFuture]
|
|
1721
|
+
NSTimer *timer = [[NSTimer alloc] initWithFireDate:[NSDate distantFuture]
|
|
1722
|
+
interval:0.0
|
|
1723
|
+
target:self
|
|
1724
|
+
selector:@selector(step)
|
|
1725
|
+
userInfo:nil
|
|
1726
|
+
repeats:NO];
|
|
1622
1727
|
[_runLoop addTimer:timer forMode:NSDefaultRunLoopMode];
|
|
1623
1728
|
|
|
1624
|
-
while ([_runLoop runMode:NSDefaultRunLoopMode beforeDate:[NSDate distantFuture]]) {
|
|
1729
|
+
while ([_runLoop runMode:NSDefaultRunLoopMode beforeDate:[NSDate distantFuture]]) {
|
|
1730
|
+
}
|
|
1625
1731
|
assert(NO);
|
|
1626
1732
|
}
|
|
1627
1733
|
}
|