react-native 0.76.5 → 0.76.7

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 (53) hide show
  1. package/Libraries/AppDelegate/RCTAppDelegate.mm +0 -5
  2. package/Libraries/AppDelegate/RCTAppSetupUtils.mm +3 -1
  3. package/Libraries/AppDelegate/RCTRootViewFactory.mm +2 -3
  4. package/Libraries/Core/ReactNativeVersion.js +1 -1
  5. package/Libraries/Image/RCTImageLoader.mm +9 -1
  6. package/Libraries/Text/TextInput/RCTBaseTextInputView.mm +1 -1
  7. package/Libraries/Utilities/Appearance.js +3 -1
  8. package/React/Base/RCTVersion.m +1 -1
  9. package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingProxyRootView.mm +2 -5
  10. package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm +4 -0
  11. package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +12 -9
  12. package/ReactAndroid/api/ReactAndroid.api +2 -0
  13. package/ReactAndroid/cmake-utils/ReactNative-application.cmake +18 -3
  14. package/ReactAndroid/gradle.properties +1 -1
  15. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountingManager.java +15 -8
  16. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt +1 -7
  17. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt +1 -11
  18. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt +1 -3
  19. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt +1 -3
  20. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt +1 -12
  21. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt +1 -3
  22. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java +1 -1
  23. package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributeProps.java +16 -2
  24. package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.java +1 -0
  25. package/ReactAndroid/src/main/jni/react/fabric/Binding.cpp +17 -19
  26. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.cpp +1 -15
  27. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h +1 -4
  28. package/ReactCommon/cxxreact/ReactNativeVersion.h +1 -1
  29. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp +1 -5
  30. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h +1 -6
  31. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp +47 -65
  32. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h +2 -4
  33. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h +1 -5
  34. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h +1 -2
  35. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTInteropTurboModule.mm +9 -0
  36. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp +1 -6
  37. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h +1 -3
  38. package/ReactCommon/react/renderer/attributedstring/TextAttributes.cpp +5 -0
  39. package/ReactCommon/react/renderer/attributedstring/TextAttributes.h +2 -0
  40. package/ReactCommon/react/renderer/attributedstring/conversions.h +5 -0
  41. package/ReactCommon/react/renderer/components/text/BaseTextProps.cpp +12 -0
  42. package/ReactCommon/react/renderer/textlayoutmanager/TextMeasureCache.h +2 -3
  43. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTAttributedTextUtils.mm +7 -3
  44. package/gradle/libs.versions.toml +1 -1
  45. package/package.json +8 -8
  46. package/scripts/cocoapods/utils.rb +6 -6
  47. package/scripts/codegen/generate-artifacts-executor.js +6 -6
  48. package/sdks/hermesc/linux64-bin/hermesc +0 -0
  49. package/sdks/hermesc/osx-bin/hermes +0 -0
  50. package/sdks/hermesc/osx-bin/hermesc +0 -0
  51. package/sdks/hermesc/win64-bin/hermesc.exe +0 -0
  52. package/src/private/featureflags/ReactNativeFeatureFlags.js +1 -6
  53. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +1 -2
@@ -208,8 +208,7 @@ inline bool operator==(
208
208
  return areAttributedStringsEquivalentLayoutWise(
209
209
  lhs.attributedString, rhs.attributedString) &&
210
210
  lhs.paragraphAttributes == rhs.paragraphAttributes &&
211
- lhs.layoutConstraints.maximumSize.width ==
212
- rhs.layoutConstraints.maximumSize.width;
211
+ lhs.layoutConstraints == rhs.layoutConstraints;
213
212
  }
214
213
 
215
214
  inline bool operator!=(
@@ -243,7 +242,7 @@ struct hash<facebook::react::TextMeasureCacheKey> {
243
242
  return facebook::react::hash_combine(
244
243
  attributedStringHashLayoutWise(key.attributedString),
245
244
  key.paragraphAttributes,
246
- key.layoutConstraints.maximumSize.width);
245
+ key.layoutConstraints);
247
246
  }
248
247
  };
249
248
 
