react-native 0.70.0-rc.4 → 0.70.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 (141) hide show
  1. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +18 -5
  2. package/Libraries/Core/ReactNativeVersion.js +2 -2
  3. package/Libraries/StyleSheet/StyleSheet.js +6 -1
  4. package/React/AppSetup/RCTAppSetupUtils.h +11 -7
  5. package/React/Base/RCTVersion.m +2 -2
  6. package/ReactAndroid/gradle.properties +1 -1
  7. package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/HermesExecutor.java +9 -4
  8. package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/HermesExecutorFactory.java +11 -1
  9. package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/OnLoad.cpp +18 -5
  10. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ForwardingCookieHandler.java +3 -1
  11. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java +2 -2
  12. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewProps.java +6 -4
  13. package/ReactAndroid/src/main/jni/first-party/yogajni/jni/YGJNIVanilla.cpp +2 -2
  14. package/ReactAndroid/src/main/jni/first-party/yogajni/jni/YogaJniException.cpp +1 -1
  15. package/ReactCommon/cxxreact/ReactNativeVersion.h +2 -2
  16. package/ReactCommon/hermes/executor/HermesExecutorFactory.cpp +35 -7
  17. package/ReactCommon/hermes/executor/HermesExecutorFactory.h +9 -1
  18. package/ReactCommon/hermes/inspector/chrome/Connection.cpp +9 -15
  19. package/android/com/facebook/react/hermes-engine/{0.70.0-rc.4/hermes-engine-0.70.0-rc.4-debug-sources.jar → 0.70.1/hermes-engine-0.70.1-debug-sources.jar} +0 -0
  20. package/android/com/facebook/react/hermes-engine/{0.70.0-rc.4/hermes-engine-0.70.0-rc.4-debug-sources.jar.md5 → 0.70.1/hermes-engine-0.70.1-debug-sources.jar.md5} +0 -0
  21. package/android/com/facebook/react/hermes-engine/{0.70.0-rc.4/hermes-engine-0.70.0-rc.4-debug-sources.jar.sha1 → 0.70.1/hermes-engine-0.70.1-debug-sources.jar.sha1} +0 -0
  22. package/android/com/facebook/react/hermes-engine/{0.70.0-rc.4/hermes-engine-0.70.0-rc.4-debug-sources.jar.sha256 → 0.70.1/hermes-engine-0.70.1-debug-sources.jar.sha256} +0 -0
  23. package/android/com/facebook/react/hermes-engine/{0.70.0-rc.4/hermes-engine-0.70.0-rc.4-debug-sources.jar.sha512 → 0.70.1/hermes-engine-0.70.1-debug-sources.jar.sha512} +0 -0
  24. package/android/com/facebook/react/hermes-engine/0.70.1/hermes-engine-0.70.1-debug.aar +0 -0
  25. package/android/com/facebook/react/hermes-engine/0.70.1/hermes-engine-0.70.1-debug.aar.md5 +1 -0
  26. package/android/com/facebook/react/hermes-engine/0.70.1/hermes-engine-0.70.1-debug.aar.sha1 +1 -0
  27. package/android/com/facebook/react/hermes-engine/0.70.1/hermes-engine-0.70.1-debug.aar.sha256 +1 -0
  28. package/android/com/facebook/react/hermes-engine/0.70.1/hermes-engine-0.70.1-debug.aar.sha512 +1 -0
  29. package/android/com/facebook/react/hermes-engine/{0.70.0-rc.4/hermes-engine-0.70.0-rc.4-release-sources.jar → 0.70.1/hermes-engine-0.70.1-release-sources.jar} +0 -0
  30. package/android/com/facebook/react/hermes-engine/{0.70.0-rc.4/hermes-engine-0.70.0-rc.4-release-sources.jar.md5 → 0.70.1/hermes-engine-0.70.1-release-sources.jar.md5} +0 -0
  31. package/android/com/facebook/react/hermes-engine/{0.70.0-rc.4/hermes-engine-0.70.0-rc.4-release-sources.jar.sha1 → 0.70.1/hermes-engine-0.70.1-release-sources.jar.sha1} +0 -0
  32. package/android/com/facebook/react/hermes-engine/{0.70.0-rc.4/hermes-engine-0.70.0-rc.4-release-sources.jar.sha256 → 0.70.1/hermes-engine-0.70.1-release-sources.jar.sha256} +0 -0
  33. package/android/com/facebook/react/hermes-engine/{0.70.0-rc.4/hermes-engine-0.70.0-rc.4-release-sources.jar.sha512 → 0.70.1/hermes-engine-0.70.1-release-sources.jar.sha512} +0 -0
  34. package/android/com/facebook/react/hermes-engine/0.70.1/hermes-engine-0.70.1-release.aar +0 -0
  35. package/android/com/facebook/react/hermes-engine/0.70.1/hermes-engine-0.70.1-release.aar.md5 +1 -0
  36. package/android/com/facebook/react/hermes-engine/0.70.1/hermes-engine-0.70.1-release.aar.sha1 +1 -0
  37. package/android/com/facebook/react/hermes-engine/0.70.1/hermes-engine-0.70.1-release.aar.sha256 +1 -0
  38. package/android/com/facebook/react/hermes-engine/0.70.1/hermes-engine-0.70.1-release.aar.sha512 +1 -0
  39. package/android/com/facebook/react/hermes-engine/{0.70.0-rc.4/hermes-engine-0.70.0-rc.4.module → 0.70.1/hermes-engine-0.70.1.module} +33 -33
  40. package/android/com/facebook/react/hermes-engine/0.70.1/hermes-engine-0.70.1.module.md5 +1 -0
  41. package/android/com/facebook/react/hermes-engine/0.70.1/hermes-engine-0.70.1.module.sha1 +1 -0
  42. package/android/com/facebook/react/hermes-engine/0.70.1/hermes-engine-0.70.1.module.sha256 +1 -0
  43. package/android/com/facebook/react/hermes-engine/0.70.1/hermes-engine-0.70.1.module.sha512 +1 -0
  44. package/android/com/facebook/react/hermes-engine/{0.70.0-rc.4/hermes-engine-0.70.0-rc.4.pom → 0.70.1/hermes-engine-0.70.1.pom} +1 -1
  45. package/android/com/facebook/react/hermes-engine/0.70.1/hermes-engine-0.70.1.pom.md5 +1 -0
  46. package/android/com/facebook/react/hermes-engine/0.70.1/hermes-engine-0.70.1.pom.sha1 +1 -0
  47. package/android/com/facebook/react/hermes-engine/0.70.1/hermes-engine-0.70.1.pom.sha256 +1 -0
  48. package/android/com/facebook/react/hermes-engine/0.70.1/hermes-engine-0.70.1.pom.sha512 +1 -0
  49. package/android/com/facebook/react/hermes-engine/maven-metadata.xml +4 -4
  50. package/android/com/facebook/react/hermes-engine/maven-metadata.xml.md5 +1 -1
  51. package/android/com/facebook/react/hermes-engine/maven-metadata.xml.sha1 +1 -1
  52. package/android/com/facebook/react/hermes-engine/maven-metadata.xml.sha256 +1 -1
  53. package/android/com/facebook/react/hermes-engine/maven-metadata.xml.sha512 +1 -1
  54. package/android/com/facebook/react/react-native/{0.70.0-rc.4/react-native-0.70.0-rc.4-debug-sources.jar → 0.70.1/react-native-0.70.1-debug-sources.jar} +0 -0
  55. package/android/com/facebook/react/react-native/0.70.1/react-native-0.70.1-debug-sources.jar.md5 +1 -0
  56. package/android/com/facebook/react/react-native/0.70.1/react-native-0.70.1-debug-sources.jar.sha1 +1 -0
  57. package/android/com/facebook/react/react-native/0.70.1/react-native-0.70.1-debug-sources.jar.sha256 +1 -0
  58. package/android/com/facebook/react/react-native/0.70.1/react-native-0.70.1-debug-sources.jar.sha512 +1 -0
  59. package/android/com/facebook/react/react-native/{0.70.0-rc.4/react-native-0.70.0-rc.4-debug.aar → 0.70.1/react-native-0.70.1-debug.aar} +0 -0
  60. package/android/com/facebook/react/react-native/0.70.1/react-native-0.70.1-debug.aar.md5 +1 -0
  61. package/android/com/facebook/react/react-native/0.70.1/react-native-0.70.1-debug.aar.sha1 +1 -0
  62. package/android/com/facebook/react/react-native/0.70.1/react-native-0.70.1-debug.aar.sha256 +1 -0
  63. package/android/com/facebook/react/react-native/0.70.1/react-native-0.70.1-debug.aar.sha512 +1 -0
  64. package/android/com/facebook/react/react-native/{0.70.0-rc.4/react-native-0.70.0-rc.4-release-sources.jar → 0.70.1/react-native-0.70.1-release-sources.jar} +0 -0
  65. package/android/com/facebook/react/react-native/0.70.1/react-native-0.70.1-release-sources.jar.md5 +1 -0
  66. package/android/com/facebook/react/react-native/0.70.1/react-native-0.70.1-release-sources.jar.sha1 +1 -0
  67. package/android/com/facebook/react/react-native/0.70.1/react-native-0.70.1-release-sources.jar.sha256 +1 -0
  68. package/android/com/facebook/react/react-native/0.70.1/react-native-0.70.1-release-sources.jar.sha512 +1 -0
  69. package/android/com/facebook/react/react-native/{0.70.0-rc.4/react-native-0.70.0-rc.4-release.aar → 0.70.1/react-native-0.70.1-release.aar} +0 -0
  70. package/android/com/facebook/react/react-native/0.70.1/react-native-0.70.1-release.aar.md5 +1 -0
  71. package/android/com/facebook/react/react-native/0.70.1/react-native-0.70.1-release.aar.sha1 +1 -0
  72. package/android/com/facebook/react/react-native/0.70.1/react-native-0.70.1-release.aar.sha256 +1 -0
  73. package/android/com/facebook/react/react-native/0.70.1/react-native-0.70.1-release.aar.sha512 +1 -0
  74. package/android/com/facebook/react/react-native/{0.70.0-rc.4/react-native-0.70.0-rc.4.module → 0.70.1/react-native-0.70.1.module} +43 -43
  75. package/android/com/facebook/react/react-native/0.70.1/react-native-0.70.1.module.md5 +1 -0
  76. package/android/com/facebook/react/react-native/0.70.1/react-native-0.70.1.module.sha1 +1 -0
  77. package/android/com/facebook/react/react-native/0.70.1/react-native-0.70.1.module.sha256 +1 -0
  78. package/android/com/facebook/react/react-native/0.70.1/react-native-0.70.1.module.sha512 +1 -0
  79. package/android/com/facebook/react/react-native/{0.70.0-rc.4/react-native-0.70.0-rc.4.pom → 0.70.1/react-native-0.70.1.pom} +1 -1
  80. package/android/com/facebook/react/react-native/0.70.1/react-native-0.70.1.pom.md5 +1 -0
  81. package/android/com/facebook/react/react-native/0.70.1/react-native-0.70.1.pom.sha1 +1 -0
  82. package/android/com/facebook/react/react-native/0.70.1/react-native-0.70.1.pom.sha256 +1 -0
  83. package/android/com/facebook/react/react-native/0.70.1/react-native-0.70.1.pom.sha512 +1 -0
  84. package/android/com/facebook/react/react-native/maven-metadata.xml +4 -4
  85. package/android/com/facebook/react/react-native/maven-metadata.xml.md5 +1 -1
  86. package/android/com/facebook/react/react-native/maven-metadata.xml.sha1 +1 -1
  87. package/android/com/facebook/react/react-native/maven-metadata.xml.sha256 +1 -1
  88. package/android/com/facebook/react/react-native/maven-metadata.xml.sha512 +1 -1
  89. package/package.json +3 -3
  90. package/scripts/cocoapods/utils.rb +6 -4
  91. package/scripts/codegen/generate-artifacts-executor.js +85 -13
  92. package/sdks/.hermesversion +1 -1
  93. package/sdks/hermesc/linux64-bin/hermesc +0 -0
  94. package/sdks/hermesc/osx-bin/hermesc +0 -0
  95. package/sdks/hermesc/win64-bin/hermesc.exe +0 -0
  96. package/sdks/hermesc/win64-bin/msvcp140.dll +0 -0
  97. package/sdks/hermesc/win64-bin/vcruntime140.dll +0 -0
  98. package/sdks/hermesc/win64-bin/vcruntime140_1.dll +0 -0
  99. package/template/package.json +1 -1
  100. package/android/com/facebook/react/hermes-engine/0.70.0-rc.4/hermes-engine-0.70.0-rc.4-debug.aar +0 -0
  101. package/android/com/facebook/react/hermes-engine/0.70.0-rc.4/hermes-engine-0.70.0-rc.4-debug.aar.md5 +0 -1
  102. package/android/com/facebook/react/hermes-engine/0.70.0-rc.4/hermes-engine-0.70.0-rc.4-debug.aar.sha1 +0 -1
  103. package/android/com/facebook/react/hermes-engine/0.70.0-rc.4/hermes-engine-0.70.0-rc.4-debug.aar.sha256 +0 -1
  104. package/android/com/facebook/react/hermes-engine/0.70.0-rc.4/hermes-engine-0.70.0-rc.4-debug.aar.sha512 +0 -1
  105. package/android/com/facebook/react/hermes-engine/0.70.0-rc.4/hermes-engine-0.70.0-rc.4-release.aar +0 -0
  106. package/android/com/facebook/react/hermes-engine/0.70.0-rc.4/hermes-engine-0.70.0-rc.4-release.aar.md5 +0 -1
  107. package/android/com/facebook/react/hermes-engine/0.70.0-rc.4/hermes-engine-0.70.0-rc.4-release.aar.sha1 +0 -1
  108. package/android/com/facebook/react/hermes-engine/0.70.0-rc.4/hermes-engine-0.70.0-rc.4-release.aar.sha256 +0 -1
  109. package/android/com/facebook/react/hermes-engine/0.70.0-rc.4/hermes-engine-0.70.0-rc.4-release.aar.sha512 +0 -1
  110. package/android/com/facebook/react/hermes-engine/0.70.0-rc.4/hermes-engine-0.70.0-rc.4.module.md5 +0 -1
  111. package/android/com/facebook/react/hermes-engine/0.70.0-rc.4/hermes-engine-0.70.0-rc.4.module.sha1 +0 -1
  112. package/android/com/facebook/react/hermes-engine/0.70.0-rc.4/hermes-engine-0.70.0-rc.4.module.sha256 +0 -1
  113. package/android/com/facebook/react/hermes-engine/0.70.0-rc.4/hermes-engine-0.70.0-rc.4.module.sha512 +0 -1
  114. package/android/com/facebook/react/hermes-engine/0.70.0-rc.4/hermes-engine-0.70.0-rc.4.pom.md5 +0 -1
  115. package/android/com/facebook/react/hermes-engine/0.70.0-rc.4/hermes-engine-0.70.0-rc.4.pom.sha1 +0 -1
  116. package/android/com/facebook/react/hermes-engine/0.70.0-rc.4/hermes-engine-0.70.0-rc.4.pom.sha256 +0 -1
  117. package/android/com/facebook/react/hermes-engine/0.70.0-rc.4/hermes-engine-0.70.0-rc.4.pom.sha512 +0 -1
  118. package/android/com/facebook/react/react-native/0.70.0-rc.4/react-native-0.70.0-rc.4-debug-sources.jar.md5 +0 -1
  119. package/android/com/facebook/react/react-native/0.70.0-rc.4/react-native-0.70.0-rc.4-debug-sources.jar.sha1 +0 -1
  120. package/android/com/facebook/react/react-native/0.70.0-rc.4/react-native-0.70.0-rc.4-debug-sources.jar.sha256 +0 -1
  121. package/android/com/facebook/react/react-native/0.70.0-rc.4/react-native-0.70.0-rc.4-debug-sources.jar.sha512 +0 -1
  122. package/android/com/facebook/react/react-native/0.70.0-rc.4/react-native-0.70.0-rc.4-debug.aar.md5 +0 -1
  123. package/android/com/facebook/react/react-native/0.70.0-rc.4/react-native-0.70.0-rc.4-debug.aar.sha1 +0 -1
  124. package/android/com/facebook/react/react-native/0.70.0-rc.4/react-native-0.70.0-rc.4-debug.aar.sha256 +0 -1
  125. package/android/com/facebook/react/react-native/0.70.0-rc.4/react-native-0.70.0-rc.4-debug.aar.sha512 +0 -1
  126. package/android/com/facebook/react/react-native/0.70.0-rc.4/react-native-0.70.0-rc.4-release-sources.jar.md5 +0 -1
  127. package/android/com/facebook/react/react-native/0.70.0-rc.4/react-native-0.70.0-rc.4-release-sources.jar.sha1 +0 -1
  128. package/android/com/facebook/react/react-native/0.70.0-rc.4/react-native-0.70.0-rc.4-release-sources.jar.sha256 +0 -1
  129. package/android/com/facebook/react/react-native/0.70.0-rc.4/react-native-0.70.0-rc.4-release-sources.jar.sha512 +0 -1
  130. package/android/com/facebook/react/react-native/0.70.0-rc.4/react-native-0.70.0-rc.4-release.aar.md5 +0 -1
  131. package/android/com/facebook/react/react-native/0.70.0-rc.4/react-native-0.70.0-rc.4-release.aar.sha1 +0 -1
  132. package/android/com/facebook/react/react-native/0.70.0-rc.4/react-native-0.70.0-rc.4-release.aar.sha256 +0 -1
  133. package/android/com/facebook/react/react-native/0.70.0-rc.4/react-native-0.70.0-rc.4-release.aar.sha512 +0 -1
  134. package/android/com/facebook/react/react-native/0.70.0-rc.4/react-native-0.70.0-rc.4.module.md5 +0 -1
  135. package/android/com/facebook/react/react-native/0.70.0-rc.4/react-native-0.70.0-rc.4.module.sha1 +0 -1
  136. package/android/com/facebook/react/react-native/0.70.0-rc.4/react-native-0.70.0-rc.4.module.sha256 +0 -1
  137. package/android/com/facebook/react/react-native/0.70.0-rc.4/react-native-0.70.0-rc.4.module.sha512 +0 -1
  138. package/android/com/facebook/react/react-native/0.70.0-rc.4/react-native-0.70.0-rc.4.pom.md5 +0 -1
  139. package/android/com/facebook/react/react-native/0.70.0-rc.4/react-native-0.70.0-rc.4.pom.sha1 +0 -1
  140. package/android/com/facebook/react/react-native/0.70.0-rc.4/react-native-0.70.0-rc.4.pom.sha256 +0 -1
  141. package/android/com/facebook/react/react-native/0.70.0-rc.4/react-native-0.70.0-rc.4.pom.sha512 +0 -1
