react-native 0.68.0-rc.0 → 0.68.0-rc.3

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 (83) hide show
  1. package/Libraries/Blob/React-RCTBlob.podspec +1 -1
  2. package/Libraries/Components/Switch/Switch.js +2 -1
  3. package/Libraries/Core/ReactNativeVersion.js +1 -1
  4. package/Libraries/Image/React-RCTImage.podspec +1 -1
  5. package/Libraries/LinkingIOS/React-RCTLinking.podspec +1 -1
  6. package/Libraries/NativeAnimation/React-RCTAnimation.podspec +1 -1
  7. package/Libraries/Network/React-RCTNetwork.podspec +1 -1
  8. package/Libraries/PushNotificationIOS/React-RCTPushNotification.podspec +1 -1
  9. package/Libraries/Settings/React-RCTSettings.podspec +1 -1
  10. package/Libraries/Text/TextInput/Multiline/RCTUITextView.m +1 -29
  11. package/Libraries/Text/TextInput/RCTBaseTextInputView.m +2 -0
  12. package/Libraries/Vibration/React-RCTVibration.podspec +1 -1
  13. package/React/Base/RCTVersion.m +1 -1
  14. package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingProxyRootView.mm +4 -7
  15. package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingView.mm +4 -2
  16. package/React/CoreModules/React-CoreModules.podspec +1 -1
  17. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm +4 -2
  18. package/React/React-RCTFabric.podspec +1 -1
  19. package/ReactAndroid/build.gradle +7 -1
  20. package/ReactAndroid/gradle.properties +1 -1
  21. package/ReactAndroid/proguard-rules.pro +4 -6
  22. package/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java +7 -3
  23. package/ReactAndroid/src/main/java/com/facebook/react/config/ReactFeatureFlags.java +0 -3
  24. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java +1 -1
  25. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextShadowNode.java +0 -5
  26. package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextView.java +0 -12
  27. package/ReactCommon/cxxreact/ReactNativeVersion.h +1 -1
  28. package/ReactCommon/react/renderer/mapbuffer/MapBuffer.cpp +5 -5
  29. package/ReactCommon/react/renderer/mapbuffer/MapBuffer.h +5 -3
  30. package/ReactCommon/react/renderer/mapbuffer/MapBufferBuilder.cpp +7 -5
  31. package/ReactCommon/react/renderer/mapbuffer/MapBufferBuilder.h +1 -1
  32. package/android/com/facebook/react/react-native/{0.68.0-rc.0/react-native-0.68.0-rc.0-sources.jar → 0.68.0-rc.3/react-native-0.68.0-rc.3-sources.jar} +0 -0
  33. package/android/com/facebook/react/react-native/0.68.0-rc.3/react-native-0.68.0-rc.3-sources.jar.md5 +1 -0
  34. package/android/com/facebook/react/react-native/0.68.0-rc.3/react-native-0.68.0-rc.3-sources.jar.sha1 +1 -0
  35. package/android/com/facebook/react/react-native/0.68.0-rc.3/react-native-0.68.0-rc.3-sources.jar.sha256 +1 -0
  36. package/android/com/facebook/react/react-native/0.68.0-rc.3/react-native-0.68.0-rc.3-sources.jar.sha512 +1 -0
  37. package/android/com/facebook/react/react-native/0.68.0-rc.3/react-native-0.68.0-rc.3.aar +0 -0
  38. package/android/com/facebook/react/react-native/0.68.0-rc.3/react-native-0.68.0-rc.3.aar.md5 +1 -0
  39. package/android/com/facebook/react/react-native/0.68.0-rc.3/react-native-0.68.0-rc.3.aar.sha1 +1 -0
  40. package/android/com/facebook/react/react-native/0.68.0-rc.3/react-native-0.68.0-rc.3.aar.sha256 +1 -0
  41. package/android/com/facebook/react/react-native/0.68.0-rc.3/react-native-0.68.0-rc.3.aar.sha512 +1 -0
  42. package/android/com/facebook/react/react-native/{0.68.0-rc.0/react-native-0.68.0-rc.0.module → 0.68.0-rc.3/react-native-0.68.0-rc.3.module} +15 -15
  43. package/android/com/facebook/react/react-native/0.68.0-rc.3/react-native-0.68.0-rc.3.module.md5 +1 -0
  44. package/android/com/facebook/react/react-native/0.68.0-rc.3/react-native-0.68.0-rc.3.module.sha1 +1 -0
  45. package/android/com/facebook/react/react-native/0.68.0-rc.3/react-native-0.68.0-rc.3.module.sha256 +1 -0
  46. package/android/com/facebook/react/react-native/0.68.0-rc.3/react-native-0.68.0-rc.3.module.sha512 +1 -0
  47. package/android/com/facebook/react/react-native/{0.68.0-rc.0/react-native-0.68.0-rc.0.pom → 0.68.0-rc.3/react-native-0.68.0-rc.3.pom} +1 -1
  48. package/android/com/facebook/react/react-native/0.68.0-rc.3/react-native-0.68.0-rc.3.pom.md5 +1 -0
  49. package/android/com/facebook/react/react-native/0.68.0-rc.3/react-native-0.68.0-rc.3.pom.sha1 +1 -0
  50. package/android/com/facebook/react/react-native/0.68.0-rc.3/react-native-0.68.0-rc.3.pom.sha256 +1 -0
  51. package/android/com/facebook/react/react-native/0.68.0-rc.3/react-native-0.68.0-rc.3.pom.sha512 +1 -0
  52. package/android/com/facebook/react/react-native/maven-metadata.xml +4 -4
  53. package/android/com/facebook/react/react-native/maven-metadata.xml.md5 +1 -1
  54. package/android/com/facebook/react/react-native/maven-metadata.xml.sha1 +1 -1
  55. package/android/com/facebook/react/react-native/maven-metadata.xml.sha256 +1 -1
  56. package/android/com/facebook/react/react-native/maven-metadata.xml.sha512 +1 -1
  57. package/package.json +5 -4
  58. package/react.gradle +52 -15
  59. package/scripts/react_native_pods.rb +12 -9
  60. package/template/Gemfile.lock +5 -5
  61. package/template/_flowconfig +2 -0
  62. package/template/android/app/build.gradle +28 -13
  63. package/template/android/gradle.properties +2 -2
  64. package/template/ios/Podfile +2 -2
  65. package/template/package.json +1 -5
  66. package/third-party-podspecs/RCT-Folly.podspec +5 -1
  67. package/android/com/facebook/react/react-native/0.68.0-rc.0/react-native-0.68.0-rc.0-sources.jar.md5 +0 -1
  68. package/android/com/facebook/react/react-native/0.68.0-rc.0/react-native-0.68.0-rc.0-sources.jar.sha1 +0 -1
  69. package/android/com/facebook/react/react-native/0.68.0-rc.0/react-native-0.68.0-rc.0-sources.jar.sha256 +0 -1
  70. package/android/com/facebook/react/react-native/0.68.0-rc.0/react-native-0.68.0-rc.0-sources.jar.sha512 +0 -1
  71. package/android/com/facebook/react/react-native/0.68.0-rc.0/react-native-0.68.0-rc.0.aar +0 -0
  72. package/android/com/facebook/react/react-native/0.68.0-rc.0/react-native-0.68.0-rc.0.aar.md5 +0 -1
  73. package/android/com/facebook/react/react-native/0.68.0-rc.0/react-native-0.68.0-rc.0.aar.sha1 +0 -1
  74. package/android/com/facebook/react/react-native/0.68.0-rc.0/react-native-0.68.0-rc.0.aar.sha256 +0 -1
  75. package/android/com/facebook/react/react-native/0.68.0-rc.0/react-native-0.68.0-rc.0.aar.sha512 +0 -1
  76. package/android/com/facebook/react/react-native/0.68.0-rc.0/react-native-0.68.0-rc.0.module.md5 +0 -1
  77. package/android/com/facebook/react/react-native/0.68.0-rc.0/react-native-0.68.0-rc.0.module.sha1 +0 -1
  78. package/android/com/facebook/react/react-native/0.68.0-rc.0/react-native-0.68.0-rc.0.module.sha256 +0 -1
  79. package/android/com/facebook/react/react-native/0.68.0-rc.0/react-native-0.68.0-rc.0.module.sha512 +0 -1
  80. package/android/com/facebook/react/react-native/0.68.0-rc.0/react-native-0.68.0-rc.0.pom.md5 +0 -1
  81. package/android/com/facebook/react/react-native/0.68.0-rc.0/react-native-0.68.0-rc.0.pom.sha1 +0 -1
  82. package/android/com/facebook/react/react-native/0.68.0-rc.0/react-native-0.68.0-rc.0.pom.sha256 +0 -1
  83. package/android/com/facebook/react/react-native/0.68.0-rc.0/react-native-0.68.0-rc.0.pom.sha512 +0 -1
