react-native 0.66.0-rc.4 → 0.67.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.
Files changed (447) hide show
  1. package/Libraries/ActionSheetIOS/ActionSheetIOS.js +14 -1
  2. package/Libraries/ActionSheetIOS/NativeActionSheetManager.js +2 -0
  3. package/Libraries/Animated/AnimatedEvent.js +23 -4
  4. package/Libraries/Animated/NativeAnimatedHelper.js +2 -2
  5. package/Libraries/Animated/components/AnimatedImage.js +3 -3
  6. package/Libraries/Animated/components/AnimatedScrollView.js +3 -3
  7. package/Libraries/Animated/components/AnimatedText.js +3 -3
  8. package/Libraries/Animated/components/AnimatedView.js +1 -3
  9. package/Libraries/Animated/createAnimatedComponent.js +3 -34
  10. package/Libraries/Components/Button.js +3 -0
  11. package/Libraries/Components/DatePicker/DatePickerIOS.ios.js +3 -6
  12. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +4 -7
  13. package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +1 -0
  14. package/Libraries/Components/ScrollView/ScrollView.js +17 -16
  15. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +268 -252
  16. package/Libraries/Components/View/View.js +1 -1
  17. package/Libraries/Components/View/ViewAccessibility.js +1 -1
  18. package/Libraries/Core/ExceptionsManager.js +45 -80
  19. package/Libraries/Core/ExtendedError.js +0 -1
  20. package/Libraries/Core/ReactNativeVersion.js +2 -2
  21. package/Libraries/Core/setUpBatchedBridge.js +1 -1
  22. package/Libraries/Core/setUpGlobals.js +2 -4
  23. package/Libraries/Core/setUpTimers.js +2 -2
  24. package/Libraries/Image/Image.ios.js +6 -0
  25. package/Libraries/Image/ImageBackground.js +10 -8
  26. package/Libraries/Image/ImageProps.js +28 -0
  27. package/Libraries/Image/RCTImageView.mm +4 -0
  28. package/Libraries/LogBox/Data/LogBoxData.js +18 -19
  29. package/Libraries/LogBox/UI/LogBoxImages/alert-triangle.png +0 -0
  30. package/Libraries/LogBox/UI/LogBoxImages/chevron-left.png +0 -0
  31. package/Libraries/LogBox/UI/LogBoxImages/chevron-right.png +0 -0
  32. package/Libraries/LogBox/UI/LogBoxImages/close.png +0 -0
  33. package/Libraries/LogBox/UI/LogBoxImages/loader.png +0 -0
  34. package/Libraries/NativeAnimation/Nodes/RCTPropsAnimatedNode.m +0 -3
  35. package/Libraries/NativeAnimation/RCTNativeAnimatedModule.mm +6 -3
  36. package/Libraries/NativeAnimation/RCTNativeAnimatedTurboModule.h +1 -2
  37. package/Libraries/NativeAnimation/RCTNativeAnimatedTurboModule.mm +2 -1
  38. package/Libraries/NewAppScreen/components/logo.png +0 -0
  39. package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +2 -1
  40. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +2 -0
  41. package/Libraries/Pressability/Pressability.js +13 -13
  42. package/Libraries/Pressability/PressabilityPerformanceEventEmitter.js +1 -1
  43. package/Libraries/PushNotificationIOS/RCTPushNotificationManager.mm +0 -1
  44. package/Libraries/ReactNative/AppRegistry.js +4 -2
  45. package/Libraries/Renderer/REVISION +1 -1
  46. package/Libraries/Renderer/implementations/ReactFabric-dev.fb.js +1569 -875
  47. package/Libraries/Renderer/implementations/ReactFabric-prod.fb.js +529 -319
  48. package/Libraries/Renderer/implementations/ReactFabric-profiling.fb.js +570 -362
  49. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.fb.js +1592 -891
  50. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.fb.js +521 -311
  51. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.fb.js +562 -354
  52. package/Libraries/Share/Share.js +1 -1
  53. package/Libraries/StyleSheet/normalizeColor.js +2 -2
  54. package/Libraries/Text/TextInput/Multiline/RCTUITextView.m +4 -2
  55. package/Libraries/Text/TextInput/RCTBaseTextInputView.m +2 -12
  56. package/Libraries/Text/TextInput/RCTInputAccessoryViewContent.m +4 -11
  57. package/Libraries/Text/TextProps.js +1 -7
  58. package/Libraries/TurboModule/TurboModuleRegistry.js +1 -1
  59. package/Libraries/Utilities/HMRClient.js +1 -1
  60. package/README.md +1 -1
  61. package/React/Base/RCTBridge+Private.h +8 -0
  62. package/React/Base/RCTBridge.h +4 -0
  63. package/React/Base/RCTBridge.m +19 -7
  64. package/React/Base/RCTBridgeModule.h +2 -11
  65. package/React/Base/RCTBundleURLProvider.h +1 -1
  66. package/React/Base/RCTBundleURLProvider.mm +5 -3
  67. package/React/Base/RCTConstants.h +0 -6
  68. package/React/Base/RCTConstants.m +0 -15
  69. package/React/Base/RCTConvert.h +1 -1
  70. package/React/Base/RCTDefines.h +12 -3
  71. package/React/Base/RCTEventDispatcherProtocol.h +2 -0
  72. package/React/Base/RCTJSThread.h +29 -0
  73. package/React/Base/RCTJSThread.m +19 -0
  74. package/React/Base/RCTRootView.h +15 -0
  75. package/React/Base/RCTRootView.m +15 -0
  76. package/React/Base/RCTTouchHandler.m +1 -9
  77. package/React/Base/RCTUtils.h +3 -0
  78. package/React/Base/RCTUtils.m +14 -7
  79. package/React/Base/RCTVersion.m +2 -2
  80. package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingProxyRootView.h +11 -0
  81. package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingProxyRootView.mm +35 -1
  82. package/React/CoreModules/RCTAccessibilityManager+Internal.h +24 -0
  83. package/React/CoreModules/RCTAccessibilityManager.mm +18 -3
  84. package/React/CoreModules/RCTActionSheetManager.mm +14 -5
  85. package/React/CoreModules/RCTAppearance.mm +3 -1
  86. package/React/CoreModules/RCTDevLoadingView.mm +5 -10
  87. package/React/CoreModules/RCTDevSettings.mm +6 -6
  88. package/React/CoreModules/RCTDevSplitBundleLoader.mm +1 -1
  89. package/React/CoreModules/RCTDeviceInfo.mm +4 -4
  90. package/React/CoreModules/RCTEventDispatcher.mm +5 -0
  91. package/React/CoreModules/RCTExceptionsManager.mm +11 -24
  92. package/React/CoreModules/RCTPerfMonitor.mm +9 -4
  93. package/React/CoreModules/RCTRedBox.mm +1 -5
  94. package/React/CxxBridge/RCTCxxBridge.mm +18 -1
  95. package/React/DevSupport/RCTPackagerConnection.h +3 -0
  96. package/React/DevSupport/RCTPackagerConnection.mm +9 -5
  97. package/React/FBReactNativeSpec/FBReactNativeSpec.podspec +11 -3
  98. package/React/Fabric/Mounting/ComponentViews/Modal/RCTModalHostViewComponentView.mm +0 -3
  99. package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +16 -0
  100. package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.h +6 -0
  101. package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +3 -5
  102. package/React/Fabric/Mounting/RCTMountingManager.mm +15 -1
  103. package/React/Fabric/RCTScheduler.mm +12 -5
  104. package/React/Fabric/RCTSurfacePresenter.mm +0 -4
  105. package/React/Fabric/RCTSurfaceTouchHandler.mm +6 -20
  106. package/React/Fabric/Surface/RCTFabricSurface.mm +1 -3
  107. package/React/React-RCTFabric.podspec +0 -1
  108. package/React/Views/RCTFont.mm +54 -38
  109. package/React/Views/RCTView.m +1 -6
  110. package/React/Views/RCTViewManager.m +3 -2
  111. package/React/Views/SafeAreaView/RCTSafeAreaView.m +1 -5
  112. package/React/Views/ScrollView/RCTScrollView.m +5 -15
  113. package/React/Views/ScrollView/RCTScrollViewManager.m +0 -7
  114. package/React/Views/UIView+React.m +2 -11
  115. package/React-Core.podspec +0 -1
  116. package/ReactAndroid/build.gradle +11 -5
  117. package/ReactAndroid/gradle.properties +1 -1
  118. package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/BUCK +0 -1
  119. package/ReactAndroid/src/androidTest/js/TestBundle.js +0 -7
  120. package/ReactAndroid/src/main/java/com/facebook/hermes/instrumentation/BUCK +2 -1
  121. package/ReactAndroid/src/main/java/com/facebook/react/BUCK +0 -1
  122. package/ReactAndroid/src/main/java/com/facebook/react/ReactActivity.java +7 -0
  123. package/ReactAndroid/src/main/java/com/facebook/react/ReactActivityDelegate.java +7 -0
  124. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +63 -26
  125. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManagerBuilder.java +46 -1
  126. package/ReactAndroid/src/main/java/com/facebook/react/ReactNativeHost.java +31 -0
  127. package/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java +17 -1
  128. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstance.java +2 -0
  129. package/ReactAndroid/src/main/java/com/facebook/react/bridge/CatalystInstanceImpl.java +13 -2
  130. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContext.java +1 -0
  131. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactCxxErrorHandler.java +39 -0
  132. package/ReactAndroid/src/main/java/com/facebook/react/bridge/RuntimeScheduler.java +21 -0
  133. package/ReactAndroid/src/main/java/com/facebook/react/common/BUCK +2 -2
  134. package/ReactAndroid/src/main/java/com/facebook/react/common/SurfaceDelegate.java +40 -0
  135. package/ReactAndroid/src/main/java/com/facebook/react/common/SurfaceDelegateFactory.java +24 -0
  136. package/ReactAndroid/src/main/java/com/facebook/react/common/mapbuffer/jni/BUCK +0 -6
  137. package/ReactAndroid/src/main/java/com/facebook/react/config/ReactFeatureFlags.java +16 -0
  138. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BUCK +1 -0
  139. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BridgeDevSupportManager.java +5 -2
  140. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DefaultDevSupportManagerFactory.java +102 -0
  141. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.java +35 -11
  142. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerFactory.java +5 -72
  143. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DisabledDevSupportManager.java +12 -0
  144. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LogBoxDialogSurfaceDelegate.java +92 -0
  145. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/LogBoxModule.java +27 -42
  146. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/DevSupportManager.java +14 -0
  147. package/ReactAndroid/src/main/java/com/facebook/react/fabric/Binding.java +5 -4
  148. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricJSIModuleProvider.java +3 -7
  149. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +41 -2
  150. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventEmitterWrapper.java +8 -3
  151. package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/FabricEventEmitter.java +43 -9
  152. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Android.mk +2 -1
  153. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/AsyncEventBeatV2.cpp +69 -0
  154. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/AsyncEventBeatV2.h +40 -0
  155. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/BUCK +2 -6
  156. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Binding.cpp +84 -32
  157. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Binding.h +4 -2
  158. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/EventEmitterWrapper.cpp +20 -2
  159. package/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/EventEmitterWrapper.h +2 -1
  160. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountItemDispatcher.java +9 -1
  161. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.java +19 -4
  162. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/IntBufferBatchMountItem.java +6 -2
  163. package/ReactAndroid/src/main/java/com/facebook/react/jscexecutor/BUCK +2 -1
  164. package/ReactAndroid/src/main/java/com/facebook/react/modules/appearance/AppearanceModule.java +10 -1
  165. package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/jni/BUCK +0 -6
  166. package/ReactAndroid/src/main/java/com/facebook/react/modules/clipboard/BUCK +4 -1
  167. package/ReactAndroid/src/main/java/com/facebook/react/modules/clipboard/ClipboardModule.java +9 -8
  168. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/ExceptionsManagerModule.java +7 -19
  169. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/{JavaScriptTimerManager.java → JavaScriptTimerExecutor.java} +1 -1
  170. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/JavaTimerManager.java +7 -7
  171. package/ReactAndroid/src/main/java/com/facebook/react/modules/core/TimingModule.java +2 -2
  172. package/ReactAndroid/src/main/java/com/facebook/react/modules/i18nmanager/I18nManagerModule.java +7 -1
  173. package/ReactAndroid/src/main/java/com/facebook/react/modules/intent/IntentModule.java +23 -19
  174. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ForwardingCookieHandler.java +1 -4
  175. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java +2 -2
  176. package/ReactAndroid/src/main/java/com/facebook/react/packagerconnection/ReconnectingWebSocket.java +8 -8
  177. package/ReactAndroid/src/main/java/com/facebook/react/processing/ReactPropertyProcessor.java +1 -1
  178. package/ReactAndroid/src/main/java/com/facebook/react/reactperflogger/jni/BUCK +0 -6
  179. package/ReactAndroid/src/main/java/com/facebook/react/shell/BUCK +0 -1
  180. package/ReactAndroid/src/main/java/com/facebook/react/shell/MainReactPackage.java +0 -5
  181. package/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni/BUCK +0 -12
  182. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSTouchDispatcher.java +1 -1
  183. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/TouchTargetHelper.java +75 -10
  184. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/Event.java +19 -22
  185. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventCategoryDef.java +42 -0
  186. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcherImpl.java +7 -1
  187. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/LockFreeEventDispatcherImpl.java +2 -2
  188. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTEventEmitter.java +7 -0
  189. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTModernEventEmitter.java +2 -1
  190. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/ReactEventEmitter.java +17 -9
  191. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchEvent.java +43 -8
  192. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchEventType.java +15 -16
  193. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchesHelper.java +108 -19
  194. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/jni/BUCK +0 -6
  195. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +79 -4
  196. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollViewManager.java +5 -0
  197. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +94 -3
  198. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewHelper.java +21 -1
  199. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewManager.java +5 -0
  200. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextAnchorViewManager.java +0 -4
  201. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextShadowNode.java +16 -0
  202. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextView.java +9 -1
  203. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributeProps.java +20 -1
  204. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.java +25 -6
  205. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManagerMapBuffer.java +25 -5
  206. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditTextInputConnectionWrapper.java +3 -0
  207. package/ReactAndroid/src/main/java/com/facebook/react/views/view/CanvasUtil.java +92 -0
  208. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewBackgroundDrawable.java +8 -8
  209. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.java +19 -0
  210. package/ReactAndroid/src/main/jni/react/jni/Android.mk +3 -2
  211. package/ReactAndroid/src/main/jni/react/jni/BUCK +4 -5
  212. package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.cpp +49 -7
  213. package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.h +15 -2
  214. package/ReactAndroid/src/main/jni/react/jni/JReactCxxErrorHandler.cpp +18 -0
  215. package/ReactAndroid/src/main/jni/react/jni/JReactCxxErrorHandler.h +25 -0
  216. package/{ReactCommon/react/renderer/core/Constants.cpp → ReactAndroid/src/main/jni/react/jni/JRuntimeScheduler.cpp} +6 -8
  217. package/ReactAndroid/src/main/jni/react/jni/JRuntimeScheduler.h +30 -0
  218. package/ReactAndroid/src/main/jni/react/perftests/BUCK +0 -4
  219. package/ReactAndroid/src/main/third-party/android/androidx/BUCK +6 -6
  220. package/ReactAndroid/src/test/java/com/facebook/react/RootViewTest.java +43 -0
  221. package/ReactAndroid/src/test/java/com/facebook/react/modules/clipboard/ClipboardModuleTest.java +3 -1
  222. package/ReactCommon/React-Fabric.podspec +9 -1
  223. package/ReactCommon/better/BUCK +0 -6
  224. package/ReactCommon/callinvoker/BUCK +2 -8
  225. package/ReactCommon/cxxreact/BUCK +1 -16
  226. package/ReactCommon/cxxreact/ReactNativeVersion.h +2 -2
  227. package/ReactCommon/hermes/inspector/tools/msggen/package.json +7 -4
  228. package/ReactCommon/hermes/inspector/tools/msggen/yarn.lock +13 -10
  229. package/ReactCommon/jsi/BUCK +0 -9
  230. package/ReactCommon/jsinspector/BUCK +0 -5
  231. package/ReactCommon/logger/BUCK +0 -5
  232. package/ReactCommon/react/config/BUCK +0 -6
  233. package/ReactCommon/react/debug/BUCK +0 -6
  234. package/ReactCommon/react/nativemodule/core/BUCK +0 -5
  235. package/ReactCommon/react/nativemodule/core/platform/ios/RCTTurboModuleManager.mm +14 -31
  236. package/ReactCommon/react/nativemodule/samples/BUCK +0 -7
  237. package/ReactCommon/react/renderer/animations/BUCK +1 -4
  238. package/ReactCommon/react/renderer/animations/LayoutAnimationCallbackWrapper.h +34 -0
  239. package/ReactCommon/react/renderer/animations/LayoutAnimationDriver.cpp +5 -26
  240. package/ReactCommon/react/renderer/animations/LayoutAnimationDriver.h +8 -14
  241. package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.cpp +912 -1147
  242. package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.h +80 -245
  243. package/ReactCommon/react/renderer/animations/conversions.h +212 -0
  244. package/ReactCommon/react/renderer/animations/primitives.h +104 -0
  245. package/ReactCommon/react/renderer/animations/tests/LayoutAnimationTest.cpp +3 -3
  246. package/ReactCommon/react/renderer/animations/utils.cpp +71 -0
  247. package/ReactCommon/react/renderer/animations/utils.h +80 -0
  248. package/ReactCommon/react/renderer/attributedstring/AttributedString.h +0 -1
  249. package/ReactCommon/react/renderer/attributedstring/BUCK +0 -6
  250. package/ReactCommon/react/renderer/attributedstring/ParagraphAttributes.cpp +7 -3
  251. package/ReactCommon/react/renderer/attributedstring/ParagraphAttributes.h +12 -2
  252. package/ReactCommon/react/renderer/attributedstring/TextAttributes.h +1 -1
  253. package/ReactCommon/react/renderer/attributedstring/conversions.h +58 -3
  254. package/ReactCommon/react/renderer/attributedstring/primitives.h +18 -1
  255. package/ReactCommon/react/renderer/componentregistry/BUCK +0 -6
  256. package/ReactCommon/react/renderer/componentregistry/native/BUCK +0 -6
  257. package/ReactCommon/react/renderer/components/image/BUCK +0 -6
  258. package/ReactCommon/react/renderer/components/image/ImageComponentDescriptor.h +0 -2
  259. package/ReactCommon/react/renderer/components/inputaccessory/BUCK +0 -6
  260. package/ReactCommon/react/renderer/components/inputaccessory/InputAccessoryComponentDescriptor.h +0 -4
  261. package/ReactCommon/react/renderer/components/legacyviewmanagerinterop/BUCK +0 -6
  262. package/ReactCommon/react/renderer/components/modal/BUCK +0 -6
  263. package/ReactCommon/react/renderer/components/modal/ModalHostViewComponentDescriptor.h +0 -5
  264. package/ReactCommon/react/renderer/components/progressbar/BUCK +0 -6
  265. package/ReactCommon/react/renderer/components/progressbar/android/react/renderer/components/progressbar/AndroidProgressBarComponentDescriptor.h +0 -3
  266. package/ReactCommon/react/renderer/components/root/BUCK +0 -6
  267. package/ReactCommon/react/renderer/components/safeareaview/BUCK +0 -6
  268. package/ReactCommon/react/renderer/components/scrollview/BUCK +0 -6
  269. package/ReactCommon/react/renderer/components/slider/BUCK +0 -6
  270. package/ReactCommon/react/renderer/components/slider/SliderComponentDescriptor.h +0 -3
  271. package/ReactCommon/react/renderer/components/switch/BUCK +0 -6
  272. package/ReactCommon/react/renderer/components/switch/androidswitch/react/renderer/components/androidswitch/AndroidSwitchComponentDescriptor.h +0 -3
  273. package/ReactCommon/react/renderer/components/text/BUCK +0 -6
  274. package/ReactCommon/react/renderer/components/text/ParagraphComponentDescriptor.h +1 -20
  275. package/ReactCommon/react/renderer/components/textinput/BUCK +0 -6
  276. package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputComponentDescriptor.h +0 -3
  277. package/ReactCommon/react/renderer/components/textinput/androidtextinput/react/renderer/components/androidtextinput/AndroidTextInputProps.h +2 -0
  278. package/ReactCommon/react/renderer/components/textinput/iostextinput/BUCK +0 -6
  279. package/ReactCommon/react/renderer/components/textinput/iostextinput/TextInputComponentDescriptor.h +0 -3
  280. package/ReactCommon/react/renderer/components/unimplementedview/BUCK +0 -6
  281. package/ReactCommon/react/renderer/components/unimplementedview/UnimplementedViewComponentDescriptor.cpp +0 -4
  282. package/ReactCommon/react/renderer/components/view/Android.mk +1 -1
  283. package/ReactCommon/react/renderer/components/view/BUCK +0 -6
  284. package/ReactCommon/react/renderer/components/view/Touch.h +1 -32
  285. package/ReactCommon/react/renderer/components/view/ViewComponentDescriptor.h +0 -23
  286. package/ReactCommon/react/renderer/components/view/ViewPropsInterpolation.h +2 -3
  287. package/ReactCommon/react/renderer/components/view/ViewShadowNode.cpp +3 -3
  288. package/ReactCommon/react/renderer/components/view/ViewShadowNode.h +1 -1
  289. package/ReactCommon/react/renderer/components/view/accessibilityPropsConversions.h +4 -0
  290. package/ReactCommon/react/renderer/core/BUCK +2 -6
  291. package/ReactCommon/react/renderer/core/ConcreteComponentDescriptor.h +14 -9
  292. package/ReactCommon/react/renderer/core/ConcreteShadowNode.h +1 -10
  293. package/ReactCommon/react/renderer/core/EventEmitter.cpp +9 -4
  294. package/ReactCommon/react/renderer/core/EventEmitter.h +2 -1
  295. package/ReactCommon/react/renderer/core/Props.h +1 -0
  296. package/ReactCommon/react/renderer/core/PropsParserContext.h +3 -2
  297. package/ReactCommon/react/renderer/core/RawEvent.h +7 -5
  298. package/ReactCommon/react/renderer/core/RawPropsKey.cpp +10 -2
  299. package/ReactCommon/react/renderer/core/ReactPrimitives.h +0 -2
  300. package/ReactCommon/react/renderer/core/ShadowNode.cpp +7 -10
  301. package/ReactCommon/react/renderer/core/ShadowNodeFamily.h +1 -0
  302. package/ReactCommon/react/renderer/debug/BUCK +0 -6
  303. package/ReactCommon/react/renderer/element/BUCK +0 -6
  304. package/ReactCommon/react/renderer/graphics/Android.mk +1 -1
  305. package/ReactCommon/react/renderer/graphics/BUCK +0 -6
  306. package/ReactCommon/react/renderer/graphics/React-graphics.podspec +0 -1
  307. package/ReactCommon/react/renderer/graphics/Transform.cpp +1 -1
  308. package/ReactCommon/react/renderer/graphics/Transform.h +1 -1
  309. package/ReactCommon/react/renderer/imagemanager/BUCK +0 -6
  310. package/ReactCommon/react/renderer/leakchecker/BUCK +0 -6
  311. package/ReactCommon/react/renderer/mapbuffer/BUCK +0 -6
  312. package/ReactCommon/react/renderer/mounting/Android.mk +2 -1
  313. package/ReactCommon/react/renderer/mounting/BUCK +0 -6
  314. package/ReactCommon/react/renderer/mounting/MountingOverrideDelegate.h +1 -1
  315. package/ReactCommon/react/renderer/mounting/ShadowViewMutation.cpp +12 -0
  316. package/ReactCommon/react/renderer/mounting/ShadowViewMutation.h +10 -1
  317. package/ReactCommon/react/renderer/runtimescheduler/Android.mk +2 -1
  318. package/ReactCommon/react/renderer/runtimescheduler/BUCK +1 -7
  319. package/ReactCommon/react/renderer/runtimescheduler/ErrorUtils.h +36 -0
  320. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.cpp +28 -20
  321. package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.h +4 -2
  322. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerBinding.cpp +4 -3
  323. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerBinding.h +4 -2
  324. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerCallInvoker.cpp +32 -0
  325. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerCallInvoker.h +36 -0
  326. package/ReactCommon/react/renderer/runtimescheduler/RuntimeSchedulerClock.h +4 -2
  327. package/ReactCommon/react/renderer/runtimescheduler/SchedulerPriority.h +4 -3
  328. package/ReactCommon/react/renderer/runtimescheduler/Task.cpp +4 -2
  329. package/ReactCommon/react/renderer/runtimescheduler/Task.h +4 -2
  330. package/ReactCommon/react/renderer/runtimescheduler/primitives.h +4 -2
  331. package/ReactCommon/react/renderer/runtimescheduler/tests/RuntimeSchedulerTest.cpp +26 -1
  332. package/ReactCommon/react/renderer/runtimescheduler/tests/StubErrorUtils.h +72 -0
  333. package/ReactCommon/react/renderer/scheduler/BUCK +0 -6
  334. package/ReactCommon/react/renderer/scheduler/Scheduler.cpp +1 -4
  335. package/ReactCommon/react/renderer/scheduler/Scheduler.h +1 -1
  336. package/ReactCommon/react/renderer/scheduler/SurfaceHandler.h +4 -4
  337. package/ReactCommon/react/renderer/telemetry/BUCK +0 -6
  338. package/ReactCommon/react/renderer/templateprocessor/BUCK +0 -6
  339. package/ReactCommon/react/renderer/textlayoutmanager/BUCK +0 -6
  340. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/RCTAttributedTextUtils.h +2 -0
  341. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/RCTAttributedTextUtils.mm +19 -0
  342. package/ReactCommon/react/renderer/timeline/BUCK +6 -12
  343. package/ReactCommon/react/renderer/uimanager/BUCK +0 -6
  344. package/ReactCommon/react/renderer/uimanager/UIManagerAnimationDelegate.h +1 -1
  345. package/ReactCommon/react/renderer/uimanager/UIManagerBinding.cpp +2 -2
  346. package/ReactCommon/react/renderer/uimanager/UIManagerBinding.h +1 -1
  347. package/ReactCommon/react/test_utils/BUCK +3 -6
  348. package/ReactCommon/react/{renderer/core/Constants.h → test_utils/MockSurfaceHandler.h} +9 -7
  349. package/ReactCommon/react/utils/BUCK +0 -6
  350. package/ReactCommon/react/utils/ContextContainer.h +0 -27
  351. package/ReactCommon/reactperflogger/BUCK +0 -4
  352. package/ReactCommon/runtimeexecutor/BUCK +0 -6
  353. package/ReactCommon/yoga/BUCK +1 -5
  354. package/android/com/facebook/react/react-native/{0.66.0-rc.4/react-native-0.66.0-rc.4.aar → 0.67.0-rc.1/react-native-0.67.0-rc.1.aar} +0 -0
  355. package/android/com/facebook/react/react-native/0.67.0-rc.1/react-native-0.67.0-rc.1.aar.md5 +1 -0
  356. package/android/com/facebook/react/react-native/0.67.0-rc.1/react-native-0.67.0-rc.1.aar.sha1 +1 -0
  357. package/android/com/facebook/react/react-native/0.67.0-rc.1/react-native-0.67.0-rc.1.aar.sha256 +1 -0
  358. package/android/com/facebook/react/react-native/0.67.0-rc.1/react-native-0.67.0-rc.1.aar.sha512 +1 -0
  359. package/android/com/facebook/react/react-native/{0.66.0-rc.4/react-native-0.66.0-rc.4.module → 0.67.0-rc.1/react-native-0.67.0-rc.1.module} +16 -17
  360. package/android/com/facebook/react/react-native/0.67.0-rc.1/react-native-0.67.0-rc.1.module.md5 +1 -0
  361. package/android/com/facebook/react/react-native/0.67.0-rc.1/react-native-0.67.0-rc.1.module.sha1 +1 -0
  362. package/android/com/facebook/react/react-native/0.67.0-rc.1/react-native-0.67.0-rc.1.module.sha256 +1 -0
  363. package/android/com/facebook/react/react-native/0.67.0-rc.1/react-native-0.67.0-rc.1.module.sha512 +1 -0
  364. package/android/com/facebook/react/react-native/{0.66.0-rc.4/react-native-0.66.0-rc.4.pom → 0.67.0-rc.1/react-native-0.67.0-rc.1.pom} +2 -2
  365. package/android/com/facebook/react/react-native/0.67.0-rc.1/react-native-0.67.0-rc.1.pom.md5 +1 -0
  366. package/android/com/facebook/react/react-native/0.67.0-rc.1/react-native-0.67.0-rc.1.pom.sha1 +1 -0
  367. package/android/com/facebook/react/react-native/0.67.0-rc.1/react-native-0.67.0-rc.1.pom.sha256 +1 -0
  368. package/android/com/facebook/react/react-native/0.67.0-rc.1/react-native-0.67.0-rc.1.pom.sha512 +1 -0
  369. package/android/com/facebook/react/react-native/maven-metadata.xml +4 -4
  370. package/android/com/facebook/react/react-native/maven-metadata.xml.md5 +1 -1
  371. package/android/com/facebook/react/react-native/maven-metadata.xml.sha1 +1 -1
  372. package/android/com/facebook/react/react-native/maven-metadata.xml.sha256 +1 -1
  373. package/android/com/facebook/react/react-native/maven-metadata.xml.sha512 +1 -1
  374. package/flow/global.js +45 -0
  375. package/index.js +15 -10
  376. package/jest/mockModal.js +31 -0
  377. package/jest/setup.js +5 -3
  378. package/package.json +8 -9
  379. package/react.gradle +53 -18
  380. package/scripts/find-node.sh +13 -0
  381. package/scripts/generate-specs-cli.js +18 -0
  382. package/scripts/ios-configure-glog.sh +4 -0
  383. package/scripts/react-native-xcode.sh +7 -7
  384. package/scripts/react_native_pods.rb +202 -70
  385. package/template/Gemfile +6 -0
  386. package/template/Gemfile.lock +100 -0
  387. package/template/_bundle/config +2 -0
  388. package/template/_flowconfig +1 -1
  389. package/template/_ruby-version +1 -0
  390. package/template/android/app/build.gradle +1 -1
  391. package/template/android/app/src/main/res/drawable/rn_edit_text_material.xml +36 -0
  392. package/template/android/app/src/main/res/values/styles.xml +1 -0
  393. package/template/android/build.gradle +7 -3
  394. package/template/android/gradle/wrapper/gradle-wrapper.properties +1 -1
  395. package/template/android/gradle.properties +1 -1
  396. package/template/ios/HelloWorld.xcodeproj/project.pbxproj +0 -2
  397. package/template/ios/Podfile +0 -1
  398. package/template/package.json +1 -1
  399. package/third-party-podspecs/RCT-Folly.podspec +1 -1
  400. package/third-party-podspecs/glog.podspec +0 -1
  401. package/Libraries/Components/DatePickerAndroid/DatePickerAndroid.android.js +0 -87
  402. package/Libraries/Components/DatePickerAndroid/DatePickerAndroid.ios.js +0 -30
  403. package/Libraries/Components/DatePickerAndroid/DatePickerAndroidTypes.js +0 -30
  404. package/Libraries/Components/StaticContainer.react.js +0 -51
  405. package/Libraries/Components/Touchable/ensurePositiveDelayProps.js +0 -25
  406. package/Libraries/Interaction/InteractionMixin.js +0 -54
  407. package/Libraries/ReactNative/queryLayoutByID.js +0 -58
  408. package/ReactAndroid/src/androidTest/java/com/facebook/react/tests/DatePickerDialogTestCase.java +0 -172
  409. package/ReactAndroid/src/androidTest/js/DatePickerDialogTestModule.js +0 -45
  410. package/ReactAndroid/src/main/java/com/facebook/react/modules/datepicker/BUCK +0 -27
  411. package/ReactAndroid/src/main/java/com/facebook/react/modules/datepicker/DatePickerDialogFragment.java +0 -137
  412. package/ReactAndroid/src/main/java/com/facebook/react/modules/datepicker/DatePickerDialogModule.java +0 -153
  413. package/ReactAndroid/src/main/java/com/facebook/react/modules/datepicker/DatePickerMode.java +0 -15
  414. package/ReactAndroid/src/main/java/com/facebook/react/modules/datepicker/DismissableDatePickerDialog.java +0 -117
  415. package/ReactAndroid/src/main/java/com/facebook/react/runtimescheduler/BUCK +0 -20
  416. package/ReactAndroid/src/main/java/com/facebook/react/runtimescheduler/RuntimeSchedulerManager.java +0 -39
  417. package/ReactAndroid/src/main/java/com/facebook/react/runtimescheduler/jni/Android.mk +0 -34
  418. package/ReactAndroid/src/main/java/com/facebook/react/runtimescheduler/jni/BUCK +0 -35
  419. package/ReactAndroid/src/main/java/com/facebook/react/runtimescheduler/jni/OnLoad.cpp +0 -15
  420. package/ReactAndroid/src/main/java/com/facebook/react/runtimescheduler/jni/RuntimeSchedulerManager.cpp +0 -46
  421. package/ReactAndroid/src/main/java/com/facebook/react/runtimescheduler/jni/RuntimeSchedulerManager.h +0 -40
  422. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/AndroidViewPagerManagerDelegate.java +0 -57
  423. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/AndroidViewPagerManagerInterface.java +0 -23
  424. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/BUCK +0 -19
  425. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/DatePickerManagerDelegate.java +0 -62
  426. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/DatePickerManagerInterface.java +0 -25
  427. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/InputAccessoryViewManagerDelegate.java +0 -33
  428. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/InputAccessoryViewManagerInterface.java +0 -17
  429. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/PullToRefreshViewManagerDelegate.java +0 -51
  430. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/PullToRefreshViewManagerInterface.java +0 -21
  431. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/SwitchManagerDelegate.java +0 -63
  432. package/ReactAndroid/src/main/java/com/facebook/react/viewmanagers/SwitchManagerInterface.java +0 -24
  433. package/android/com/facebook/react/react-native/0.66.0-rc.4/react-native-0.66.0-rc.4.aar.md5 +0 -1
  434. package/android/com/facebook/react/react-native/0.66.0-rc.4/react-native-0.66.0-rc.4.aar.sha1 +0 -1
  435. package/android/com/facebook/react/react-native/0.66.0-rc.4/react-native-0.66.0-rc.4.aar.sha256 +0 -1
  436. package/android/com/facebook/react/react-native/0.66.0-rc.4/react-native-0.66.0-rc.4.aar.sha512 +0 -1
  437. package/android/com/facebook/react/react-native/0.66.0-rc.4/react-native-0.66.0-rc.4.module.md5 +0 -1
  438. package/android/com/facebook/react/react-native/0.66.0-rc.4/react-native-0.66.0-rc.4.module.sha1 +0 -1
  439. package/android/com/facebook/react/react-native/0.66.0-rc.4/react-native-0.66.0-rc.4.module.sha256 +0 -1
  440. package/android/com/facebook/react/react-native/0.66.0-rc.4/react-native-0.66.0-rc.4.module.sha512 +0 -1
  441. package/android/com/facebook/react/react-native/0.66.0-rc.4/react-native-0.66.0-rc.4.pom.md5 +0 -1
  442. package/android/com/facebook/react/react-native/0.66.0-rc.4/react-native-0.66.0-rc.4.pom.sha1 +0 -1
  443. package/android/com/facebook/react/react-native/0.66.0-rc.4/react-native-0.66.0-rc.4.pom.sha256 +0 -1
  444. package/android/com/facebook/react/react-native/0.66.0-rc.4/react-native-0.66.0-rc.4.pom.sha512 +0 -1
  445. package/scripts/generate-specs.sh +0 -99
  446. package/template/_editorconfig +0 -3
  447. package/template/_gitattributes +0 -3