@@ -135,6 +135,7 @@ inline static CGFloat RCTBaseSizeForDynamicTypeRamp(const DynamicTypeRamp &dynam
135
135
  inline static CGFloat RCTEffectiveFontSizeMultiplierFromTextAttributes(const TextAttributes &textAttributes)
136
136
  {
137
137
  if (textAttributes.allowFontScaling.value_or(true)) {
138
+ CGFloat fontSizeMultiplier = !isnan(textAttributes.fontSizeMultiplier) ? textAttributes.fontSizeMultiplier : 1.0;
138
139
  if (textAttributes.dynamicTypeRamp.has_value()) {
139
140
  DynamicTypeRamp dynamicTypeRamp = textAttributes.dynamicTypeRamp.value();
140
141
  UIFontMetrics *fontMetrics =
@@ -142,10 +143,11 @@ inline static CGFloat RCTEffectiveFontSizeMultiplierFromTextAttributes(const Tex
142
143
  // Using a specific font size reduces rounding errors from -scaledValueForValue:
143
144
  CGFloat requestedSize =
144
145
  isnan(textAttributes.fontSize) ? RCTBaseSizeForDynamicTypeRamp(dynamicTypeRamp) : textAttributes.fontSize;
145
- return [fontMetrics scaledValueForValue:requestedSize] / requestedSize;
146
- } else {
147
- return textAttributes.fontSizeMultiplier;
146
+ fontSizeMultiplier = [fontMetrics scaledValueForValue:requestedSize] / requestedSize;
148
147
  }
148
+ CGFloat maxFontSizeMultiplier =
149
+ !isnan(textAttributes.maxFontSizeMultiplier) ? textAttributes.maxFontSizeMultiplier : 0.0;
150
+ return maxFontSizeMultiplier >= 1.0 ? fminf(maxFontSizeMultiplier, fontSizeMultiplier) : fontSizeMultiplier;
149
151
  } else {
150
152
  return 1.0;
151
153
  }
@@ -403,6 +405,7 @@ static NSMutableAttributedString *RCTNSAttributedStringFragmentWithAttributesFro
403
405
  {
404
406
  auto nsAttributedStringFragment = RCTNSAttributedStringFragmentFromFragment(fragment, placeholderImage);
405
407
 
408
+ #if !TARGET_OS_MACCATALYST
406
409
  if (fragment.parentShadowView.componentHandle) {
407
410
  RCTWeakEventEmitterWrapper *eventEmitterWrapper = [RCTWeakEventEmitterWrapper new];
408
411
  eventEmitterWrapper.eventEmitter = fragment.parentShadowView.eventEmitter;
@@ -413,6 +416,7 @@ static NSMutableAttributedString *RCTNSAttributedStringFragmentWithAttributesFro
413
416
  [nsAttributedStringFragment addAttributes:additionalTextAttributes
414
417
  range:NSMakeRange(0, nsAttributedStringFragment.length)];
415
418
  }
419
+ #endif
416
420
 
417
421
  return nsAttributedStringFragment;
418
422
  }
@@ -23,7 +23,7 @@ javax-annotation-api = "1.3.2"
23
23
  javax-inject = "1"
24
24
  jsr305 = "3.0.2"
25
25
  junit = "4.13.2"
26
- kotlin = "1.9.24"
26
+ kotlin = "1.9.25"
27
27
  mockito = "3.12.4"
28
28
  nexus-publish = "1.3.0"
29
29
  okhttp = "4.9.2"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native",
3
- "version": "0.76.5",
3
+ "version": "0.76.7",
4
4
  "description": "A framework for building native apps using React",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -109,13 +109,13 @@
109
109
  },
110
110
  "dependencies": {
111
111
  "@jest/create-cache-key-function": "^29.6.3",
112
- "@react-native/assets-registry": "0.76.5",
113
- "@react-native/codegen": "0.76.5",
114
- "@react-native/community-cli-plugin": "0.76.5",
115
- "@react-native/gradle-plugin": "0.76.5",
116
- "@react-native/js-polyfills": "0.76.5",
117
- "@react-native/normalize-colors": "0.76.5",
118
- "@react-native/virtualized-lists": "0.76.5",
112
+ "@react-native/assets-registry": "0.76.7",
113
+ "@react-native/codegen": "0.76.7",
114
+ "@react-native/community-cli-plugin": "0.76.7",
115
+ "@react-native/gradle-plugin": "0.76.7",
116
+ "@react-native/js-polyfills": "0.76.7",
117
+ "@react-native/normalize-colors": "0.76.7",
118
+ "@react-native/virtualized-lists": "0.76.7",
119
119
  "abort-controller": "^3.0.0",
120
120
  "anser": "^1.4.9",
121
121
  "ansi-regex": "^5.0.0",
@@ -44,10 +44,10 @@ class ReactNativePodsUtils
44
44
  end
45
45
 
46
46
  def self.set_gcc_preprocessor_definition_for_React_hermes(installer)
47
- self.add_build_settings_to_pod(installer, "GCC_PREPROCESSOR_DEFINITIONS", "HERMES_ENABLE_DEBUGGER=1", "React-hermes", "Debug")
48
- self.add_build_settings_to_pod(installer, "GCC_PREPROCESSOR_DEFINITIONS", "HERMES_ENABLE_DEBUGGER=1", "React-jsinspector", "Debug")
49
- self.add_build_settings_to_pod(installer, "GCC_PREPROCESSOR_DEFINITIONS", "HERMES_ENABLE_DEBUGGER=1", "hermes-engine", "Debug")
50
- self.add_build_settings_to_pod(installer, "GCC_PREPROCESSOR_DEFINITIONS", "HERMES_ENABLE_DEBUGGER=1", "React-RuntimeHermes", "Debug")
47
+ self.add_build_settings_to_pod(installer, "GCC_PREPROCESSOR_DEFINITIONS", "HERMES_ENABLE_DEBUGGER=1", "React-hermes", :debug)
48
+ self.add_build_settings_to_pod(installer, "GCC_PREPROCESSOR_DEFINITIONS", "HERMES_ENABLE_DEBUGGER=1", "React-jsinspector", :debug)
49
+ self.add_build_settings_to_pod(installer, "GCC_PREPROCESSOR_DEFINITIONS", "HERMES_ENABLE_DEBUGGER=1", "hermes-engine", :debug)
50
+ self.add_build_settings_to_pod(installer, "GCC_PREPROCESSOR_DEFINITIONS", "HERMES_ENABLE_DEBUGGER=1", "React-RuntimeHermes", :debug)
51
51
  end
52
52
 
53
53
  def self.turn_off_resource_bundle_react_core(installer)
@@ -193,11 +193,11 @@ class ReactNativePodsUtils
193
193
 
194
194
  private
195
195
 
196
- def self.add_build_settings_to_pod(installer, settings_name, settings_value, target_pod_name, configuration)
196
+ def self.add_build_settings_to_pod(installer, settings_name, settings_value, target_pod_name, configuration_type)
197
197
  installer.target_installation_results.pod_target_installation_results.each do |pod_name, target_installation_result|
198
198
  if pod_name.to_s == target_pod_name
199
199
  target_installation_result.native_target.build_configurations.each do |config|
200
- if configuration == nil || (configuration != nil && config.name.include?(configuration))
200
+ if configuration_type == nil || (configuration_type != nil && config.type == configuration_type)
201
201
  config.build_settings[settings_name] ||= '$(inherited) '
202
202
  config.build_settings[settings_name] << settings_value
203
203
  end
@@ -325,13 +325,13 @@ function findNotLinkedLibraries(projectRoot) {
325
325
  // We don't consider the case were `dependency-name.root` is equal to `null`, because that
326
326
  // means that the library is not linked to the app at all, and in that case the dependency
327
327
  // should be removed by the user.
328
- dependency.platforms && Object.keys(dependency.platforms).forEach(platform => {
329
- if (dependency.platforms[platform] == null) {
330
- notLinkedPlatforms.push(platform);
331
- }
332
- });
328
+ dependency.platforms &&
329
+ Object.keys(dependency.platforms).forEach(platform => {
330
+ if (dependency.platforms[platform] == null) {
331
+ notLinkedPlatforms.push(platform);
332
+ }
333
+ });
333
334
  notLinkedLibraries[name] = notLinkedPlatforms;
334
-
335
335
  });
336
336
  return notLinkedLibraries;
337
337
  }
Binary file
Binary file
Binary file
Binary file
@@ -4,7 +4,7 @@
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
- * @generated SignedSource<<0bff47ec5af8ed96d8b2abe351f318f1>>
7
+ * @generated SignedSource<<cbc00457c9b6f4639083b6fa970683eb>>
8
8
  * @flow strict-local
9
9
  */
10
10
 
@@ -46,7 +46,6 @@ export type ReactNativeFeatureFlagsJsOnlyOverrides = Partial<ReactNativeFeatureF
46
46
  export type ReactNativeFeatureFlags = {
47
47
  ...ReactNativeFeatureFlagsJsOnly,
48
48
  commonTestFlag: Getter<boolean>,
49
- allowRecursiveCommitsWithSynchronousMountOnAndroid: Getter<boolean>,
50
49
  batchRenderingUpdatesInEventLoop: Getter<boolean>,
51
50
  completeReactInstanceCreationOnBgThreadOnAndroid: Getter<boolean>,
52
51
  destroyFabricSurfacesInReactInstanceManager: Getter<boolean>,
@@ -164,10 +163,6 @@ export const useRefsForTextInputState: Getter<boolean> = createJavaScriptFlagGet
164
163
  * Common flag for testing. Do NOT modify.
165
164
  */
166
165
  export const commonTestFlag: Getter<boolean> = createNativeFlagGetter('commonTestFlag', false);
167
- /**
168
- * Adds support for recursively processing commits that mount synchronously (Android only).
169
- */
170
- export const allowRecursiveCommitsWithSynchronousMountOnAndroid: Getter<boolean> = createNativeFlagGetter('allowRecursiveCommitsWithSynchronousMountOnAndroid', false);
171
166
  /**
172
167
  * When enabled, the RuntimeScheduler processing the event loop will batch all rendering updates and dispatch them together at the end of each iteration of the loop.
173
168
  */
@@ -4,7 +4,7 @@
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
- * @generated SignedSource<<6d4aa48dfdd3b78ac5f0f8e70eb3895f>>
7
+ * @generated SignedSource<<ac46e3eb810d890a0f8199fe100936cb>>
8
8
  * @flow strict-local
9
9
  */
10
10
 
@@ -24,7 +24,6 @@ import * as TurboModuleRegistry from '../../../../Libraries/TurboModule/TurboMod
24
24
 
25
25
  export interface Spec extends TurboModule {
26
26
  +commonTestFlag?: () => boolean;
27
- +allowRecursiveCommitsWithSynchronousMountOnAndroid?: () => boolean;
28
27
  +batchRenderingUpdatesInEventLoop?: () => boolean;
29
28
  +completeReactInstanceCreationOnBgThreadOnAndroid?: () => boolean;
30
29
  +destroyFabricSurfacesInReactInstanceManager?: () => boolean;