@@ -35,7 +35,7 @@ Pod::Spec.new do |s|
35
35
  s.pod_target_xcconfig = {
36
36
  "USE_HEADERMAP" => "YES",
37
37
  "CLANG_CXX_LANGUAGE_STANDARD" => "c++14",
38
- "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/RCT-Folly\" \"${PODS_ROOT}/Headers/Public/React-Codegen/react/renderer/components\""
38
+ "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/RCT-Folly\" \"${PODS_ROOT}/Headers/Public/React-Codegen/react/renderer/components\" \"${PODS_CONFIGURATION_BUILD_DIR}/React-Codegen/React_Codegen.framework/Headers\""
39
39
  }
40
40
 
41
41
  s.dependency "RCT-Folly", folly_version
@@ -170,7 +170,8 @@ const SwitchWithForwardedRef: React.AbstractComponent<
170
170
  // that the update should be ignored and we should stick with the value
171
171
  // that we have in JS.
172
172
  const jsValue = value === true;
173
- const shouldUpdateNativeSwitch = native.value !== jsValue;
173
+ const shouldUpdateNativeSwitch =
174
+ native.value != null && native.value !== jsValue;
174
175
  if (
175
176
  shouldUpdateNativeSwitch &&
176
177
  nativeSwitchRef.current?.setNativeProps != null
@@ -13,5 +13,5 @@ exports.version = {
13
13
  major: 0,
14
14
  minor: 68,
15
15
  patch: 0,
16
- prerelease: 'rc.0',
16
+ prerelease: 'rc.3',
17
17
  };
@@ -36,7 +36,7 @@ Pod::Spec.new do |s|
36
36
  s.pod_target_xcconfig = {
37
37
  "USE_HEADERMAP" => "YES",
38
38
  "CLANG_CXX_LANGUAGE_STANDARD" => "c++14",
39
- "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/RCT-Folly\" \"${PODS_ROOT}/Headers/Public/React-Codegen/react/renderer/components\""
39
+ "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/RCT-Folly\" \"${PODS_ROOT}/Headers/Public/React-Codegen/react/renderer/components\" \"${PODS_CONFIGURATION_BUILD_DIR}/React-Codegen/React_Codegen.framework/Headers\""
40
40
  }
41
41
 
42
42
  s.dependency "RCT-Folly", folly_version
@@ -36,7 +36,7 @@ Pod::Spec.new do |s|
36
36
  s.pod_target_xcconfig = {
37
37
  "USE_HEADERMAP" => "YES",
38
38
  "CLANG_CXX_LANGUAGE_STANDARD" => "c++14",
39
- "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/RCT-Folly\" \"${PODS_ROOT}/Headers/Public/React-Codegen/react/renderer/components\""
39
+ "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/RCT-Folly\" \"${PODS_ROOT}/Headers/Public/React-Codegen/react/renderer/components\" \"${PODS_CONFIGURATION_BUILD_DIR}/React-Codegen/React_Codegen.framework/Headers\""
40
40
  }
41
41
 
42
42
  s.dependency "React-Codegen", version
@@ -35,7 +35,7 @@ Pod::Spec.new do |s|
35
35
  s.pod_target_xcconfig = {
36
36
  "USE_HEADERMAP" => "YES",
37
37
  "CLANG_CXX_LANGUAGE_STANDARD" => "c++14",
38
- "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/RCT-Folly\" \"${PODS_ROOT}/Headers/Public/React-Codegen/react/renderer/components\""
38
+ "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/RCT-Folly\" \"${PODS_ROOT}/Headers/Public/React-Codegen/react/renderer/components\" \"${PODS_CONFIGURATION_BUILD_DIR}/React-Codegen/React_Codegen.framework/Headers\""
39
39
  }
40
40
 
41
41
  s.dependency "RCT-Folly", folly_version
@@ -35,7 +35,7 @@ Pod::Spec.new do |s|
35
35
  s.pod_target_xcconfig = {
36
36
  "USE_HEADERMAP" => "YES",
37
37
  "CLANG_CXX_LANGUAGE_STANDARD" => "c++14",
38
- "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/RCT-Folly\" \"${PODS_ROOT}/Headers/Public/React-Codegen/react/renderer/components\""
38
+ "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/RCT-Folly\" \"${PODS_ROOT}/Headers/Public/React-Codegen/react/renderer/components\" \"${PODS_CONFIGURATION_BUILD_DIR}/React-Codegen/React_Codegen.framework/Headers\""
39
39
  }
40
40
  s.frameworks = "MobileCoreServices"
41
41
 
@@ -36,7 +36,7 @@ Pod::Spec.new do |s|
36
36
  s.pod_target_xcconfig = {
37
37
  "USE_HEADERMAP" => "YES",
38
38
  "CLANG_CXX_LANGUAGE_STANDARD" => "c++14",
39
- "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/RCT-Folly\" \"${PODS_ROOT}/Headers/Public/React-Codegen/react/renderer/components\""
39
+ "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/RCT-Folly\" \"${PODS_ROOT}/Headers/Public/React-Codegen/react/renderer/components\" \"${PODS_CONFIGURATION_BUILD_DIR}/React-Codegen/React_Codegen.framework/Headers\""
40
40
  }
41
41
  s.framework = "UserNotifications"
42
42
 
@@ -36,7 +36,7 @@ Pod::Spec.new do |s|
36
36
  s.pod_target_xcconfig = {
37
37
  "USE_HEADERMAP" => "YES",
38
38
  "CLANG_CXX_LANGUAGE_STANDARD" => "c++14",
39
- "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/RCT-Folly\" \"${PODS_ROOT}/Headers/Public/React-Codegen/react/renderer/components\""
39
+ "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/RCT-Folly\" \"${PODS_ROOT}/Headers/Public/React-Codegen/react/renderer/components\" \"${PODS_CONFIGURATION_BUILD_DIR}/React-Codegen/React_Codegen.framework/Headers\""
40
40
  }
41
41
 
42
42
  s.dependency "RCT-Folly", folly_version
@@ -147,21 +147,7 @@ static UIColor *defaultPlaceholderColor()
147
147
 
148
148
  - (void)setAttributedText:(NSAttributedString *)attributedText
149
149
  {
150
- // Using `setAttributedString:` while user is typing breaks some internal mechanics
151
- // when entering complex input languages such as Chinese, Korean or Japanese.
152
- // see: https://github.com/facebook/react-native/issues/19339
153
-
154
- // We try to avoid calling this method as much as we can.
155
- // If the text has changed, there is nothing we can do.
156
- if (![super.attributedText.string isEqualToString:attributedText.string]) {
157
- [super setAttributedText:attributedText];
158
- } else {
159
- // But if the text is preserved, we just copying the attributes from the source string.
160
- if (![super.attributedText isEqualToAttributedString:attributedText]) {
161
- [self copyTextAttributesFrom:attributedText];
162
- }
163
- }
164
-
150
+ [super setAttributedText:attributedText];
165
151
  [self textDidChange];
166
152
  }
167
153
 
@@ -311,18 +297,4 @@ static UIColor *defaultPlaceholderColor()
311
297
 
312
298
  #pragma mark - Utility Methods
313
299
 
314
- - (void)copyTextAttributesFrom:(NSAttributedString *)sourceString
315
- {
316
- [self.textStorage beginEditing];
317
-
318
- NSTextStorage *textStorage = self.textStorage;
319
- [sourceString enumerateAttributesInRange:NSMakeRange(0, sourceString.length)
320
- options:NSAttributedStringEnumerationReverse
321
- usingBlock:^(NSDictionary<NSAttributedStringKey,id> * _Nonnull attrs, NSRange range, BOOL * _Nonnull stop) {
322
- [textStorage setAttributes:attrs range:range];
323
- }];
324
-
325
- [self.textStorage endEditing];
326
- }
327
-
328
300
  @end
@@ -104,6 +104,7 @@ RCT_NOT_IMPLEMENTED(- (instancetype)initWithFrame:(CGRect)frame)
104
104
  // Similarly, when the user is in the middle of inputting some text in Japanese/Chinese, there will be styling on the
105
105
  // text that we should disregard. See https://developer.apple.com/documentation/uikit/uitextinput/1614489-markedtextrange?language=objc
106
106
  // for more info.
107
+ // Also, updating the attributed text while inputting Korean language will break input mechanism.
107
108
  // If the user added an emoji, the system adds a font attribute for the emoji and stores the original font in NSOriginalFont.
108
109
  // Lastly, when entering a password, etc., there will be additional styling on the field as the native text view
109
110
  // handles showing the last character for a split second.
@@ -116,6 +117,7 @@ RCT_NOT_IMPLEMENTED(- (instancetype)initWithFrame:(CGRect)frame)
116
117
 
117
118
  BOOL shouldFallbackToBareTextComparison =
118
119
  [self.backedTextInputView.textInputMode.primaryLanguage isEqualToString:@"dictation"] ||
120
+ [self.backedTextInputView.textInputMode.primaryLanguage isEqualToString:@"ko-KR"] ||
119
121
  self.backedTextInputView.markedTextRange ||
120
122
  self.backedTextInputView.isSecureTextEntry ||
121
123
  fontHasBeenUpdatedBySystem;
@@ -36,7 +36,7 @@ Pod::Spec.new do |s|
36
36
  s.pod_target_xcconfig = {
37
37
  "USE_HEADERMAP" => "YES",
38
38
  "CLANG_CXX_LANGUAGE_STANDARD" => "c++14",
39
- "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/RCT-Folly\" \"${PODS_ROOT}/Headers/Public/React-Codegen/react/renderer/components\""
39
+ "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/RCT-Folly\" \"${PODS_ROOT}/Headers/Public/React-Codegen/react/renderer/components\" \"${PODS_CONFIGURATION_BUILD_DIR}/React-Codegen/React_Codegen.framework/Headers\""
40
40
  }
41
41
  s.frameworks = "AudioToolbox"
42
42
 
@@ -24,7 +24,7 @@ NSDictionary* RCTGetReactNativeVersion(void)
24
24
  RCTVersionMajor: @(0),
25
25
  RCTVersionMinor: @(68),
26
26
  RCTVersionPatch: @(0),
27
- RCTVersionPrerelease: @"rc.0",
27
+ RCTVersionPrerelease: @"rc.3",
28
28
  };