@@ -10,6 +10,7 @@
10
10
  #import <better/map.h>
11
11
 
12
12
  #import <React/RCTAssert.h>
13
+ #import <React/RCTComponent.h>
13
14
  #import <React/RCTFollyConvert.h>
14
15
  #import <React/RCTLog.h>
15
16
  #import <React/RCTUtils.h>
@@ -26,6 +27,18 @@
26
27
 
27
28
  using namespace facebook::react;
28
29
 
30
+ static SurfaceId RCTSurfaceIdForView(UIView *view)
31
+ {
32
+ do {
33
+ if (RCTIsReactRootView(@(view.tag))) {
34
+ return view.tag;
35
+ }
36
+ view = view.superview;
37
+ } while (view != nil);
38
+
39
+ return -1;
40
+ }
41
+
29
42
  static void RCTPerformMountInstructions(
30
43
  ShadowViewMutationList const &mutations,
31
44
  RCTComponentViewRegistry *registry,
@@ -282,9 +295,10 @@ static void RCTPerformMountInstructions(
282
295
  {
283
296
  RCTAssertMainQueue();
284
297
  UIView<RCTComponentViewProtocol> *componentView = [_componentViewRegistry findComponentViewWithTag:reactTag];
298
+ SurfaceId surfaceId = RCTSurfaceIdForView(componentView);
285
299
  SharedProps oldProps = [componentView props];
286
300
  SharedProps newProps = componentDescriptor.cloneProps(
287
- PropsParserContext{-1, *_contextContainer.get()}, oldProps, RawProps(convertIdToFollyDynamic(props)));
301
+ PropsParserContext{surfaceId, *_contextContainer.get()}, oldProps, RawProps(convertIdToFollyDynamic(props)));
288
302
 
289
303
  NSSet<NSString *> *propKeys = componentView.propKeysManagedByAnimated_DO_NOT_USE_THIS_IS_BROKEN ?: [NSSet new];
290
304
  propKeys = [propKeys setByAddingObjectsFromArray:props.allKeys];
@@ -110,7 +110,6 @@ class LayoutAnimationDelegateProxy : public LayoutAnimationStatusDelegate, publi
110
110
  std::shared_ptr<SchedulerDelegateProxy> _delegateProxy;
111
111
  std::shared_ptr<LayoutAnimationDelegateProxy> _layoutAnimationDelegateProxy;
112
112
  RunLoopObserver::Unique _uiRunLoopObserver;
113
- BOOL _layoutAnimationsEnabled;
114
113
  }
115
114
 
116
115
  - (instancetype)initWithToolbox:(SchedulerToolbox)toolbox
@@ -118,14 +117,22 @@ class LayoutAnimationDelegateProxy : public LayoutAnimationStatusDelegate, publi
118
117
  if (self = [super init]) {
119
118
  auto reactNativeConfig =
120
119
  toolbox.contextContainer->at<std::shared_ptr<const ReactNativeConfig>>("ReactNativeConfig");
121
- _layoutAnimationsEnabled = reactNativeConfig->getBool("react_fabric:enabled_layout_animations_ios");
122
120
 
123
121
  _delegateProxy = std::make_shared<SchedulerDelegateProxy>((__bridge void *)self);
124
122
 
125
- if (_layoutAnimationsEnabled) {
123
+ if (reactNativeConfig->getBool("react_fabric:enabled_layout_animations_ios")) {
126
124
  _layoutAnimationDelegateProxy = std::make_shared<LayoutAnimationDelegateProxy>((__bridge void *)self);
127
- _animationDriver =
128
- std::make_shared<LayoutAnimationDriver>(toolbox.runtimeExecutor, _layoutAnimationDelegateProxy.get());
125
+ _animationDriver = std::make_shared<LayoutAnimationDriver>(
126
+ toolbox.runtimeExecutor, toolbox.contextContainer, _layoutAnimationDelegateProxy.get());
127
+ if (reactNativeConfig->getBool("react_fabric:enabled_skip_invalidated_key_frames_ios")) {
128
+ _animationDriver->enableSkipInvalidatedKeyFrames();
129
+ }
130
+ if (reactNativeConfig->getBool("react_fabric:enable_crash_on_missing_component_descriptor")) {
131
+ _animationDriver->enableCrashOnMissingComponentDescriptor();
132
+ }
133
+ if (reactNativeConfig->getBool("react_fabric:enable_simulate_image_props_memory_access")) {
134
+ _animationDriver->enableSimulateImagePropsMemoryAccess();
135
+ }
129
136
  _uiRunLoopObserver =
130
137
  toolbox.mainRunLoopObserverFactory(RunLoopObserver::Activity::BeforeWaiting, _layoutAnimationDelegateProxy);
131
138
  _uiRunLoopObserver->setDelegate(_layoutAnimationDelegateProxy.get());
@@ -259,10 +259,6 @@ static BackgroundExecutor RCTGetBackgroundExecutor()
259
259
  RCTSetRemoveClippedSubviewsEnabled(YES);
260
260
  }
261
261
 
262
- if (reactNativeConfig && reactNativeConfig->getBool("react_fabric:enable_initial_max_size_ios")) {
263
- RCTSetInitialMaxSizeEnabled(YES);
264
- }
265
-
266
262
  auto componentRegistryFactory =
267
263
  [factory = wrapManagedObject(_mountingManager.componentViewRegistry.componentViewFactory)](
268
264
  EventDispatcher::Weak const &eventDispatcher, ContextContainer::Shared const &contextContainer) {
@@ -10,7 +10,6 @@
10
10
  #import <React/RCTUtils.h>
11
11
  #import <React/RCTViewComponentView.h>
12
12
  #import <UIKit/UIGestureRecognizerSubclass.h>
13
- #import <UIKit/UIKit.h>
14
13
 
15
14
  #import "RCTConversions.h"
16
15
  #import "RCTTouchableComponentViewProtocol.h"
@@ -83,8 +82,7 @@ static void UpdateActiveTouchWithUITouch(
83
82
  ActiveTouch &activeTouch,
84
83
  UITouch *uiTouch,
85
84
  UIView *rootComponentView,
86
- CGPoint rootViewOriginOffset,
87
- NSTimeInterval unixTimestampBasis)
85
+ CGPoint rootViewOriginOffset)
88
86
  {
89
87
  CGPoint offsetPoint = [uiTouch locationInView:activeTouch.componentView];
90
88
  CGPoint screenPoint = [uiTouch locationInView:uiTouch.window];
@@ -95,18 +93,14 @@ static void UpdateActiveTouchWithUITouch(
95
93
  activeTouch.touch.screenPoint = RCTPointFromCGPoint(screenPoint);
96
94
  activeTouch.touch.pagePoint = RCTPointFromCGPoint(pagePoint);
97
95
 
98
- activeTouch.touch.timestamp = unixTimestampBasis + uiTouch.timestamp;
96
+ activeTouch.touch.timestamp = uiTouch.timestamp;
99
97
 
100
98
  if (RCTForceTouchAvailable()) {
101
99
  activeTouch.touch.force = RCTZeroIfNaN(uiTouch.force / uiTouch.maximumPossibleForce);
102
100
  }
103
101
  }
104
102
 
105
- static ActiveTouch CreateTouchWithUITouch(
106
- UITouch *uiTouch,
107
- UIView *rootComponentView,
108
- CGPoint rootViewOriginOffset,
109
- NSTimeInterval unixTimestampBasis)
103
+ static ActiveTouch CreateTouchWithUITouch(UITouch *uiTouch, UIView *rootComponentView, CGPoint rootViewOriginOffset)
110
104
  {
111
105
  ActiveTouch activeTouch = {};
112
106
 
@@ -123,7 +117,7 @@ static ActiveTouch CreateTouchWithUITouch(
123
117
  componentView = componentView.superview;
124
118
  }
125
119
 
126
- UpdateActiveTouchWithUITouch(activeTouch, uiTouch, rootComponentView, rootViewOriginOffset, unixTimestampBasis);
120
+ UpdateActiveTouchWithUITouch(activeTouch, uiTouch, rootComponentView, rootViewOriginOffset);
127
121
  return activeTouch;
128
122
  }
129
123
 
@@ -173,12 +167,6 @@ struct PointerHasher {
173
167
  */
174
168
  __weak UIView *_rootComponentView;
175
169
  IdentifierPool<11> _identifierPool;
176
-
177
- /*
178
- * See Touch.h and usage. This gives us a time-basis for a monotonic
179
- * clock that acts like a timestamp of milliseconds elapsed since UNIX epoch.
180
- */
181
- NSTimeInterval _unixEpochBasisTime;
182
170
  }
183
171
 
184
172
  - (instancetype)init
@@ -193,8 +181,6 @@ struct PointerHasher {
193
181
  self.delaysTouchesEnded = NO;
194
182
 
195
183
  self.delegate = self;
196
-
197
- _unixEpochBasisTime = [[NSDate date] timeIntervalSince1970] - [NSProcessInfo processInfo].systemUptime;
198
184
  }
199
185
 
200
186
  return self;
@@ -222,7 +208,7 @@ RCT_NOT_IMPLEMENTED(-(instancetype)initWithTarget : (id)target action : (SEL)act
222
208
  - (void)_registerTouches:(NSSet<UITouch *> *)touches
223
209
  {
224
210
  for (UITouch *touch in touches) {
225
- auto activeTouch = CreateTouchWithUITouch(touch, _rootComponentView, _viewOriginOffset, _unixEpochBasisTime);
211
+ auto activeTouch = CreateTouchWithUITouch(touch, _rootComponentView, _viewOriginOffset);
226
212
  activeTouch.touch.identifier = _identifierPool.dequeue();
227
213
  _activeTouches.emplace(touch, activeTouch);
228
214
  }
@@ -237,7 +223,7 @@ RCT_NOT_IMPLEMENTED(-(instancetype)initWithTarget : (id)target action : (SEL)act
237
223
  continue;
238
224
  }
239
225
 
240
- UpdateActiveTouchWithUITouch(iterator->second, touch, _rootComponentView, _viewOriginOffset, _unixEpochBasisTime);
226
+ UpdateActiveTouchWithUITouch(iterator->second, touch, _rootComponentView, _viewOriginOffset);
241
227
  }
242
228
  }
243
229
 
@@ -61,9 +61,7 @@ using namespace facebook::react;
61
61
 
62
62
  [_surfacePresenter registerSurface:self];
63
63
 
64
- if (RCTGetInitialMaxSizeEnabled()) {
65
- [self setMinimumSize:CGSizeZero maximumSize:RCTViewportSize()];
66
- }
64
+ [self setMinimumSize:CGSizeZero maximumSize:RCTViewportSize()];
67
65
 
68
66
  [self _updateLayoutContext];
69
67
 
@@ -36,7 +36,6 @@ Pod::Spec.new do |s|
36
36
  s.compiler_flags = folly_compiler_flags + ' ' + boost_compiler_flags
37
37
  s.header_dir = "React"
38
38
  s.framework = "JavaScriptCore"
39
- s.library = "stdc++"
40
39
  s.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ReactCommon\" \"$(PODS_ROOT)/boost\" \"$(PODS_ROOT)/DoubleConversion\" \"$(PODS_ROOT)/RCT-Folly\" \"$(PODS_ROOT)/Headers/Private/React-Core\"" }
41
40
  s.xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/boost\" \"$(PODS_ROOT)/glog\" \"$(PODS_ROOT)/RCT-Folly\"",
42
41
  "OTHER_CFLAGS" => "$(inherited) -DRN_FABRIC_ENABLED" + " " + folly_flags }
@@ -11,18 +11,16 @@
11
11
 
12
12
  #import <CoreText/CoreText.h>
13
13
 
14
- #import <mutex>
15
-
16
14
  typedef CGFloat RCTFontWeight;
17
15
  static RCTFontWeight weightOfFont(UIFont *font)
18
16
  {
19
- static NSArray *fontNames;
20
- static NSArray *fontWeights;
17
+ static NSArray<NSString *> *weightSuffixes;
18
+ static NSArray<NSNumber *> *fontWeights;
21
19
  static dispatch_once_t onceToken;
22
20
  dispatch_once(&onceToken, ^{
23
21
  // We use two arrays instead of one map because
24
22
  // the order is important for suffix matching.
25
- fontNames = @[
23
+ weightSuffixes = @[
26
24
  @"normal",
27
25
  @"ultralight",
28
26
  @"thin",
@@ -54,28 +52,29 @@ static RCTFontWeight weightOfFont(UIFont *font)
54
52
  ];
55
53
  });
56
54
 
57
- for (NSInteger i = 0; i < 0 || i < (unsigned)fontNames.count; i++) {
58
- if ([font.fontName.lowercaseString hasSuffix:fontNames[i]]) {
59
- return (RCTFontWeight)[fontWeights[i] doubleValue];
55
+ NSString *fontName = font.fontName;
56
+ NSInteger i = 0;
57
+ for (NSString *suffix in weightSuffixes) {
58
+ // CFStringFind is much faster than any variant of rangeOfString: because it does not use a locale.
59
+ auto options = kCFCompareCaseInsensitive | kCFCompareAnchored | kCFCompareBackwards;
60
+ if (CFStringFind((CFStringRef)fontName, (CFStringRef)suffix, options).location != kCFNotFound) {
61
+ return (RCTFontWeight)fontWeights[i].doubleValue;
60
62
  }
63
+ i++;
61
64
  }
62
65
 
63
- NSDictionary *traits = [font.fontDescriptor objectForKey:UIFontDescriptorTraitsAttribute];
66
+ auto traits = (__bridge_transfer NSDictionary *)CTFontCopyTraits((CTFontRef)font);
64
67
  return (RCTFontWeight)[traits[UIFontWeightTrait] doubleValue];
65
68
  }
66
69
 
67
70
  static BOOL isItalicFont(UIFont *font)
68
71
  {
69
- NSDictionary *traits = [font.fontDescriptor objectForKey:UIFontDescriptorTraitsAttribute];
70
- UIFontDescriptorSymbolicTraits symbolicTraits = [traits[UIFontSymbolicTrait] unsignedIntValue];
71
- return (symbolicTraits & UIFontDescriptorTraitItalic) != 0;
72
+ return (CTFontGetSymbolicTraits((CTFontRef)font) & kCTFontTraitItalic) != 0;
72
73
  }
73
74
 
74
75
  static BOOL isCondensedFont(UIFont *font)
75
76
  {
76
- NSDictionary *traits = [font.fontDescriptor objectForKey:UIFontDescriptorTraitsAttribute];
77
- UIFontDescriptorSymbolicTraits symbolicTraits = [traits[UIFontSymbolicTrait] unsignedIntValue];
78
- return (symbolicTraits & UIFontDescriptorTraitCondensed) != 0;
77
+ return (CTFontGetSymbolicTraits((CTFontRef)font) & kCTFontTraitCondensed) != 0;
79
78
  }
80
79
 
81
80
  static RCTFontHandler defaultFontHandler;
@@ -130,18 +129,16 @@ static NSString *FontWeightDescriptionFromUIFontWeight(UIFontWeight fontWeight)
130
129
 
131
130
  static UIFont *cachedSystemFont(CGFloat size, RCTFontWeight weight)
132
131
  {
133
- static NSCache *fontCache;
134
- static std::mutex *fontCacheMutex = new std::mutex;
135
-
136
- NSString *cacheKey = [NSString stringWithFormat:@"%.1f/%.2f", size, weight];
137
- UIFont *font;
138
- {
139
- std::lock_guard<std::mutex> lock(*fontCacheMutex);
140
- if (!fontCache) {
141
- fontCache = [NSCache new];
142
- }
143
- font = [fontCache objectForKey:cacheKey];
144
- }
132
+ static NSCache<NSValue *, UIFont *> *fontCache = [NSCache new];
133
+
134
+ struct __attribute__((__packed__)) CacheKey {
135
+ CGFloat size;
136
+ RCTFontWeight weight;
137
+ };
138
+
139
+ CacheKey key{size, weight};
140
+ NSValue *cacheKey = [[NSValue alloc] initWithBytes:&key objCType:@encode(CacheKey)];
141
+ UIFont *font = [fontCache objectForKey:cacheKey];
145
142
 
146
143
  if (!font) {
147
144
  if (defaultFontHandler) {
@@ -151,15 +148,36 @@ static UIFont *cachedSystemFont(CGFloat size, RCTFontWeight weight)
151
148
  font = [UIFont systemFontOfSize:size weight:weight];
152
149
  }
153
150
 
154
- {
155
- std::lock_guard<std::mutex> lock(*fontCacheMutex);
156
- [fontCache setObject:font forKey:cacheKey];
157
- }
151
+ [fontCache setObject:font forKey:cacheKey];
158
152
  }
159
153
 
160
154
  return font;
161
155
  }
162
156
 
157
+ // Caching wrapper around expensive +[UIFont fontNamesForFamilyName:]
158
+ static NSArray<NSString *> *fontNamesForFamilyName(NSString *familyName)
159
+ {
160
+ static NSCache<NSString *, NSArray<NSString *> *> *cache;
161
+ static dispatch_once_t onceToken;
162
+ dispatch_once(&onceToken, ^{
163
+ cache = [NSCache new];
164
+ [NSNotificationCenter.defaultCenter
165
+ addObserverForName:(NSNotificationName)kCTFontManagerRegisteredFontsChangedNotification
166
+ object:nil
167
+ queue:nil
168
+ usingBlock:^(NSNotification *) {
169
+ [cache removeAllObjects];
170
+ }];
171
+ });
172
+
173
+ auto names = [cache objectForKey:familyName];
174
+ if (!names) {
175
+ names = [UIFont fontNamesForFamilyName:familyName] ?: [NSArray new];
176
+ [cache setObject:names forKey:familyName];
177
+ }
178
+ return names;
179
+ }
180
+
163
181
  @implementation RCTConvert (RCTFont)
164
182
 
165
183
  + (UIFont *)UIFont:(id)json
@@ -315,7 +333,7 @@ RCT_ARRAY_CONVERTER(RCTFontVariantDescriptor)
315
333
 
316
334
  // Gracefully handle being given a font name rather than font family, for
317
335
  // example: "Helvetica Light Oblique" rather than just "Helvetica".
318
- if (!didFindFont && [UIFont fontNamesForFamilyName:familyName].count == 0) {
336
+ if (!didFindFont && fontNamesForFamilyName(familyName).count == 0) {
319
337
  font = [UIFont fontWithName:familyName size:fontSize];
320
338
  if (font) {
321
339
  // It's actually a font name, not a font family name,
@@ -339,7 +357,8 @@ RCT_ARRAY_CONVERTER(RCTFontVariantDescriptor)
339
357
 
340
358
  // Get the closest font that matches the given weight for the fontFamily
341
359
  CGFloat closestWeight = INFINITY;
342
- for (NSString *name in [UIFont fontNamesForFamilyName:familyName]) {
360
+ NSArray<NSString *> *names = fontNamesForFamilyName(familyName);
361
+ for (NSString *name in names) {
343
362
  UIFont *match = [UIFont fontWithName:name size:fontSize];
344
363
  if (isItalic == isItalicFont(match) && isCondensed == isCondensedFont(match)) {
345
364
  CGFloat testWeight = weightOfFont(match);
@@ -352,11 +371,8 @@ RCT_ARRAY_CONVERTER(RCTFontVariantDescriptor)
352
371
 
353
372
  // If we still don't have a match at least return the first font in the fontFamily
354
373
  // This is to support built-in font Zapfino and other custom single font families like Impact
355
- if (!font) {
356
- NSArray *names = [UIFont fontNamesForFamilyName:familyName];
357
- if (names.count > 0) {
358
- font = [UIFont fontWithName:names[0] size:fontSize];
359
- }
374
+ if (!font && names.count > 0) {
375
+ font = [UIFont fontWithName:names[0] size:fontSize];
360
376
  }
361
377
 
362
378
  // Apply font variants to font object
@@ -276,12 +276,7 @@ RCT_NOT_IMPLEMENTED(-(instancetype)initWithCoder : unused)
276
276
 
277
277
  if (bundle) {
278
278
  NSURL *url = [bundle URLForResource:@"Localizable" withExtension:@"strings"];
279
- if (@available(iOS 11.0, *)) {
280
- rolesAndStatesDescription = [NSDictionary dictionaryWithContentsOfURL:url error:nil];
281
- } else {
282
- // Fallback on earlier versions
283
- rolesAndStatesDescription = [NSDictionary dictionaryWithContentsOfURL:url];
284
- }
279
+ rolesAndStatesDescription = [NSDictionary dictionaryWithContentsOfURL:url error:nil];
285
280
  }
286
281
  if (rolesAndStatesDescription == nil) {
287
282
  // Falling back to hardcoded English list.
@@ -51,7 +51,7 @@ RCT_MULTI_ENUM_CONVERTER(
51
51
  @"menu" : @(UIAccessibilityTraitNone),
52
52
  @"menubar" : @(UIAccessibilityTraitNone),
53
53
  @"menuitem" : @(UIAccessibilityTraitNone),
54
- @"progressbar" : @(UIAccessibilityTraitNone),
54
+ @"progressbar" : @(UIAccessibilityTraitUpdatesFrequently),
55
55
  @"radio" : @(UIAccessibilityTraitNone),
56
56
  @"radiogroup" : @(UIAccessibilityTraitNone),
57
57
  @"scrollbar" : @(UIAccessibilityTraitNone),
@@ -172,7 +172,8 @@ RCT_CUSTOM_VIEW_PROPERTY(accessibilityRole, UIAccessibilityTraits, RCTView)
172
172
  const UIAccessibilityTraits AccessibilityRolesMask = UIAccessibilityTraitNone | UIAccessibilityTraitButton |
173
173
  UIAccessibilityTraitLink | UIAccessibilityTraitSearchField | UIAccessibilityTraitImage |
174
174
  UIAccessibilityTraitKeyboardKey | UIAccessibilityTraitStaticText | UIAccessibilityTraitAdjustable |
175
- UIAccessibilityTraitHeader | UIAccessibilityTraitSummaryElement | SwitchAccessibilityTrait;
175
+ UIAccessibilityTraitHeader | UIAccessibilityTraitSummaryElement | UIAccessibilityTraitTabBar |
176
+ UIAccessibilityTraitUpdatesFrequently | SwitchAccessibilityTrait;
176
177
  view.reactAccessibilityElement.accessibilityTraits =
177
178
  view.reactAccessibilityElement.accessibilityTraits & ~AccessibilityRolesMask;
178
179
  UIAccessibilityTraits newTraits = json ? [RCTConvert UIAccessibilityTraits:json] : defaultView.accessibilityTraits;
@@ -52,13 +52,9 @@ RCT_NOT_IMPLEMENTED(-(instancetype)initWithFrame : (CGRect)frame)
52
52
 
53
53
  - (UIEdgeInsets)safeAreaInsetsIfSupportedAndEnabled
54
54
  {
55
- #if defined(__IPHONE_OS_VERSION_MAX_ALLOWED) && __IPHONE_OS_VERSION_MAX_ALLOWED >= 110000 /* __IPHONE_11_0 */
56
55
  if (self.isSupportedByOS) {
57
- if (@available(iOS 11.0, *)) {
58
- return self.safeAreaInsets;
59
- }
56
+ return self.safeAreaInsets;
60
57
  }
61
- #endif
62
58
  return self.emulateUnlessSupported ? self.emulatedSafeAreaInsets : UIEdgeInsetsZero;
63
59
  }
64
60
 
@@ -197,10 +197,8 @@
197
197
  if (CGSizeEqualToSize(contentSize, CGSizeZero)) {
198
198
  self.contentOffset = originalOffset;
199
199
  } else {
200
- if (@available(iOS 11.0, *)) {
201
- if (!UIEdgeInsetsEqualToEdgeInsets(UIEdgeInsetsZero, self.adjustedContentInset)) {
202
- contentInset = self.adjustedContentInset;
203
- }
200
+ if (!UIEdgeInsetsEqualToEdgeInsets(UIEdgeInsetsZero, self.adjustedContentInset)) {
201
+ contentInset = self.adjustedContentInset;
204
202
  }
205
203
  CGSize boundsSize = self.bounds.size;
206
204
  CGFloat xMaxOffset = contentSize.width - boundsSize.width + contentInset.right;
@@ -287,17 +285,13 @@
287
285
  _scrollView.delegate = self;
288
286
  _scrollView.delaysContentTouches = NO;
289
287
 
290
- #if defined(__IPHONE_OS_VERSION_MAX_ALLOWED) && __IPHONE_OS_VERSION_MAX_ALLOWED >= 110000 /* __IPHONE_11_0 */
291
288
  // `contentInsetAdjustmentBehavior` is only available since iOS 11.
292
289
  // We set the default behavior to "never" so that iOS
293
290
  // doesn't do weird things to UIScrollView insets automatically
294
291
  // and keeps it as an opt-in behavior.
295
292
  if ([_scrollView respondsToSelector:@selector(setContentInsetAdjustmentBehavior:)]) {
296
- if (@available(iOS 11.0, *)) {
297
- _scrollView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;
298
- }
293
+ _scrollView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;
299
294
  }
300
- #endif
301
295
 
302
296
  _automaticallyAdjustContentInsets = YES;
303
297
  _contentInset = UIEdgeInsetsZero;
@@ -940,19 +934,15 @@ RCT_SET_AND_PRESERVE_OFFSET(setScrollIndicatorInsets, scrollIndicatorInsets, UIE
940
934
  }
941
935
  #endif
942
936
 
943
- #if defined(__IPHONE_OS_VERSION_MAX_ALLOWED) && __IPHONE_OS_VERSION_MAX_ALLOWED >= 110000 /* __IPHONE_11_0 */
944
- - (void)setContentInsetAdjustmentBehavior:(UIScrollViewContentInsetAdjustmentBehavior)behavior API_AVAILABLE(ios(11.0))
937
+ - (void)setContentInsetAdjustmentBehavior:(UIScrollViewContentInsetAdjustmentBehavior)behavior
945
938
  {
946
939
  // `contentInsetAdjustmentBehavior` is available since iOS 11.
947
940
  if ([_scrollView respondsToSelector:@selector(setContentInsetAdjustmentBehavior:)]) {
948
941
  CGPoint contentOffset = _scrollView.contentOffset;
949
- if (@available(iOS 11.0, *)) {
950
- _scrollView.contentInsetAdjustmentBehavior = behavior;
951
- }
942
+ _scrollView.contentInsetAdjustmentBehavior = behavior;
952
943
  _scrollView.contentOffset = contentOffset;
953
944
  }
954
945
  }
955
- #endif
956
946
 
957
947
  - (void)sendScrollEventWithName:(NSString *)eventName
958
948
  scrollView:(UIScrollView *)scrollView
@@ -36,9 +36,6 @@ RCT_ENUM_CONVERTER(
36
36
  UIScrollViewIndicatorStyleDefault,
37
37
  integerValue)
38
38
 
39
- #pragma clang diagnostic push
40
- #pragma clang diagnostic ignored "-Wunguarded-availability-new"
41
- #if defined(__IPHONE_OS_VERSION_MAX_ALLOWED) && __IPHONE_OS_VERSION_MAX_ALLOWED >= 110000 /* __IPHONE_11_0 */
42
39
  RCT_ENUM_CONVERTER(
43
40
  UIScrollViewContentInsetAdjustmentBehavior,
44
41
  (@{
@@ -49,8 +46,6 @@ RCT_ENUM_CONVERTER(
49
46
  }),
50
47
  UIScrollViewContentInsetAdjustmentNever,
51
48
  integerValue)
52
- #endif
53
- #pragma clang diagnostic pop
54
49
 
55
50
  @end
56
51
 
@@ -105,9 +100,7 @@ RCT_EXPORT_VIEW_PROPERTY(inverted, BOOL)
105
100
  #if defined(__IPHONE_OS_VERSION_MAX_ALLOWED) && __IPHONE_OS_VERSION_MAX_ALLOWED >= 130000 /* __IPHONE_13_0 */
106
101
  RCT_EXPORT_VIEW_PROPERTY(automaticallyAdjustsScrollIndicatorInsets, BOOL)
107
102
  #endif
108
- #if defined(__IPHONE_OS_VERSION_MAX_ALLOWED) && __IPHONE_OS_VERSION_MAX_ALLOWED >= 110000 /* __IPHONE_11_0 */
109
103
  RCT_EXPORT_VIEW_PROPERTY(contentInsetAdjustmentBehavior, UIScrollViewContentInsetAdjustmentBehavior)
110
- #endif
111
104
 
112
105
  // overflow is used both in css-layout as well as by react-native. In css-layout
113
106
  // we always want to treat overflow as scroll but depending on what the overflow
@@ -47,21 +47,12 @@
47
47
 
48
48
  - (BOOL)shouldAccessibilityIgnoresInvertColors
49
49
  {
50
- #if defined(__IPHONE_OS_VERSION_MAX_ALLOWED) && __IPHONE_OS_VERSION_MAX_ALLOWED >= 110000 /* __IPHONE_11_0 */
51
- if (@available(iOS 11.0, *)) {
52
- return self.accessibilityIgnoresInvertColors;
53
- }
54
- #endif
55
- return NO;
50
+ return self.accessibilityIgnoresInvertColors;
56
51
  }
57
52
 
58
53
  - (void)setShouldAccessibilityIgnoresInvertColors:(BOOL)shouldAccessibilityIgnoresInvertColors
59
54
  {
60
- #if defined(__IPHONE_OS_VERSION_MAX_ALLOWED) && __IPHONE_OS_VERSION_MAX_ALLOWED >= 110000 /* __IPHONE_11_0 */
61
- if (@available(iOS 11.0, *)) {
62
- self.accessibilityIgnoresInvertColors = shouldAccessibilityIgnoresInvertColors;
63
- }
64
- #endif
55
+ self.accessibilityIgnoresInvertColors = shouldAccessibilityIgnoresInvertColors;
65
56
  }
66
57
 
67
58
  - (BOOL)isReactRootView
@@ -47,7 +47,6 @@ Pod::Spec.new do |s|
47
47
  s.compiler_flags = folly_compiler_flags + ' ' + boost_compiler_flags
48
48
  s.header_dir = "React"
49
49
  s.framework = "JavaScriptCore"
50
- s.library = "stdc++"
51
50
  s.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ReactCommon\" \"$(PODS_ROOT)/boost\" \"$(PODS_ROOT)/DoubleConversion\" \"$(PODS_ROOT)/RCT-Folly\" \"${PODS_ROOT}/Headers/Public/React-hermes\" \"${PODS_ROOT}/Headers/Public/hermes-engine\"", "DEFINES_MODULE" => "YES" }
52
51
  s.user_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/Headers/Private/React-Core\""}
53
52
  s.default_subspec = "Default"
@@ -7,7 +7,7 @@
7
7
 
8
8
  plugins {
9
9
  id("com.android.library")
10
- id("com.facebook.react.codegen")
10
+ id("com.facebook.react")
11
11
  id("maven-publish")
12
12
  id("de.undercouch.download")
13
13
  }
@@ -56,7 +56,6 @@ task downloadBoost(dependsOn: createNativeDepsDirectories, type: Download) {
56
56
 
57
57
  task prepareBoost(dependsOn: boostPath ? [] : [downloadBoost], type: Copy) {
58
58
  from(boostPath ?: tarTree(resources.gzip(downloadBoost.dest)))
59
- from("src/main/jni/third-party/boost/Android.mk")
60
59
  from("src/main/jni/third-party/boost")
61
60
  include("Android.mk", "boost_${BOOST_VERSION}/boost/**/*.hpp", "boost/boost/**/*.hpp", "asm/**/*.S")
62
61
  includeEmptyDirs = false
@@ -171,6 +170,7 @@ task downloadGlog(dependsOn: createNativeDepsDirectories, type: Download) {
171
170
  // Prepare glog sources to be compiled, this task will perform steps that normally should've been
172
171
  // executed by automake. This way we can avoid dependencies on make/automake
173
172
  task prepareGlog(dependsOn: dependenciesPath ? [] : [downloadGlog], type: Copy) {
173
+ duplicatesStrategy("warn")
174
174
  from(dependenciesPath ?: tarTree(downloadGlog.dest))
175
175
  from("src/main/jni/third-party/glog/")
176
176
  include("glog-${GLOG_VERSION}/src/**/*", "Android.mk", "config.h")
@@ -362,7 +362,8 @@ def buildReactNdkLib = tasks.register("buildReactNdkLib", Exec) {
362
362
  inputs.dir("src/main/java/com/facebook/react/turbomodule/core/jni")
363
363
  inputs.dir("src/main/java/com/facebook/react/modules/blob")
364
364
  outputs.dir("$buildDir/react-ndk/all")
365
- commandLine(getNdkBuildFullPath(),
365
+ def commandLineArgs = [
366
+ getNdkBuildFullPath(),
366
367
  "APP_ABI=${reactNativeArchitectures()}",
367
368
  "NDK_DEBUG=" + (nativeBuildType.equalsIgnoreCase("debug") ? "1" : "0"),
368
369
  "NDK_PROJECT_PATH=null",
@@ -375,7 +376,12 @@ def buildReactNdkLib = tasks.register("buildReactNdkLib", Exec) {
375
376
  "REACT_SRC_DIR=$projectDir/src/main/java/com/facebook/react",
376
377
  "-C", file("src/main/jni/react/jni").absolutePath,
377
378
  "--jobs", project.findProperty("jobs") ?: Runtime.runtime.availableProcessors()
378
- )
379
+ ]
380
+ if (Os.isFamily(Os.FAMILY_MAC)) {
381
+ // This flag will suppress "fcntl(): Bad file descriptor" warnings on local builds.
382
+ commandLineArgs.add("--output-sync=none")
383
+ }
384
+ commandLine(commandLineArgs)
379
385
  }
380
386
 
381
387
  def cleanReactNdkLib = tasks.register("cleanReactNdkLib", Exec) {
@@ -535,7 +541,7 @@ react {
535
541
  // This should be changed to a more generic name, e.g. `ReactCoreSpec`.
536
542
  libraryName = "rncore"
537
543
  jsRootDir = file("../Libraries")
538
- reactNativeRootDir = file("$projectDir/..")
544
+ reactRoot = file("$projectDir/..")
539
545
  useJavaGenerator = System.getenv("USE_CODEGEN_JAVAPOET") ?: false
540
546
  }
541
547
 
@@ -1,4 +1,4 @@
1
- VERSION_NAME=0.66.0-rc.4
1
+ VERSION_NAME=0.67.0-rc.1
2
2
  GROUP=com.facebook.react
3
3
 
4
4
  POM_NAME=ReactNative
@@ -25,7 +25,6 @@ rn_android_library(
25
25
  react_native_target("java/com/facebook/react/module/annotations:annotations"),
26
26
  react_native_target("java/com/facebook/react/modules/appstate:appstate"),
27
27
  react_native_target("java/com/facebook/react/modules/core:core"),
28
- react_native_target("java/com/facebook/react/modules/datepicker:datepicker"),
29
28
  react_native_target("java/com/facebook/react/modules/deviceinfo:deviceinfo"),
30
29
  react_native_target("java/com/facebook/react/modules/share:share"),
31
30
  react_native_target("java/com/facebook/react/modules/systeminfo:systeminfo"),
@@ -20,9 +20,7 @@ require('./TestJSLocaleModule');
20
20
  require('./TestJSToJavaParametersModule');
21
21
  require('./TestJavaToJSReturnValuesModule');
22
22
  require('./UIManagerTestModule');
23
-
24
23
  require('./CatalystRootViewTestModule');
25
- require('./DatePickerDialogTestModule');
26
24
  require('./MeasureLayoutTestModule');
27
25
  require('./ScrollViewTestModule');
28
26
  require('./ShareTestModule');
@@ -43,11 +41,6 @@ const apps = [
43
41
  component: () =>
44
42
  require('./CatalystRootViewTestModule').CatalystRootViewTestApp,
45
43
  },
46
- {
47
- appKey: 'DatePickerDialogTestApp',
48
- component: () =>
49
- require('./DatePickerDialogTestModule').DatePickerDialogTestApp,
50
- },
51
44
  {
52
45
  appKey: 'JSResponderTestApp',
53
46
  component: () => require('./JSResponderTestApp'),
@@ -31,7 +31,8 @@ rn_xplat_cxx_library(
31
31
  ],
32
32
  headers = ["HermesSamplingProfiler.h"],
33
33
  header_namespace = "",
34
- compiler_flags = ["-fexceptions"],
34
+ compiler_flags_enable_exceptions = True, # TODO: is this necessary?
35
+ compiler_flags_enable_rtti = True, # TODO: is this necessary?
35
36
  labels = ["supermodule:xplat/default/public.react_native.infra"],
36
37
  platforms = ANDROID,
37
38
  soname = "libjsijniprofiler.$(ext)",
@@ -49,7 +49,6 @@ rn_android_library(
49
49
  react_native_target("java/com/facebook/react/config:config"),
50
50
  react_native_target("java/com/facebook/react/turbomodule/core:core"),
51
51
  react_native_target("java/com/facebook/react/turbomodule/core/interfaces:interfaces"),
52
- react_native_target("java/com/facebook/react/runtimescheduler:runtimescheduler"),
53
52
  ],
54
53
  exported_deps = [
55
54
  react_native_target("java/com/facebook/react/modules/core:core"),