@@ -23,6 +23,7 @@ import type {
23
23
  ViewLayoutEvent,
24
24
  } from '../View/ViewPropTypes';
25
25
  import type {KeyboardEvent, KeyboardEventCoordinates} from './Keyboard';
26
+ import AccessibilityInfo from '../AccessibilityInfo/AccessibilityInfo';
26
27
 
27
28
  type Props = $ReadOnly<{|
28
29
  ...ViewProps,
@@ -71,12 +72,24 @@ class KeyboardAvoidingView extends React.Component<Props, State> {
71
72
  this.viewRef = React.createRef();
72
73
  }
73
74
 
74
- _relativeKeyboardHeight(keyboardFrame: KeyboardEventCoordinates): number {
75
+ async _relativeKeyboardHeight(
76
+ keyboardFrame: KeyboardEventCoordinates,
77
+ ): Promise<number> {
75
78
  const frame = this._frame;
76
79
  if (!frame || !keyboardFrame) {
77
80
  return 0;
78
81
  }
79
82
 
83
+ // On iOS when Prefer Cross-Fade Transitions is enabled, the keyboard position
84
+ // & height is reported differently (0 instead of Y position value matching height of frame)
85
+ if (
86
+ Platform.OS === 'ios' &&
87
+ keyboardFrame.screenY === 0 &&
88
+ (await AccessibilityInfo.prefersCrossFadeTransitions())
89
+ ) {
90
+ return 0;
91
+ }
92
+
80
93
  const keyboardY =
81
94
  keyboardFrame.screenY - (this.props.keyboardVerticalOffset ?? 0);
82
95
 
@@ -90,7 +103,7 @@ class KeyboardAvoidingView extends React.Component<Props, State> {
90
103
  this._updateBottomIfNecessary();
91
104
  };
92
105
 
93
- _onLayout = (event: ViewLayoutEvent) => {
106
+ _onLayout = async (event: ViewLayoutEvent) => {
94
107
  const wasFrameNull = this._frame == null;
95
108
  this._frame = event.nativeEvent.layout;
96
109
  if (!this._initialFrameHeight) {
@@ -99,7 +112,7 @@ class KeyboardAvoidingView extends React.Component<Props, State> {
99
112
  }
100
113
 
101
114
  if (wasFrameNull) {
102
- this._updateBottomIfNecessary();
115
+ await this._updateBottomIfNecessary();
103
116
  }
104
117
 
105
118
  if (this.props.onLayout) {
@@ -107,14 +120,14 @@ class KeyboardAvoidingView extends React.Component<Props, State> {
107
120
  }
108
121
  };
109
122
 
110
- _updateBottomIfNecessary = () => {
123
+ _updateBottomIfNecessary = async () => {
111
124
  if (this._keyboardEvent == null) {
112
125
  this.setState({bottom: 0});
113
126
  return;
114
127
  }
115
128
 
116
129
  const {duration, easing, endCoordinates} = this._keyboardEvent;
117
- const height = this._relativeKeyboardHeight(endCoordinates);
130
+ const height = await this._relativeKeyboardHeight(endCoordinates);
118
131
 
119
132
  if (this.state.bottom === height) {
120
133
  return;
@@ -12,6 +12,6 @@
12
12
  exports.version = {
13
13
  major: 0,
14
14
  minor: 70,
15
- patch: 0,
16
- prerelease: 'rc.4',
15
+ patch: 1,
16
+ prerelease: null,
17
17
  };
@@ -347,7 +347,12 @@ module.exports = {
347
347
  return;
348
348
  }
349
349
 
350
- if (__DEV__ && typeof value.process === 'function') {
350
+ if (
351
+ __DEV__ &&
352
+ typeof value.process === 'function' &&
353
+ typeof ReactNativeStyleAttributes[property]?.process === 'function' &&
354
+ value.process !== ReactNativeStyleAttributes[property]?.process
355
+ ) {
351
356
  console.warn(`Overwriting ${property} style attribute preprocessor`);
352
357
  }
353
358
 
@@ -9,6 +9,8 @@
9
9
  #import <React/RCTBridge.h>
10
10
  #import <React/RCTRootView.h>
11
11
 
12
+ #ifdef __cplusplus
13
+
12
14
  #if RCT_NEW_ARCH_ENABLED
13
15
 
14
16
  #ifndef RCT_USE_HERMES
@@ -28,13 +30,6 @@
28
30
  #import <ReactCommon/RCTTurboModuleManager.h>
29
31
  #endif
30
32
 
31
- RCT_EXTERN_C_BEGIN
32
-
33
- void RCTAppSetupPrepareApp(UIApplication *application);
34
- UIView *RCTAppSetupDefaultRootView(RCTBridge *bridge, NSString *moduleName, NSDictionary *initialProperties);
35
-
36
- RCT_EXTERN_C_END
37
-
38
33
  #if RCT_NEW_ARCH_ENABLED
39
34
  RCT_EXTERN id<RCTTurboModule> RCTAppSetupDefaultModuleFromClass(Class moduleClass);
40
35
 
@@ -42,3 +37,12 @@ std::unique_ptr<facebook::react::JSExecutorFactory> RCTAppSetupDefaultJsExecutor
42
37
  RCTBridge *bridge,
43
38
  RCTTurboModuleManager *turboModuleManager);
44
39
  #endif
40
+
41
+ #endif // __cplusplus
42
+
43
+ RCT_EXTERN_C_BEGIN
44
+
45
+ void RCTAppSetupPrepareApp(UIApplication *application);
46
+ UIView *RCTAppSetupDefaultRootView(RCTBridge *bridge, NSString *moduleName, NSDictionary *initialProperties);
47
+
48
+ RCT_EXTERN_C_END
@@ -23,8 +23,8 @@ NSDictionary* RCTGetReactNativeVersion(void)
23
23
  __rnVersion = @{
24
24
  RCTVersionMajor: @(0),
25
25
  RCTVersionMinor: @(70),
26
- RCTVersionPatch: @(0),
27
- RCTVersionPrerelease: @"rc.4",
26
+ RCTVersionPatch: @(1),
27
+ RCTVersionPrerelease: [NSNull null],
28
28
  };
29
29
  });
30
30
  return __rnVersion;
@@ -1,4 +1,4 @@
1
- VERSION_NAME=0.70.0-rc.4
1
+ VERSION_NAME=0.70.1
2
2
  GROUP=com.facebook.react
3
3
 
4
4
  POM_NAME=ReactNative
@@ -33,8 +33,11 @@ public class HermesExecutor extends JavaScriptExecutor {
33
33
  }
34
34
  }
35
35
 
36
- HermesExecutor(@Nullable RuntimeConfig config) {
37
- super(config == null ? initHybridDefaultConfig() : initHybrid(config.heapSizeMB));
36
+ HermesExecutor(@Nullable RuntimeConfig config, boolean enableDebugger, String debuggerName) {
37
+ super(
38
+ config == null
39
+ ? initHybridDefaultConfig(enableDebugger, debuggerName)
40
+ : initHybrid(enableDebugger, debuggerName, config.heapSizeMB));
38
41
  }
39
42
 
40
43
  @Override
@@ -51,7 +54,9 @@ public class HermesExecutor extends JavaScriptExecutor {
51
54
  */
52
55
  public static native boolean canLoadFile(String path);
53
56
 
54
- private static native HybridData initHybridDefaultConfig();
57
+ private static native HybridData initHybridDefaultConfig(
58
+ boolean enableDebugger, String debuggerName);
55
59
 
56
- private static native HybridData initHybrid(long heapSizeMB);
60
+ private static native HybridData initHybrid(
61
+ boolean enableDebugger, String debuggerName, long heapSizeMB);
57
62
  }
@@ -15,6 +15,8 @@ public class HermesExecutorFactory implements JavaScriptExecutorFactory {
15
15
  private static final String TAG = "Hermes";
16
16
 
17
17
  private final RuntimeConfig mConfig;
18
+ private boolean mEnableDebugger = true;
19
+ private String mDebuggerName = "";
18
20
 
19
21
  public HermesExecutorFactory() {
20
22
  this(null);
@@ -24,9 +26,17 @@ public class HermesExecutorFactory implements JavaScriptExecutorFactory {
24
26
  mConfig = config;
25
27
  }
26
28
 
29
+ public void setEnableDebugger(boolean enableDebugger) {
30
+ mEnableDebugger = enableDebugger;
31
+ }
32
+
33
+ public void setDebuggerName(String debuggerName) {
34
+ mDebuggerName = debuggerName;
35
+ }
36
+
27
37
  @Override
28
38
  public JavaScriptExecutor create() {
29
- return new HermesExecutor(mConfig);
39
+ return new HermesExecutor(mConfig, mEnableDebugger, mDebuggerName);
30
40
  }
31
41
 
32
42
  @Override
@@ -69,26 +69,39 @@ class HermesExecutorHolder
69
69
  "Lcom/facebook/hermes/reactexecutor/HermesExecutor;";
70
70
 
71
71
  static jni::local_ref<jhybriddata> initHybridDefaultConfig(
72
- jni::alias_ref<jclass>) {
72
+ jni::alias_ref<jclass>,
73
+ bool enableDebugger,
74
+ std::string debuggerName) {
73
75
  JReactMarker::setLogPerfMarkerIfNeeded();
74
76
 
75
77
  std::call_once(flag, []() {
76
78
  facebook::hermes::HermesRuntime::setFatalHandler(hermesFatalHandler);
77
79
  });
78
- return makeCxxInstance(
79
- std::make_unique<HermesExecutorFactory>(installBindings));
80
+ auto factory = std::make_unique<HermesExecutorFactory>(installBindings);
81
+ factory->setEnableDebugger(enableDebugger);
82
+ if (!debuggerName.empty()) {
83
+ factory->setDebuggerName(debuggerName);
84
+ }
85
+ return makeCxxInstance(std::move(factory));
80
86
  }
81
87
 
82
88
  static jni::local_ref<jhybriddata> initHybrid(
83
89
  jni::alias_ref<jclass>,
90
+ bool enableDebugger,
91
+ std::string debuggerName,
84
92
  jlong heapSizeMB) {
85
93
  JReactMarker::setLogPerfMarkerIfNeeded();
86
94
  auto runtimeConfig = makeRuntimeConfig(heapSizeMB);
87
95
  std::call_once(flag, []() {
88
96
  facebook::hermes::HermesRuntime::setFatalHandler(hermesFatalHandler);
89
97
  });
90
- return makeCxxInstance(std::make_unique<HermesExecutorFactory>(
91
- installBindings, JSIExecutor::defaultTimeoutInvoker, runtimeConfig));
98
+ auto factory = std::make_unique<HermesExecutorFactory>(
99
+ installBindings, JSIExecutor::defaultTimeoutInvoker, runtimeConfig);
100
+ factory->setEnableDebugger(enableDebugger);
101
+ if (!debuggerName.empty()) {
102
+ factory->setDebuggerName(debuggerName);
103
+ }
104
+ return makeCxxInstance(std::move(factory));
92
105
  }
93
106
 
94
107
  static bool canLoadFile(jni::alias_ref<jclass>, const std::string &path) {
@@ -152,7 +152,9 @@ public class ForwardingCookieHandler extends CookieHandler {
152
152
  || (message != null
153
153
  && (message.contains("WebView provider")
154
154
  || message.contains("No WebView installed")
155
- || message.contains("Cannot load WebView")))) {
155
+ || message.contains("Cannot load WebView")
156
+ || message.contains("disableWebView")
157
+ || message.contains("WebView is disabled")))) {
156
158
  return null;
157
159
  } else {
158
160
  throw exception;
@@ -17,6 +17,6 @@ public class ReactNativeVersion {
17
17
  public static final Map<String, Object> VERSION = MapBuilder.<String, Object>of(
18
18
  "major", 0,
19
19
  "minor", 70,
20
- "patch", 0,
21
- "prerelease", "rc.4");
20
+ "patch", 1,
21
+ "prerelease", null);
22
22
  }
@@ -278,14 +278,16 @@ public class ViewProps {
278
278
  }
279
279
  return true;
280
280
  case BORDER_LEFT_COLOR:
281
- return !map.isNull(BORDER_LEFT_COLOR) && map.getInt(BORDER_LEFT_COLOR) == Color.TRANSPARENT;
281
+ return map.getType(BORDER_LEFT_COLOR) == ReadableType.Number
282
+ && map.getInt(BORDER_LEFT_COLOR) == Color.TRANSPARENT;
282
283
  case BORDER_RIGHT_COLOR:
283
- return !map.isNull(BORDER_RIGHT_COLOR)
284
+ return map.getType(BORDER_RIGHT_COLOR) == ReadableType.Number
284
285
  && map.getInt(BORDER_RIGHT_COLOR) == Color.TRANSPARENT;
285
286
  case BORDER_TOP_COLOR:
286
- return !map.isNull(BORDER_TOP_COLOR) && map.getInt(BORDER_TOP_COLOR) == Color.TRANSPARENT;
287
+ return map.getType(BORDER_TOP_COLOR) == ReadableType.Number
288
+ && map.getInt(BORDER_TOP_COLOR) == Color.TRANSPARENT;
287
289
  case BORDER_BOTTOM_COLOR:
288
- return !map.isNull(BORDER_BOTTOM_COLOR)
290
+ return map.getType(BORDER_BOTTOM_COLOR) == ReadableType.Number
289
291
  && map.getInt(BORDER_BOTTOM_COLOR) == Color.TRANSPARENT;
290
292
  case BORDER_WIDTH:
291
293
  return map.isNull(BORDER_WIDTH) || map.getDouble(BORDER_WIDTH) == 0d;
@@ -147,7 +147,7 @@ static int YGJNILogFunc(
147
147
  if (*jloggerPtr) {
148
148
  JNIEnv* env = getCurrentEnv();
149
149
 
150
- jclass cl = env->FindClass("Lcom/facebook/yoga/YogaLogLevel;");
150
+ jclass cl = env->FindClass("com/facebook/yoga/YogaLogLevel");
151
151
  static const jmethodID smethodId =
152
152
  facebook::yoga::vanillajni::getStaticMethodId(
153
153
  env, cl, "fromInt", "(I)Lcom/facebook/yoga/YogaLogLevel;");
@@ -386,7 +386,7 @@ static void jni_YGNodeCalculateLayoutJNI(
386
386
  }
387
387
  } catch (const std::logic_error& ex) {
388
388
  env->ExceptionClear();
389
- jclass cl = env->FindClass("Ljava/lang/IllegalStateException;");
389
+ jclass cl = env->FindClass("java/lang/IllegalStateException");
390
390
  static const jmethodID methodId = facebook::yoga::vanillajni::getMethodId(
391
391
  env, cl, "<init>", "(Ljava/lang/String;)V");
392
392
  auto throwable = env->NewObject(cl, methodId, env->NewStringUTF(ex.what()));
@@ -15,7 +15,7 @@ namespace yoga {
15
15
  namespace vanillajni {
16
16
 
17
17
  YogaJniException::YogaJniException() {
18
- jclass cl = getCurrentEnv()->FindClass("Ljava/lang/RuntimeException;");
18
+ jclass cl = getCurrentEnv()->FindClass("java/lang/RuntimeException");
19
19
  static const jmethodID methodId = facebook::yoga::vanillajni::getMethodId(
20
20
  getCurrentEnv(), cl, "<init>", "()V");
21
21
  auto throwable = getCurrentEnv()->NewObject(cl, methodId);
@@ -17,8 +17,8 @@ namespace facebook::react {
17
17
  constexpr struct {
18
18
  int32_t Major = 0;
19
19
  int32_t Minor = 70;
20
- int32_t Patch = 0;
21
- std::string_view Prerelease = "rc.4";
20
+ int32_t Patch = 1;
21
+ std::string_view Prerelease = "";
22
22
  } ReactNativeVersion;
23
23
 
24
24
  } // namespace facebook::react
@@ -155,15 +155,20 @@ class DecoratedRuntime : public jsi::WithRuntimeDecorator<ReentrancyCheck> {
155
155
  DecoratedRuntime(
156
156
  std::unique_ptr<Runtime> runtime,
157
157
  HermesRuntime &hermesRuntime,
158
- std::shared_ptr<MessageQueueThread> jsQueue)
158
+ std::shared_ptr<MessageQueueThread> jsQueue,
159
+ bool enableDebugger,
160
+ const std::string &debuggerName)
159
161
  : jsi::WithRuntimeDecorator<ReentrancyCheck>(*runtime, reentrancyCheck_),
160
162
  runtime_(std::move(runtime)),
161
163
  hermesRuntime_(hermesRuntime) {
162
164
  #ifdef HERMES_ENABLE_DEBUGGER
163
- auto adapter = std::make_unique<HermesExecutorRuntimeAdapter>(
164
- runtime_, hermesRuntime_, jsQueue);
165
- facebook::hermes::inspector::chrome::enableDebugging(
166
- std::move(adapter), "Hermes React Native");
165
+ enableDebugger_ = enableDebugger;
166
+ if (enableDebugger_) {
167
+ auto adapter = std::make_unique<HermesExecutorRuntimeAdapter>(
168
+ runtime_, hermesRuntime_, jsQueue);
169
+ facebook::hermes::inspector::chrome::enableDebugging(
170
+ std::move(adapter), debuggerName);
171
+ }
167
172
  #else
168
173
  (void)hermesRuntime_;
169
174
  #endif
@@ -171,7 +176,9 @@ class DecoratedRuntime : public jsi::WithRuntimeDecorator<ReentrancyCheck> {
171
176
 
172
177
  ~DecoratedRuntime() {
173
178
  #ifdef HERMES_ENABLE_DEBUGGER
174
- facebook::hermes::inspector::chrome::disableDebugging(*runtime_);
179
+ if (enableDebugger_) {
180
+ facebook::hermes::inspector::chrome::disableDebugging(*runtime_);
181
+ }
175
182
  #endif
176
183
  }
177
184
 
@@ -186,10 +193,21 @@ class DecoratedRuntime : public jsi::WithRuntimeDecorator<ReentrancyCheck> {
186
193
  std::shared_ptr<Runtime> runtime_;
187
194
  ReentrancyCheck reentrancyCheck_;
188
195
  HermesRuntime &hermesRuntime_;
196
+ #ifdef HERMES_ENABLE_DEBUGGER
197
+ bool enableDebugger_;
198
+ #endif
189
199
  };
190
200
 
191
201
  } // namespace
192
202
 
203
+ void HermesExecutorFactory::setEnableDebugger(bool enableDebugger) {
204
+ enableDebugger_ = enableDebugger;
205
+ }
206
+
207
+ void HermesExecutorFactory::setDebuggerName(const std::string &debuggerName) {
208
+ debuggerName_ = debuggerName;
209
+ }
210
+
193
211
  std::unique_ptr<JSExecutor> HermesExecutorFactory::createJSExecutor(
194
212
  std::shared_ptr<ExecutorDelegate> delegate,
195
213
  std::shared_ptr<MessageQueueThread> jsQueue) {
@@ -197,7 +215,11 @@ std::unique_ptr<JSExecutor> HermesExecutorFactory::createJSExecutor(
197
215
  makeHermesRuntimeSystraced(runtimeConfig_);
198
216
  HermesRuntime &hermesRuntimeRef = *hermesRuntime;
199
217
  auto decoratedRuntime = std::make_shared<DecoratedRuntime>(
200
- std::move(hermesRuntime), hermesRuntimeRef, jsQueue);
218
+ std::move(hermesRuntime),
219
+ hermesRuntimeRef,
220
+ jsQueue,
221
+ enableDebugger_,
222
+ debuggerName_);
201
223
 
202
224
  // So what do we have now?
203
225
  // DecoratedRuntime -> HermesRuntime
@@ -221,6 +243,12 @@ std::unique_ptr<JSExecutor> HermesExecutorFactory::createJSExecutor(
221
243
  decoratedRuntime, delegate, jsQueue, timeoutInvoker_, runtimeInstaller_);
222
244
  }
223
245
 
246
+ ::hermes::vm::RuntimeConfig HermesExecutorFactory::defaultRuntimeConfig() {
247
+ return ::hermes::vm::RuntimeConfig::Builder()
248
+ .withEnableSampleProfiling(true)
249
+ .build();
250
+ }
251
+
224
252
  HermesExecutor::HermesExecutor(
225
253
  std::shared_ptr<jsi::Runtime> runtime,
226
254
  std::shared_ptr<ExecutorDelegate> delegate,
@@ -21,21 +21,29 @@ class HermesExecutorFactory : public JSExecutorFactory {
21
21
  JSIExecutor::RuntimeInstaller runtimeInstaller,
22
22
  const JSIScopedTimeoutInvoker &timeoutInvoker =
23
23
  JSIExecutor::defaultTimeoutInvoker,
24
- ::hermes::vm::RuntimeConfig runtimeConfig = ::hermes::vm::RuntimeConfig())
24
+ ::hermes::vm::RuntimeConfig runtimeConfig = defaultRuntimeConfig())
25
25
  : runtimeInstaller_(runtimeInstaller),
26
26
  timeoutInvoker_(timeoutInvoker),
27
27
  runtimeConfig_(std::move(runtimeConfig)) {
28
28
  assert(timeoutInvoker_ && "Should not have empty timeoutInvoker");
29
29
  }
30
30
 
31
+ void setEnableDebugger(bool enableDebugger);
32
+
33
+ void setDebuggerName(const std::string &debuggerName);
34
+
31
35
  std::unique_ptr<JSExecutor> createJSExecutor(
32
36
  std::shared_ptr<ExecutorDelegate> delegate,
33
37
  std::shared_ptr<MessageQueueThread> jsQueue) override;
34
38
 
35
39
  private:
40
+ static ::hermes::vm::RuntimeConfig defaultRuntimeConfig();
41
+
36
42
  JSIExecutor::RuntimeInstaller runtimeInstaller_;
37
43
  JSIScopedTimeoutInvoker timeoutInvoker_;
38
44
  ::hermes::vm::RuntimeConfig runtimeConfig_;
45
+ bool enableDebugger_ = true;
46
+ std::string debuggerName_ = "Hermes React Native";
39
47
  };
40
48
 
41
49
  class HermesExecutor : public JSIExecutor {
@@ -139,7 +139,7 @@ class Connection::Impl : public inspector::InspectorObserver,
139
139
 
140
140
  template <typename C>
141
141
  void runInExecutor(int id, C callback) {
142
- folly::via(executor_.get(), [cb = std::move(callback)]() { cb(); });
142
+ executor_->add([cb = std::move(callback)]() { cb(); });
143
143
  }
144
144
 
145
145
  std::shared_ptr<RuntimeAdapter> runtimeAdapter_;
@@ -1411,20 +1411,14 @@ Connection::Impl::makePropsFromValue(
1411
1411
  }
1412
1412
 
1413
1413
  void Connection::Impl::handle(const m::runtime::GetHeapUsageRequest &req) {
1414
- auto resp = std::make_shared<m::runtime::GetHeapUsageResponse>();
1415
- resp->id = req.id;
1416
-
1417
- inspector_
1418
- ->executeIfEnabled(
1419
- "Runtime.getHeapUsage",
1420
- [this, req, resp](const debugger::ProgramState &state) {
1421
- auto heapInfo = getRuntime().instrumentation().getHeapInfo(false);
1422
- resp->usedSize = heapInfo["hermes_allocatedBytes"];
1423
- resp->totalSize = heapInfo["hermes_heapSize"];
1424
- })
1425
- .via(executor_.get())
1426
- .thenValue([this, resp](auto &&) { sendResponseToClient(*resp); })
1427
- .thenError<std::exception>(sendErrorToClient(req.id));
1414
+ runInExecutor(req.id, [this, req]() {
1415
+ auto heapInfo = getRuntime().instrumentation().getHeapInfo(false);
1416
+ auto resp = std::make_shared<m::runtime::GetHeapUsageResponse>();
1417
+ resp->id = req.id;
1418
+ resp->usedSize = heapInfo["hermes_allocatedBytes"];
1419
+ resp->totalSize = heapInfo["hermes_heapSize"];
1420
+ sendResponseToClient(*resp);
1421
+ });
1428
1422
  }
1429
1423
 
1430
1424
  void Connection::Impl::handle(const m::runtime::GetPropertiesRequest &req) {
@@ -0,0 +1 @@
1
+ 65d8870a6ef3567b461b1bd2dfdcfb43
@@ -0,0 +1 @@
1
+ 3e618d2da18024c80f6942a41e9e112ad4574ff4
@@ -0,0 +1 @@
1
+ c0f54ffe3d64061fc46fd728c15237b092d58bf361b996c45f09b02c17858d6c
@@ -0,0 +1 @@
1
+ 3fa2a4d1778f1b249614dcf84252376a14aec7020a685bf84feaf0c428d2b59f21eda7cf02a146c71108373cb81029bbda6555f8249cdb0cb99208020d419726
@@ -0,0 +1 @@
1
+ cbad3ff2b0932b4ae628120b2199b5d7ad10bc9f
@@ -0,0 +1 @@
1
+ 725c7e8f3553fc8d62fb7f8db0f5d155345c53fbfc832d568e2c2c9b6e73488e
@@ -0,0 +1 @@
1
+ fbfe50a17c8775b32a2e2aa52ac6ed6973d353e59cef0359b5e35ab3c78dcfe11ad5f7203b36992f6baf9d6508f35f70eca7a1b0cd9220d5af6351953cf95dfb