29
29
  });
30
30
  return __rnVersion;
@@ -73,13 +73,10 @@ static RCTRootViewSizeFlexibility convertToRootViewSizeFlexibility(RCTSurfaceSiz
73
73
  // `RCTRootViewSizeFlexibilityNone` is the RCTRootView's default.
74
74
  RCTSurfaceSizeMeasureMode sizeMeasureMode = convertToSurfaceSizeMeasureMode(RCTRootViewSizeFlexibilityNone);
75
75
 
76
- id<RCTSurfaceProtocol> surface = [[self class] createSurfaceWithBridge:bridge
77
- moduleName:moduleName
78
- initialProperties:initialProperties];
79
- [surface start];
80
- if (self = [super initWithSurface:surface sizeMeasureMode:sizeMeasureMode]) {
81
- // Nothing specific to do.
82
- }
76
+ self = [super initWithBridge:bridge
77
+ moduleName:moduleName
78
+ initialProperties:initialProperties
79
+ sizeMeasureMode:sizeMeasureMode];
83
80
 
84
81
  RCT_PROFILE_END_EVENT(RCTProfileTagAlways, @"");
85
82
 
@@ -46,8 +46,10 @@ RCT_NOT_IMPLEMENTED(-(nullable instancetype)initWithCoder : (NSCoder *)coder)
46
46
  id<RCTSurfaceProtocol> surface = [[self class] createSurfaceWithBridge:bridge
47
47
  moduleName:moduleName
48
48
  initialProperties:initialProperties];
49
- [surface start];
50
- return [self initWithSurface:surface sizeMeasureMode:sizeMeasureMode];
49
+ if (self = [self initWithSurface:surface sizeMeasureMode:sizeMeasureMode]) {
50
+ [surface start];
51
+ }
52
+ return self;
51
53
  }
52
54
 
53
55
  - (instancetype)initWithSurface:(id<RCTSurfaceProtocol>)surface
@@ -34,7 +34,7 @@ Pod::Spec.new do |s|
34
34
  s.pod_target_xcconfig = {
35
35
  "USE_HEADERMAP" => "YES",
36
36
  "CLANG_CXX_LANGUAGE_STANDARD" => "c++14",
37
- "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/React/CoreModules\" \"$(PODS_ROOT)/RCT-Folly\" \"${PODS_ROOT}/Headers/Public/React-Codegen/react/renderer/components\""
37
+ "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/React/CoreModules\" \"$(PODS_ROOT)/RCT-Folly\" \"${PODS_ROOT}/Headers/Public/React-Codegen/react/renderer/components\" \"${PODS_CONFIGURATION_BUILD_DIR}/React-Codegen/React_Codegen.framework/Headers\""
38
38
  }
39
39
 
40
40
  s.dependency "React-Codegen", version
@@ -617,8 +617,9 @@ using namespace facebook::react;
617
617
  // the settings on a dictation.
618
618
  // Similarly, when the user is in the middle of inputting some text in Japanese/Chinese, there will be styling on the
619
619
  // text that we should disregard. See
620
- // https://developer.apple.com/documentation/uikit/uitextinput/1614489-markedtextrange?language=objc for more info. If
621
- // the user added an emoji, the system adds a font attribute for the emoji and stores the original font in
620
+ // https://developer.apple.com/documentation/uikit/uitextinput/1614489-markedtextrange?language=objc for more info.
621
+ // Also, updating the attributed text while inputting Korean language will break input mechanism.
622
+ // If the user added an emoji, the system adds a font attribute for the emoji and stores the original font in
622
623
  // NSOriginalFont. Lastly, when entering a password, etc., there will be additional styling on the field as the native
623
624
  // text view handles showing the last character for a split second.
624
625
  __block BOOL fontHasBeenUpdatedBySystem = false;
@@ -633,6 +634,7 @@ using namespace facebook::react;
633
634
 
634
635
  BOOL shouldFallbackToBareTextComparison =
635
636
  [_backedTextInputView.textInputMode.primaryLanguage isEqualToString:@"dictation"] ||
637
+ [_backedTextInputView.textInputMode.primaryLanguage isEqualToString:@"ko-KR"] ||
636
638
  _backedTextInputView.markedTextRange || _backedTextInputView.isSecureTextEntry || fontHasBeenUpdatedBySystem;
637
639
 
638
640
  if (shouldFallbackToBareTextComparison) {
@@ -36,7 +36,7 @@ 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.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\" \"$(PODS_ROOT)/Headers/Public/React-Codegen\"" }
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\" \"$(PODS_ROOT)/Headers/Public/React-Codegen\" \"${PODS_CONFIGURATION_BUILD_DIR}/React-Codegen/React_Codegen.framework/Headers\"" }
40
40
  s.xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/boost\" \"$(PODS_ROOT)/glog\" \"$(PODS_ROOT)/RCT-Folly\"",
41
41
  "OTHER_CFLAGS" => "$(inherited) -DRN_FABRIC_ENABLED" + " " + folly_flags }
42
42
 
@@ -351,6 +351,12 @@ android {
351
351
  packagingOptions {
352
352
  exclude("META-INF/NOTICE")
353
353
  exclude("META-INF/LICENSE")
354
+ // We intentionally don't want to bundle any JS Runtime inside the Android AAR
355
+ // we produce. The reason behind this is that we want to allow users to pick the
356
+ // JS engine by specifying a dependency on either `hermes-engine` or `android-jsc`
357
+ // that will include the necessary .so files to load.
358
+ exclude("**/libhermes.so")
359
+ exclude("**/libjsc.so")
354
360
  }
355
361
 
356
362
  configurations {
@@ -400,7 +406,7 @@ react {
400
406
  // This should be changed to a more generic name, e.g. `ReactCoreSpec`.
401
407
  libraryName = "rncore"
402
408
  jsRootDir = file("../Libraries")
403
- reactRoot = file("$projectDir/..")
409
+ reactNativeDir = file("$projectDir/..")
404
410
  useJavaGenerator = System.getenv("USE_CODEGEN_JAVAPOET")?.toBoolean() ?: false
405
411
  // We search for the codegen in either one of the `node_modules` folder or in the
406
412
  // root packages folder (that's for when we build from source without calling `yarn install`).
@@ -1,4 +1,4 @@
1
- VERSION_NAME=0.68.0-rc.0
1
+ VERSION_NAME=0.68.0-rc.3
2
2
  GROUP=com.facebook.react
3
3
 
4
4
  POM_NAME=ReactNative
@@ -24,17 +24,15 @@
24
24
  # See http://sourceforge.net/p/proguard/bugs/466/
25
25
  -keep,allowobfuscation @interface com.facebook.proguard.annotations.DoNotStrip
26
26
  -keep,allowobfuscation @interface com.facebook.proguard.annotations.KeepGettersAndSetters
27
- -keep,allowobfuscation @interface com.facebook.common.internal.DoNotStrip
28
- -keep,allowobfuscation @interface com.facebook.jni.annotations.DoNotStrip
29
27
 
30
28
  # Do not strip any method/class that is annotated with @DoNotStrip
31
29
  -keep @com.facebook.proguard.annotations.DoNotStrip class *
32
- -keep @com.facebook.common.internal.DoNotStrip class *
33
- -keep @com.facebook.jni.annotations.DoNotStrip class *
34
30
  -keepclassmembers class * {
35
31
  @com.facebook.proguard.annotations.DoNotStrip *;
36
- @com.facebook.common.internal.DoNotStrip *;
37
- @com.facebook.jni.annotations.DoNotStrip *;
32
+ }
33
+
34
+ -keep @com.facebook.proguard.annotations.DoNotStripAny class * {
35
+ *;
38
36
  }
39
37
 
40
38
  -keepclassmembers @com.facebook.proguard.annotations.KeepGettersAndSetters class * {
@@ -27,6 +27,7 @@ import android.view.Surface;
27
27
  import android.view.View;
28
28
  import android.view.ViewGroup;
29
29
  import android.view.ViewTreeObserver;
30
+ import android.view.WindowInsets;
30
31
  import android.view.WindowManager;
31
32
  import android.widget.FrameLayout;
32
33
  import androidx.annotation.Nullable;
@@ -826,9 +827,12 @@ public class ReactRootView extends FrameLayout implements RootView, ReactRoot {
826
827
  getRootView().getWindowVisibleDisplayFrame(mVisibleViewArea);
827
828
  int notchHeight = 0;
828
829
  if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
829
- DisplayCutout displayCutout = getRootView().getRootWindowInsets().getDisplayCutout();
830
- if (displayCutout != null) {
831
- notchHeight = displayCutout.getSafeInsetTop();
830
+ WindowInsets insets = getRootView().getRootWindowInsets();
831
+ if (insets != null) {
832
+ DisplayCutout displayCutout = insets.getDisplayCutout();
833
+ if (displayCutout != null) {
834
+ notchHeight = displayCutout.getSafeInsetTop();
835
+ }
832
836
  }
833
837
  }
834
838
  final int heightDiff =
@@ -102,9 +102,6 @@ public class ReactFeatureFlags {
102
102
 
103
103
  public static boolean insertZReorderBarriersOnViewGroupChildren = true;
104
104
 
105
- /** TODO: T103427072 Delete ReactFeatureFlags.enableNestedTextOnPressEventFix */
106
- public static boolean enableNestedTextOnPressEventFix = true;
107
-
108
105
  /** TODO: T107492383 Delete this flag. Enables postprocessor for rounded corners for Image */
109
106
  public static boolean enableRoundedCornerPostprocessing = false;
110
107
  }
@@ -18,5 +18,5 @@ public class ReactNativeVersion {
18
18
  "major", 0,
19
19
  "minor", 68,
20
20
  "patch", 0,
21
- "prerelease", "rc.0");
21
+ "prerelease", "rc.3");
22
22
  }
@@ -343,11 +343,6 @@ public class ReactTextShadowNode extends ReactBaseTextShadowNode {
343
343
  mJustificationMode);
344
344
  uiViewOperationQueue.enqueueUpdateExtraData(getReactTag(), reactTextUpdate);
345
345
  }
346
-
347
- if (mAdjustsFontSizeToFit) {
348
- // Nodes with `adjustsFontSizeToFit` enabled need to be remeasured on every relayout.
349
- markUpdated();
350
- }
351
346
  }
352
347
 
353
348
  @ReactProp(name = "onTextLayout")
@@ -19,7 +19,6 @@ import android.text.TextUtils;
19
19
  import android.text.method.LinkMovementMethod;
20
20
  import android.text.util.Linkify;
21
21
  import android.view.Gravity;
22
- import android.view.MotionEvent;
23
22
  import android.view.View;
24
23
  import android.view.ViewGroup;
25
24
  import androidx.annotation.Nullable;
@@ -32,7 +31,6 @@ import com.facebook.react.bridge.ReactContext;
32
31
  import com.facebook.react.bridge.WritableArray;
33
32
  import com.facebook.react.bridge.WritableMap;
34
33
  import com.facebook.react.common.ReactConstants;
35
- import com.facebook.react.config.ReactFeatureFlags;
36
34
  import com.facebook.react.uimanager.PixelUtil;
37
35
  import com.facebook.react.uimanager.ReactCompoundView;
38
36
  import com.facebook.react.uimanager.UIManagerModule;
@@ -384,16 +382,6 @@ public class ReactTextView extends AppCompatTextView implements ReactCompoundVie
384
382
  return target;
385
383
  }
386
384
 
387
- @Override
388
- public boolean onTouchEvent(MotionEvent ev) {
389
- // The root view always assumes any view that was tapped wants the touch
390
- // and sends the event to JS as such.
391
- // We don't need to do bubbling in native (it's already happening in JS).
392
- // For an explanation of bubbling and capturing, see
393
- // http://javascript.info/tutorial/bubbling-and-capturing#capturing
394
- return ReactFeatureFlags.enableNestedTextOnPressEventFix;
395
- }
396
-
397
385
  @Override
398
386
  protected boolean verifyDrawable(Drawable drawable) {
399
387
  if (mContainsImages && getText() instanceof Spanned) {
@@ -18,7 +18,7 @@ constexpr struct {
18
18
  int32_t Major = 0;
19
19
  int32_t Minor = 68;
20
20
  int32_t Patch = 0;
21
- std::string_view Prerelease = "rc.0";
21
+ std::string_view Prerelease = "rc.3";
22
22
  } ReactNativeVersion;
23
23
 
24
24
  } // namespace facebook::react
@@ -33,11 +33,11 @@ MapBuffer::MapBuffer(std::vector<uint8_t> data) : bytes_(std::move(data)) {
33
33
  }
34
34
  }
35
35
 
36
- uint32_t MapBuffer::getKeyBucket(Key key) const {
37
- uint32_t lo = 0;
38
- uint32_t hi = count_ - 1;
36
+ int32_t MapBuffer::getKeyBucket(Key key) const {
37
+ int32_t lo = 0;
38
+ int32_t hi = count_ - 1;
39
39
  while (lo <= hi) {
40
- uint32_t mid = (lo + hi) >> 1;
40
+ int32_t mid = (lo + hi) >> 1;
41
41
 
42
42
  Key midVal =
43
43
  *reinterpret_cast<Key const *>(bytes_.data() + bucketOffset(mid));
@@ -112,7 +112,7 @@ MapBuffer MapBuffer::getMapBuffer(Key key) const {
112
112
  return MapBuffer(std::move(value));
113
113
  }
114
114
 
115
- uint32_t MapBuffer::size() const {
115
+ size_t MapBuffer::size() const {
116
116
  return bytes_.size();
117
117
  }
118
118
 
@@ -80,7 +80,8 @@ class MapBuffer {
80
80
  uint32_t bufferSize; // Amount of bytes used to store the map in memory
81
81
  };
82
82
 
83
- struct __attribute__((__packed__)) Bucket {
83
+ #pragma pack(push, 1)
84
+ struct Bucket {
84
85
  Key key;
85
86
  uint16_t type;
86
87
  uint64_t data;
@@ -88,6 +89,7 @@ class MapBuffer {
88
89
  Bucket(Key key, uint16_t type, uint64_t data)
89
90
  : key(key), type(type), data(data) {}
90
91
  };
92
+ #pragma pack(pop)
91
93
 
92
94
  static_assert(sizeof(Header) == 8, "MapBuffer header size is incorrect.");
93
95
  static_assert(sizeof(Bucket) == 12, "MapBuffer bucket size is incorrect.");
@@ -124,7 +126,7 @@ class MapBuffer {
124
126
  // TODO T83483191: review this declaration
125
127
  MapBuffer getMapBuffer(MapBuffer::Key key) const;
126
128
 
127
- uint32_t size() const;
129
+ size_t size() const;
128
130
 
129
131
  uint8_t const *data() const;
130
132
 
@@ -140,7 +142,7 @@ class MapBuffer {
140
142
  // returns the relative offset of the first byte of dynamic data
141
143
  int32_t getDynamicDataOffset() const;
142
144
 
143
- uint32_t getKeyBucket(MapBuffer::Key key) const;
145
+ int32_t getKeyBucket(MapBuffer::Key key) const;
144
146
 
145
147
  friend ReadableMapBuffer;
146
148
  };
@@ -14,7 +14,7 @@ namespace facebook {
14
14
  namespace react {
15
15
 
16
16
  constexpr uint32_t INT_SIZE = sizeof(uint32_t);
17
- constexpr double DOUBLE_SIZE = sizeof(double);
17
+ constexpr uint32_t DOUBLE_SIZE = sizeof(double);
18
18
  constexpr uint32_t MAX_BUCKET_VALUE_SIZE = sizeof(uint64_t);
19
19
 
20
20
  MapBuffer MapBufferBuilder::EMPTY() {
@@ -23,6 +23,8 @@ MapBuffer MapBufferBuilder::EMPTY() {
23
23
 
24
24
  MapBufferBuilder::MapBufferBuilder(uint32_t initialSize) {
25
25
  buckets_.reserve(initialSize);
26
+ header_.count = 0;
27
+ header_.bufferSize = 0;
26
28
  }
27
29
 
28
30
  void MapBufferBuilder::storeKeyValue(
@@ -76,7 +78,7 @@ void MapBufferBuilder::putInt(MapBuffer::Key key, int32_t value) {
76
78
  }
77
79
 
78
80
  void MapBufferBuilder::putString(MapBuffer::Key key, std::string const &value) {
79
- int32_t strSize = value.size();
81
+ auto strSize = value.size();
80
82
  const char *strData = value.data();
81
83
 
82
84
  // format [length of string (int)] + [Array of Characters in the string]
@@ -94,7 +96,7 @@ void MapBufferBuilder::putString(MapBuffer::Key key, std::string const &value) {
94
96
  }
95
97
 
96
98
  void MapBufferBuilder::putMapBuffer(MapBuffer::Key key, MapBuffer const &map) {
97
- int32_t mapBufferSize = map.size();
99
+ auto mapBufferSize = map.size();
98
100
 
99
101
  auto offset = dynamicData_.size();
100
102
 
@@ -122,9 +124,9 @@ MapBuffer MapBufferBuilder::build() {
122
124
  // Create buffer: [header] + [key, values] + [dynamic data]
123
125
  auto bucketSize = buckets_.size() * sizeof(MapBuffer::Bucket);
124
126
  auto headerSize = sizeof(MapBuffer::Header);
125
- uint32_t bufferSize = headerSize + bucketSize + dynamicData_.size();
127
+ auto bufferSize = headerSize + bucketSize + dynamicData_.size();
126
128
 
127
- header_.bufferSize = bufferSize;
129
+ header_.bufferSize = static_cast<uint32_t>(bufferSize);
128
130
 
129
131
  if (needsSort_) {
130
132
  std::sort(buckets_.begin(), buckets_.end(), compareBuckets);
@@ -38,7 +38,7 @@ class MapBufferBuilder {
38
38
  MapBuffer build();
39
39
 
40
40
  private:
41
- MapBuffer::Header header_ = {.count = 0, .bufferSize = 0};
41
+ MapBuffer::Header header_;
42
42
 
43
43
  std::vector<MapBuffer::Bucket> buckets_{};
44
44
 
@@ -0,0 +1 @@
1
+ 07b9ba4945a5a7dd467f9d78b2be18f25d67a190
@@ -0,0 +1 @@
1
+ acf25ea26953d6fadb8525b69ca8be28cac57f833352e5f29ef0aed8943bef2f
@@ -0,0 +1 @@
1
+ beb442c0839185a8f62eecffbb4d238461eee21c0a319852bef75dab8e43c8c9f7d1be45be02500f8f5772f04b0c320941ba655903c916aff0b050f081593bff
@@ -0,0 +1 @@
1
+ 75e5c2d023e40986abb8b2f7e0ef71f204562232
@@ -0,0 +1 @@
1
+ a524a994211ca6920b457fa9ac5c5585774dfcccdcbe49263e79c937d1bafcf4
@@ -0,0 +1 @@
1
+ 45a37681cc48a50eb1cfc41864f454f79a636afbbcc43e610a8ebfa603caff79538f1aca4fc7734345a250dd4f8f79dd353baf25e511ae495b7db88a1e2714c0
@@ -3,7 +3,7 @@
3
3
  "component": {
4
4
  "group": "com.facebook.react",
5
5
  "module": "react-native",
6
- "version": "0.68.0-rc.0",
6
+ "version": "0.68.0-rc.3",
7
7
  "attributes": {
8
8
  "org.gradle.status": "release"
9
9
  }
@@ -131,13 +131,13 @@
131
131
  ],
132
132
  "files": [
133
133
  {
134
- "name": "react-native-0.68.0-rc.0.aar",
135
- "url": "react-native-0.68.0-rc.0.aar",
136
- "size": 32651481,
137
- "sha512": "1b5c6233d0cb6f374aa2246d5000eb5db27a81f3855ae9fe3242eefbbd5618e5d82fa9aceccfb1d215d9efc9722371436c977ac787883a12de679b185d5295b1",
138
- "sha256": "312453337c694fc69741b685554eebb60b4c1cce84f847bdfa2d565e3ba19719",
139
- "sha1": "05c90a01ca9a36b8da76f16aad42e6b1e8df757b",
140
- "md5": "59f5fb0f2117fb928a3e577df4ce9e3e"
134
+ "name": "react-native-0.68.0-rc.3.aar",
135
+ "url": "react-native-0.68.0-rc.3.aar",
136
+ "size": 16395231,
137
+ "sha512": "45a37681cc48a50eb1cfc41864f454f79a636afbbcc43e610a8ebfa603caff79538f1aca4fc7734345a250dd4f8f79dd353baf25e511ae495b7db88a1e2714c0",
138
+ "sha256": "a524a994211ca6920b457fa9ac5c5585774dfcccdcbe49263e79c937d1bafcf4",
139
+ "sha1": "75e5c2d023e40986abb8b2f7e0ef71f204562232",
140
+ "md5": "6810dc7e35257254971f8af32e833f99"
141
141
  }
142
142
  ]
143
143
  },
@@ -258,13 +258,13 @@
258
258
  ],
259
259
  "files": [
260
260
  {
261
- "name": "react-native-0.68.0-rc.0.aar",
262
- "url": "react-native-0.68.0-rc.0.aar",
263
- "size": 32651481,
264
- "sha512": "1b5c6233d0cb6f374aa2246d5000eb5db27a81f3855ae9fe3242eefbbd5618e5d82fa9aceccfb1d215d9efc9722371436c977ac787883a12de679b185d5295b1",
265
- "sha256": "312453337c694fc69741b685554eebb60b4c1cce84f847bdfa2d565e3ba19719",
266
- "sha1": "05c90a01ca9a36b8da76f16aad42e6b1e8df757b",
267
- "md5": "59f5fb0f2117fb928a3e577df4ce9e3e"
261
+ "name": "react-native-0.68.0-rc.3.aar",
262
+ "url": "react-native-0.68.0-rc.3.aar",
263
+ "size": 16395231,
264
+ "sha512": "45a37681cc48a50eb1cfc41864f454f79a636afbbcc43e610a8ebfa603caff79538f1aca4fc7734345a250dd4f8f79dd353baf25e511ae495b7db88a1e2714c0",
265
+ "sha256": "a524a994211ca6920b457fa9ac5c5585774dfcccdcbe49263e79c937d1bafcf4",
266
+ "sha1": "75e5c2d023e40986abb8b2f7e0ef71f204562232",
267
+ "md5": "6810dc7e35257254971f8af32e833f99"
268
268
  }
269
269
  ]
270
270
  }
@@ -0,0 +1 @@
1
+ 54b10a92e2b6b8a555e5a888925bda2bfdc41e2b
@@ -0,0 +1 @@
1
+ 513862a0a7b01e8194ca980484c4567a70bc0c2402a9aca23508e31e7fe3dac5
@@ -0,0 +1 @@
1
+ 598112f3e751ee5441d7a44bc2c7cf06dc6dba545dfd521f28b1feab2885114c4a9baa882c4f7c8a26d2b7718ea028b9b3db1c0e912a79968962112275008687