react-native 0.73.0 → 0.73.2

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 (30) hide show
  1. package/Libraries/Core/ReactNativeVersion.js +1 -1
  2. package/Libraries/promiseRejectionTrackingOptions.js +5 -0
  3. package/React/Base/RCTVersion.m +1 -1
  4. package/React/DevSupport/RCTInspectorDevServerHelper.mm +60 -4
  5. package/React/Views/ScrollView/RCTScrollView.m +4 -0
  6. package/ReactAndroid/build.gradle +1 -1
  7. package/ReactAndroid/gradle.properties +1 -1
  8. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevServerHelper.java +70 -5
  9. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java +1 -1
  10. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagersPropertyCache.java +19 -2
  11. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java +29 -4
  12. package/ReactAndroid/src/main/jni/react/fabric/Binding.h +5 -1
  13. package/ReactAndroid/src/main/jni/react/fabric/JFabricUIManager.cpp +3 -2
  14. package/ReactCommon/cxxreact/ReactNativeVersion.h +1 -1
  15. package/package.json +13 -13
  16. package/scripts/cocoapods/utils.rb +2 -1
  17. package/scripts/react-native-xcode.sh +1 -1
  18. package/scripts/react_native_pods.rb +1 -1
  19. package/sdks/hermesc/osx-bin/hermes +0 -0
  20. package/sdks/hermesc/osx-bin/hermesc +0 -0
  21. package/sdks/hermesc/win64-bin/hermesc.exe +0 -0
  22. package/template/android/app/src/main/java/com/helloworld/MainApplication.kt +5 -5
  23. package/template/package.json +5 -5
  24. package/third-party-podspecs/boost.podspec +1 -1
  25. package/ReactAndroid/src/main/res/devsupport/values-cb/strings.xml +0 -6
  26. package/ReactAndroid/src/main/res/devsupport/values-fb/strings.xml +0 -8
  27. package/ReactAndroid/src/main/res/devsupport/values-fb-rLS/strings.xml +0 -8
  28. package/ReactAndroid/src/main/res/views/uimanager/values-cb/strings.xml +0 -13
  29. package/ReactAndroid/src/main/res/views/uimanager/values-fb/strings.xml +0 -31
  30. package/ReactAndroid/src/main/res/views/uimanager/values-fb-rLS/strings.xml +0 -26
@@ -12,6 +12,6 @@
12
12
  exports.version = {
13
13
  major: 0,
14
14
  minor: 73,
15
- patch: 0,
15
+ patch: 2,
16
16
  prerelease: null,
17
17
  };
@@ -34,6 +34,11 @@ let rejectionTrackingOptions: $NonMaybeType<Parameters<enable>[0]> = {
34
34
  ? rejection
35
35
  : JSON.stringify((rejection: $FlowFixMe));
36
36
  }
37
+ // It could although this object is not a standard error, it still has stack information to unwind
38
+ // $FlowFixMe ignore types just check if stack is there
39
+ if (rejection.stack && typeof rejection.stack === 'string') {
40
+ stack = rejection.stack;
41
+ }
37
42
  }
38
43
 
39
44
  const warning = `Possible unhandled promise rejection (id: ${id}):\n${
@@ -23,7 +23,7 @@ NSDictionary* RCTGetReactNativeVersion(void)
23
23
  __rnVersion = @{
24
24
  RCTVersionMajor: @(0),
25
25
  RCTVersionMinor: @(73),
26
- RCTVersionPatch: @(0),
26
+ RCTVersionPatch: @(2),
27
27
  RCTVersionPrerelease: [NSNull null],
28
28
  };
29
29
  });
@@ -15,6 +15,8 @@
15
15
  #import <React/RCTDefines.h>
16
16
  #import <React/RCTInspectorPackagerConnection.h>
17
17
 
18
+ #import <CommonCrypto/CommonCrypto.h>
19
+
18
20
  static NSString *const kDebuggerMsgDisable = @"{ \"id\":1,\"method\":\"Debugger.disable\" }";
19
21
 
20
22
  static NSString *getServerHost(NSURL *bundleURL)
@@ -40,16 +42,65 @@ static NSString *getServerHost(NSURL *bundleURL)
40
42
  return [NSString stringWithFormat:@"%@:%@", host, port];
41
43
  }
42
44
 
45
+ static NSString *getSHA256(NSString *string)
46
+ {
47
+ const char *str = string.UTF8String;
48
+ unsigned char result[CC_SHA256_DIGEST_LENGTH];
49
+ CC_SHA256(str, (CC_LONG)strlen(str), result);
50
+
51
+ return [NSString stringWithFormat:@"%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x",
52
+ result[0],
53
+ result[1],
54
+ result[2],
55
+ result[3],
56
+ result[4],
57
+ result[5],
58
+ result[6],
59
+ result[7],
60
+ result[8],
61
+ result[9],
62
+ result[10],
63
+ result[11],
64
+ result[12],
65
+ result[13],
66
+ result[14],
67
+ result[15],
68
+ result[16],
69
+ result[17],
70
+ result[18],
71
+ result[19]];
72
+ }
73
+
74
+ // Returns an opaque ID which is stable for the current combination of device and app, stable across installs,
75
+ // and unique across devices.
76
+ static NSString *getInspectorDeviceId()
77
+ {
78
+ // A bundle ID uniquely identifies a single app throughout the system. [Source: Apple docs]
79
+ NSString *bundleId = [[NSBundle mainBundle] bundleIdentifier];
80
+
81
+ // An alphanumeric string that uniquely identifies a device to the app's vendor. [Source: Apple docs]
82
+ NSString *identifierForVendor = [[UIDevice currentDevice] identifierForVendor].UUIDString;
83
+
84
+ NSString *rawDeviceId = [NSString stringWithFormat:@"apple-%@-%@", identifierForVendor, bundleId];
85
+
86
+ return getSHA256(rawDeviceId);
87
+ }
88
+
43
89
  static NSURL *getInspectorDeviceUrl(NSURL *bundleURL)
44
90
  {
45
91
  NSString *escapedDeviceName = [[[UIDevice currentDevice] name]
46
92
  stringByAddingPercentEncodingWithAllowedCharacters:NSCharacterSet.URLQueryAllowedCharacterSet];
47
93
  NSString *escapedAppName = [[[NSBundle mainBundle] bundleIdentifier]
48
94
  stringByAddingPercentEncodingWithAllowedCharacters:NSCharacterSet.URLQueryAllowedCharacterSet];
49
- return [NSURL URLWithString:[NSString stringWithFormat:@"http://%@/inspector/device?name=%@&app=%@",
95
+
96
+ NSString *escapedInspectorDeviceId = [getInspectorDeviceId()
97
+ stringByAddingPercentEncodingWithAllowedCharacters:NSCharacterSet.URLQueryAllowedCharacterSet];
98
+
99
+ return [NSURL URLWithString:[NSString stringWithFormat:@"http://%@/inspector/device?name=%@&app=%@&device=%@",
50
100
  getServerHost(bundleURL),
51
101
  escapedDeviceName,
52
- escapedAppName]];
102
+ escapedAppName,
103
+ escapedInspectorDeviceId]];
53
104
  }
54
105
 
55
106
  @implementation RCTInspectorDevServerHelper
@@ -70,8 +121,13 @@ static void sendEventToAllConnections(NSString *event)
70
121
  NSString *appId = [[[NSBundle mainBundle] bundleIdentifier]
71
122
  stringByAddingPercentEncodingWithAllowedCharacters:NSCharacterSet.URLQueryAllowedCharacterSet];
72
123
 
73
- NSURL *url = [NSURL
74
- URLWithString:[NSString stringWithFormat:@"http://%@/open-debugger?appId=%@", getServerHost(bundleURL), appId]];
124
+ NSString *escapedInspectorDeviceId = [getInspectorDeviceId()
125
+ stringByAddingPercentEncodingWithAllowedCharacters:NSCharacterSet.URLQueryAllowedCharacterSet];
126
+
127
+ NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"http://%@/open-debugger?appId=%@&device=%@",
128
+ getServerHost(bundleURL),
129
+ appId,
130
+ escapedInspectorDeviceId]];
75
131
  NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
76
132
  [request setHTTPMethod:@"POST"];
77
133
 
@@ -568,6 +568,10 @@ static inline void RCTApplyTransformationAccordingLayoutDirection(
568
568
 
569
569
  - (void)scrollToOffset:(CGPoint)offset animated:(BOOL)animated
570
570
  {
571
+ if ([self reactLayoutDirection] == UIUserInterfaceLayoutDirectionRightToLeft) {
572
+ offset.x = _scrollView.contentSize.width - _scrollView.frame.size.width - offset.x;
573
+ }
574
+
571
575
  if (!CGPointEqualToPoint(_scrollView.contentOffset, offset)) {
572
576
  CGRect maxRect = CGRectMake(
573
577
  fmin(-_scrollView.contentInset.left, 0),
@@ -261,7 +261,7 @@ task createNativeDepsDirectories {
261
261
  }
262
262
 
263
263
  task downloadBoost(dependsOn: createNativeDepsDirectories, type: Download) {
264
- src("https://boostorg.jfrog.io/artifactory/main/release/${BOOST_VERSION.replace("_", ".")}/source/boost_${BOOST_VERSION}.tar.gz")
264
+ src("https://archives.boost.io/release/${BOOST_VERSION.replace("_", ".")}/source/boost_${BOOST_VERSION}.tar.gz")
265
265
  onlyIfModified(true)
266
266
  overwrite(false)
267
267
  retries(5)
@@ -1,4 +1,4 @@
1
- VERSION_NAME=0.73.0
1
+ VERSION_NAME=0.73.2
2
2
  react.internal.publishingGroup=com.facebook.react
3
3
 
4
4
  android.useAndroidX=true
@@ -9,6 +9,7 @@ package com.facebook.react.devsupport;
9
9
 
10
10
  import android.net.Uri;
11
11
  import android.os.AsyncTask;
12
+ import android.provider.Settings;
12
13
  import androidx.annotation.NonNull;
13
14
  import androidx.annotation.Nullable;
14
15
  import com.facebook.common.logging.FLog;
@@ -30,6 +31,9 @@ import com.facebook.react.packagerconnection.Responder;
30
31
  import com.facebook.react.util.RNLog;
31
32
  import java.io.File;
32
33
  import java.io.IOException;
34
+ import java.io.UnsupportedEncodingException;
35
+ import java.security.MessageDigest;
36
+ import java.security.NoSuchAlgorithmException;
33
37
  import java.util.HashMap;
34
38
  import java.util.Locale;
35
39
  import java.util.Map;
@@ -244,13 +248,73 @@ public class DevServerHelper {
244
248
  mPackagerConnectionSettings.getDebugServerHost());
245
249
  }
246
250
 
251
+ private static String getSHA256(String string) {
252
+ MessageDigest digest = null;
253
+ try {
254
+ digest = MessageDigest.getInstance("SHA-256");
255
+ } catch (NoSuchAlgorithmException e) {
256
+ throw new AssertionError("Could not get standard SHA-256 algorithm", e);
257
+ }
258
+ digest.reset();
259
+ byte[] result;
260
+ try {
261
+ result = digest.digest(string.getBytes("UTF-8"));
262
+ } catch (UnsupportedEncodingException e) {
263
+ throw new AssertionError("This environment doesn't support UTF-8 encoding", e);
264
+ }
265
+ return String.format(
266
+ "%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x",
267
+ result[0],
268
+ result[1],
269
+ result[2],
270
+ result[3],
271
+ result[4],
272
+ result[5],
273
+ result[6],
274
+ result[7],
275
+ result[8],
276
+ result[9],
277
+ result[10],
278
+ result[11],
279
+ result[12],
280
+ result[13],
281
+ result[14],
282
+ result[15],
283
+ result[16],
284
+ result[17],
285
+ result[18],
286
+ result[19]);
287
+ }
288
+
289
+ // Returns an opaque ID which is stable for the current combination of device and app, stable
290
+ // across installs, and unique across devices.
291
+ private String getInspectorDeviceId() {
292
+ // Every Android app has a unique application ID that looks like a Java or Kotlin package name,
293
+ // such as com.example.myapp. This ID uniquely identifies your app on the device and in the
294
+ // Google Play Store.
295
+ // [Source: Android docs]
296
+ String packageName = mPackageName;
297
+
298
+ // A 64-bit number expressed as a hexadecimal string, which is either:
299
+ // * unique to each combination of app-signing key, user, and device (API level >= 26), or
300
+ // * randomly generated when the user first sets up the device and should remain constant for
301
+ // the lifetime of the user's device (API level < 26).
302
+ // [Source: Android docs]
303
+ String androidId = Settings.Secure.ANDROID_ID;
304
+
305
+ String rawDeviceId = String.format(Locale.US, "android-%s-%s", packageName, androidId);
306
+
307
+ return getSHA256(rawDeviceId);
308
+ }
309
+
247
310
  private String getInspectorDeviceUrl() {
248
311
  return String.format(
249
312
  Locale.US,
250
- "http://%s/inspector/device?name=%s&app=%s",
313
+ "http://%s/inspector/device?name=%s&app=%s&device=%s",
251
314
  mPackagerConnectionSettings.getInspectorServerHost(),
252
- AndroidInfoHelpers.getFriendlyDeviceName(),
253
- mPackageName);
315
+ Uri.encode(AndroidInfoHelpers.getFriendlyDeviceName()),
316
+ Uri.encode(mPackageName),
317
+ Uri.encode(getInspectorDeviceId()));
254
318
  }
255
319
 
256
320
  public void downloadBundleFromURL(
@@ -425,9 +489,10 @@ public class DevServerHelper {
425
489
  String requestUrl =
426
490
  String.format(
427
491
  Locale.US,
428
- "http://%s/open-debugger?appId=%s",
492
+ "http://%s/open-debugger?appId=%s&device=%s",
429
493
  mPackagerConnectionSettings.getInspectorServerHost(),
430
- Uri.encode(mPackageName));
494
+ Uri.encode(mPackageName),
495
+ Uri.encode(getInspectorDeviceId()));
431
496
  Request request =
432
497
  new Request.Builder().url(requestUrl).method("POST", RequestBody.create(null, "")).build();
433
498
 
@@ -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", 73,
20
- "patch", 0,
20
+ "patch", 2,
21
21
  "prerelease", null);
22
22
  }
@@ -204,6 +204,11 @@ import java.util.Map;
204
204
  mDefaultValue = defaultValue;
205
205
  }
206
206
 
207
+ public ColorPropSetter(ReactPropGroup prop, Method setter, int index, int defaultValue) {
208
+ super(prop, "mixed", setter, index);
209
+ mDefaultValue = defaultValue;
210
+ }
211
+
207
212
  @Override
208
213
  protected Object getValueOrDefault(Object value, Context context) {
209
214
  if (value == null) {
@@ -331,6 +336,10 @@ import java.util.Map;
331
336
  super(prop, "mixed", setter);
332
337
  }
333
338
 
339
+ public BoxedColorPropSetter(ReactPropGroup prop, Method setter, int index) {
340
+ super(prop, "mixed", setter, index);
341
+ }
342
+
334
343
  @Override
335
344
  protected @Nullable Object getValueOrDefault(Object value, Context context) {
336
345
  if (value != null) {
@@ -468,7 +477,11 @@ import java.util.Map;
468
477
  }
469
478
  } else if (propTypeClass == int.class) {
470
479
  for (int i = 0; i < names.length; i++) {
471
- props.put(names[i], new IntPropSetter(annotation, method, i, annotation.defaultInt()));
480
+ if ("Color".equals(annotation.customType())) {
481
+ props.put(names[i], new ColorPropSetter(annotation, method, i, annotation.defaultInt()));
482
+ } else {
483
+ props.put(names[i], new IntPropSetter(annotation, method, i, annotation.defaultInt()));
484
+ }
472
485
  }
473
486
  } else if (propTypeClass == float.class) {
474
487
  for (int i = 0; i < names.length; i++) {
@@ -481,7 +494,11 @@ import java.util.Map;
481
494
  }
482
495
  } else if (propTypeClass == Integer.class) {
483
496
  for (int i = 0; i < names.length; i++) {
484
- props.put(names[i], new BoxedIntPropSetter(annotation, method, i));
497
+ if ("Color".equals(annotation.customType())) {
498
+ props.put(names[i], new BoxedColorPropSetter(annotation, method, i));
499
+ } else {
500
+ props.put(names[i], new BoxedIntPropSetter(annotation, method, i));
501
+ }
485
502
  }
486
503
  } else {
487
504
  throw new RuntimeException(
@@ -9,6 +9,8 @@ package com.facebook.react.views.textinput;
9
9
 
10
10
  import static com.facebook.react.uimanager.UIManagerHelper.getReactContext;
11
11
 
12
+ import android.content.ClipData;
13
+ import android.content.ClipboardManager;
12
14
  import android.content.Context;
13
15
  import android.graphics.Color;
14
16
  import android.graphics.Paint;
@@ -208,7 +210,9 @@ public class ReactEditText extends AppCompatEditText {
208
210
  public void onDestroyActionMode(ActionMode mode) {}
209
211
  };
210
212
  setCustomSelectionActionModeCallback(customActionModeCallback);
211
- setCustomInsertionActionModeCallback(customActionModeCallback);
213
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
214
+ setCustomInsertionActionModeCallback(customActionModeCallback);
215
+ }
212
216
  }
213
217
 
214
218
  @Override
@@ -304,7 +308,26 @@ public class ReactEditText extends AppCompatEditText {
304
308
  @Override
305
309
  public boolean onTextContextMenuItem(int id) {
306
310
  if (id == android.R.id.paste) {
307
- id = android.R.id.pasteAsPlainText;
311
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
312
+ id = android.R.id.pasteAsPlainText;
313
+ } else {
314
+ ClipboardManager clipboard =
315
+ (ClipboardManager) getContext().getSystemService(Context.CLIPBOARD_SERVICE);
316
+ ClipData previousClipData = clipboard.getPrimaryClip();
317
+ if (previousClipData != null) {
318
+ for (int i = 0; i < previousClipData.getItemCount(); i++) {
319
+ final CharSequence text = previousClipData.getItemAt(i).coerceToText(getContext());
320
+ final CharSequence paste = (text instanceof Spanned) ? text.toString() : text;
321
+ if (paste != null) {
322
+ ClipData clipData = ClipData.newPlainText(null, text);
323
+ clipboard.setPrimaryClip(clipData);
324
+ }
325
+ }
326
+ boolean actionPerformed = super.onTextContextMenuItem(id);
327
+ clipboard.setPrimaryClip(previousClipData);
328
+ return actionPerformed;
329
+ }
330
+ }
308
331
  }
309
332
  return super.onTextContextMenuItem(id);
310
333
  }
@@ -679,8 +702,10 @@ public class ReactEditText extends AppCompatEditText {
679
702
  }
680
703
  mDisableTextDiffing = false;
681
704
 
682
- if (getBreakStrategy() != reactTextUpdate.getTextBreakStrategy()) {
683
- setBreakStrategy(reactTextUpdate.getTextBreakStrategy());
705
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
706
+ if (getBreakStrategy() != reactTextUpdate.getTextBreakStrategy()) {
707
+ setBreakStrategy(reactTextUpdate.getTextBreakStrategy());
708
+ }
684
709
  }
685
710
 
686
711
  // Update cached spans (in Fabric only).
@@ -34,7 +34,11 @@ class ReactNativeConfig;
34
34
  class Scheduler;
35
35
  class SurfaceHandlerBinding;
36
36
 
37
- class Binding : public jni::HybridClass<Binding>,
37
+ struct JBinding : public jni::JavaClass<JBinding> {
38
+ constexpr static auto kJavaDescriptor = "Lcom/facebook/react/fabric/Binding;";
39
+ };
40
+
41
+ class Binding : public jni::HybridClass<Binding, JBinding>,
38
42
  public SchedulerDelegate,
39
43
  public LayoutAnimationStatusDelegate {
40
44
  public:
@@ -13,8 +13,9 @@ namespace facebook::react {
13
13
 
14
14
  Binding* JFabricUIManager::getBinding() {
15
15
  static const auto bindingField =
16
- javaClassStatic()->getField<Binding::javaobject>("mBinding");
16
+ javaClassStatic()->getField<JBinding::javaobject>("mBinding");
17
17
 
18
- return getFieldValue(bindingField)->cthis();
18
+ return jni::static_ref_cast<Binding::javaobject>(getFieldValue(bindingField))
19
+ ->cthis();
19
20
  }
20
21
  } // namespace facebook::react
@@ -17,7 +17,7 @@ namespace facebook::react {
17
17
  constexpr struct {
18
18
  int32_t Major = 0;
19
19
  int32_t Minor = 73;
20
- int32_t Patch = 0;
20
+ int32_t Patch = 2;
21
21
  std::string_view Prerelease = "";
22
22
  } ReactNativeVersion;
23
23
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native",
3
- "version": "0.73.0",
3
+ "version": "0.73.2",
4
4
  "description": "A framework for building native apps using React",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -93,16 +93,16 @@
93
93
  },
94
94
  "dependencies": {
95
95
  "@jest/create-cache-key-function": "^29.6.3",
96
- "@react-native-community/cli": "12.1.1",
97
- "@react-native-community/cli-platform-android": "12.1.1",
98
- "@react-native-community/cli-platform-ios": "12.1.1",
99
- "@react-native/assets-registry": "^0.73.1",
100
- "@react-native/community-cli-plugin": "^0.73.10",
101
- "@react-native/codegen": "^0.73.2",
102
- "@react-native/gradle-plugin": "^0.73.4",
103
- "@react-native/js-polyfills": "^0.73.1",
104
- "@react-native/normalize-colors": "^0.73.2",
105
- "@react-native/virtualized-lists": "^0.73.3",
96
+ "@react-native-community/cli": "12.3.0",
97
+ "@react-native-community/cli-platform-android": "12.3.0",
98
+ "@react-native-community/cli-platform-ios": "12.3.0",
99
+ "@react-native/assets-registry": "0.73.1",
100
+ "@react-native/community-cli-plugin": "0.73.12",
101
+ "@react-native/codegen": "0.73.2",
102
+ "@react-native/gradle-plugin": "0.73.4",
103
+ "@react-native/js-polyfills": "0.73.1",
104
+ "@react-native/normalize-colors": "0.73.2",
105
+ "@react-native/virtualized-lists": "0.73.4",
106
106
  "abort-controller": "^3.0.0",
107
107
  "anser": "^1.4.9",
108
108
  "ansi-regex": "^5.0.0",
@@ -114,8 +114,8 @@
114
114
  "jest-environment-node": "^29.6.3",
115
115
  "jsc-android": "^250231.0.0",
116
116
  "memoize-one": "^5.0.0",
117
- "metro-runtime": "^0.80.0",
118
- "metro-source-map": "^0.80.0",
117
+ "metro-runtime": "^0.80.3",
118
+ "metro-source-map": "^0.80.3",
119
119
  "mkdirp": "^0.5.1",
120
120
  "nullthrows": "^1.1.1",
121
121
  "pretty-format": "^26.5.2",
@@ -560,7 +560,8 @@ class ReactNativePodsUtils
560
560
  "NSAppTransportSecurity" => ats_configs
561
561
  }
562
562
  else
563
- plist["NSAppTransportSecurity"] = ats_configs
563
+ plist["NSAppTransportSecurity"] ||= {}
564
+ plist["NSAppTransportSecurity"] = plist["NSAppTransportSecurity"].merge(ats_configs)
564
565
  end
565
566
  Xcodeproj::Plist.write_to_path(plist, fullPlistPath)
566
567
  end
@@ -15,7 +15,7 @@ DEST=$CONFIGURATION_BUILD_DIR/$UNLOCALIZED_RESOURCES_FOLDER_PATH
15
15
  # Enables iOS devices to get the IP address of the machine running Metro
16
16
  if [[ ! "$SKIP_BUNDLING_METRO_IP" && "$CONFIGURATION" = *Debug* && ! "$PLATFORM_NAME" == *simulator ]]; then
17
17
  for num in 0 1 2 3 4 5 6 7 8; do
18
- IP=$(ipconfig getifaddr en${num})
18
+ IP=$(ipconfig getifaddr en${num} || echo "")
19
19
  if [ ! -z "$IP" ]; then
20
20
  break
21
21
  fi
@@ -294,7 +294,7 @@ def react_native_post_install(
294
294
  end
295
295
 
296
296
  fabric_enabled = ENV['RCT_FABRIC_ENABLED'] == '1'
297
- hermes_enabled = ReactNativePodsUtils.has_pod(installer, "React-hermes")
297
+ hermes_enabled = ENV['USE_HERMES'] == '1'
298
298
 
299
299
  if hermes_enabled
300
300
  ReactNativePodsUtils.set_gcc_preprocessor_definition_for_React_hermes(installer)
Binary file
Binary file
Binary file
@@ -16,11 +16,11 @@ class MainApplication : Application(), ReactApplication {
16
16
 
17
17
  override val reactNativeHost: ReactNativeHost =
18
18
  object : DefaultReactNativeHost(this) {
19
- override fun getPackages(): List<ReactPackage> {
20
- // Packages that cannot be autolinked yet can be added manually here, for example:
21
- // packages.add(new MyReactNativePackage());
22
- return PackageList(this).packages
23
- }
19
+ override fun getPackages(): List<ReactPackage> =
20
+ PackageList(this).packages.apply {
21
+ // Packages that cannot be autolinked yet can be added manually here, for example:
22
+ // add(MyReactNativePackage())
23
+ }
24
24
 
25
25
  override fun getJSMainModuleName(): String = "index"
26
26
 
@@ -11,16 +11,16 @@
11
11
  },
12
12
  "dependencies": {
13
13
  "react": "18.2.0",
14
- "react-native": "0.73.0"
14
+ "react-native": "0.73.2"
15
15
  },
16
16
  "devDependencies": {
17
17
  "@babel/core": "^7.20.0",
18
18
  "@babel/preset-env": "^7.20.0",
19
19
  "@babel/runtime": "^7.20.0",
20
- "@react-native/babel-preset": "^0.73.18",
21
- "@react-native/eslint-config": "^0.73.1",
22
- "@react-native/metro-config": "^0.73.2",
23
- "@react-native/typescript-config": "^0.73.1",
20
+ "@react-native/babel-preset": "0.73.19",
21
+ "@react-native/eslint-config": "0.73.2",
22
+ "@react-native/metro-config": "0.73.3",
23
+ "@react-native/typescript-config": "0.73.1",
24
24
  "@types/react": "^18.2.6",
25
25
  "@types/react-test-renderer": "^18.0.0",
26
26
  "babel-jest": "^29.6.3",
@@ -10,7 +10,7 @@ Pod::Spec.new do |spec|
10
10
  spec.homepage = 'http://www.boost.org'
11
11
  spec.summary = 'Boost provides free peer-reviewed portable C++ source libraries.'
12
12
  spec.authors = 'Rene Rivera'
13
- spec.source = { :http => 'https://boostorg.jfrog.io/artifactory/main/release/1.83.0/source/boost_1_83_0.tar.bz2',
13
+ spec.source = { :http => 'https://archives.boost.io/release/1.83.0/source/boost_1_83_0.tar.bz2',
14
14
  :sha256 => '6478edfe2f3305127cffe8caf73ea0176c53769f4bf1585be237eb30798c3b8e' }
15
15
 
16
16
  # Pinning to the same version as React.podspec.
@@ -1,6 +0,0 @@
1
- <?xml version="1.0" encoding="utf-8"?>
2
- <!-- See fburl.com/140690840 for information about i18n on Android -->
3
- <!-- @generated -->
4
- <!-- FB Locale: cb_IQ -->
5
- <resources exclude-from-buck-resource-map="true">
6
- </resources>
@@ -1,8 +0,0 @@
1
- <?xml version="1.0" encoding="utf-8"?>
2
- <!-- See fburl.com/140690840 for information about i18n on Android -->
3
- <!-- @generated -->
4
- <!-- FB Locale: fb_HA -->
5
- <resources exclude-from-buck-resource-map="true">
6
- <string name="catalyst_dev_menu_header" gender="unknown">[React Native Dev Menu (%1$s)#f560753940a8856cdc2de8717c0295df:1]</string>
7
- <string name="catalyst_dev_menu_sub_header" gender="unknown">[Running %1$s#c566f94d6bbe163799a3235b4b55f9d1:1]</string>
8
- </resources>
@@ -1,8 +0,0 @@
1
- <?xml version="1.0" encoding="utf-8"?>
2
- <!-- See fburl.com/140690840 for information about i18n on Android -->
3
- <!-- @generated -->
4
- <!-- FB Locale: fb_LS -->
5
- <resources exclude-from-buck-resource-map="true">
6
- <string name="catalyst_dev_menu_header" gender="unknown">React Native Dev Menu (%1$s)\@\@\@\@\@\@\@\@\@\@\@\@\@\@\@\@\@\@\@\@\@\@\@\@\@\@\@\@\@\@</string>
7
- <string name="catalyst_dev_menu_sub_header" gender="unknown">Running %1$s\@\@\@\@\@\@\@\@\@\@\@\@\@\@\@\@\@\@</string>
8
- </resources>
@@ -1,13 +0,0 @@
1
- <?xml version="1.0" encoding="utf-8"?>
2
- <!-- See fburl.com/140690840 for information about i18n on Android -->
3
- <!-- @generated -->
4
- <!-- FB Locale: cb_IQ -->
5
- <resources exclude-from-buck-resource-map="true">
6
- <string name="link_description" gender="unknown">بەستەر</string>
7
- <string name="image_description" gender="unknown">وێنە</string>
8
- <string name="imagebutton_description" gender="unknown">دوگمە، وێنە</string>
9
- <string name="combobox_description" gender="unknown">خشتەی دیاریکردن</string>
10
- <string name="menu_description" gender="unknown">پێڕست</string>
11
- <string name="state_on_description" gender="unknown">کارا</string>
12
- <string name="state_off_description" gender="unknown">کوژاندنەوە</string>
13
- </resources>
@@ -1,31 +0,0 @@
1
- <?xml version="1.0" encoding="utf-8"?>
2
- <!-- See fburl.com/140690840 for information about i18n on Android -->
3
- <!-- @generated -->
4
- <!-- FB Locale: fb_HA -->
5
- <resources exclude-from-buck-resource-map="true">
6
- <string name="link_description" gender="unknown">[Link#a31d26668a679e44a0843994a6744274:1]</string>
7
- <string name="image_description" gender="unknown">[Image#d8aa55c15c7118a635092b092bcf1d33:1]</string>
8
- <string name="imagebutton_description" gender="unknown">[Button, Image#2b5b423bf3daff8f8b188f5d5733ec14:1]</string>
9
- <string name="header_description" gender="unknown">[Heading#03d19d231fd31bc5dae409f337e4fea3:1]</string>
10
- <string name="alert_description" gender="unknown">[Alert#f230077c00a8397fcc7138dfd8b37405:1]</string>
11
- <string name="combobox_description" gender="unknown">[Combo Box#c399e5a30d2d764efcced424465cacc4:1]</string>
12
- <string name="menu_description" gender="unknown">[Menu#a2c49a9b7c94c31d6f53f5f59329a558:1]</string>
13
- <string name="menubar_description" gender="unknown">[Menu Bar#9ede63b4972815fe4810781f1f15770c:1]</string>
14
- <string name="menuitem_description" gender="unknown">[Menu Item#ba3a1d642e7bfae7a60f57181ff5a91f:1]</string>
15
- <string name="progressbar_description" gender="unknown">[Progress Bar#fc1ee5dacc16eb35a88ca3aff9355683:1]</string>
16
- <string name="radiogroup_description" gender="unknown">[Radio Group#382586bc34074311334bc929c63f69e4:1]</string>
17
- <string name="scrollbar_description" gender="unknown">[Scroll Bar#8c5cb8c1bbbac0ed64bb63c240b9a415:1]</string>
18
- <string name="spinbutton_description" gender="unknown">[Spin Button#8af18737c08f4adab8e7103876d29955:1]</string>
19
- <string name="rn_tab_description" gender="unknown">[Tab#60c56bd22945b4d1532f474bfc568a66:1]</string>
20
- <string name="tablist_description" gender="unknown">[Tab List#8daaf7f9316191f0e35f3ba31ed11aec:1]</string>
21
- <string name="timer_description" gender="unknown">[Timer#2f3aa4d3a05064a96945540d06072632:1]</string>
22
- <string name="toolbar_description" gender="unknown">[Tool Bar#13851684ac57a6612b478471e4894082:1]</string>
23
- <string name="summary_description" gender="unknown">[Summary#12f17d5316cde76d270ad4534e1d9f35:1]</string>
24
- <string name="state_busy_description" gender="unknown">[busy#c38a44fbc4bbf985a9e846c05e60b947:1]</string>
25
- <string name="state_expanded_description" gender="unknown">[expanded#45ee23081f04143c5be90131a7b0e3c5:1]</string>
26
- <string name="state_collapsed_description" gender="unknown">[collapsed#850739bd3f1cb1a9b82c3a6f68399233:1]</string>
27
- <string name="state_unselected_description" gender="unknown">[unselected#815cb61a1bc6c57ed0a65707d8c0c2d2:1]</string>
28
- <string name="state_on_description" gender="unknown">[on#86ddae449e2a1cb3b1fc5fed82bfc660:1]</string>
29
- <string name="state_off_description" gender="unknown">[off#f1ca5b210c9adef0fe7f14fe85ba521d:1]</string>
30
- <string name="state_mixed_description" gender="unknown">[mixed#30d19e1c3c088ba70e30538143bad3a8:1]</string>
31
- </resources>
@@ -1,26 +0,0 @@
1
- <?xml version="1.0" encoding="utf-8"?>
2
- <!-- See fburl.com/140690840 for information about i18n on Android -->
3
- <!-- @generated -->
4
- <!-- FB Locale: fb_LS -->
5
- <resources exclude-from-buck-resource-map="true">
6
- <string name="image_description" gender="unknown">Image \@\@\@</string>
7
- <string name="imagebutton_description" gender="unknown">Button, Image\@\@\@\@\@\@</string>
8
- <string name="header_description" gender="unknown">Heading \@\@\@ \@\@\@</string>
9
- <string name="combobox_description" gender="unknown">Combo Box \@\@\@</string>
10
- <string name="menu_description" gender="unknown">Menu \@\@\@</string>
11
- <string name="menubar_description" gender="unknown">Menu Bar \@\@\@</string>
12
- <string name="menuitem_description" gender="unknown">Menu Item\@\@\@\@\@\@</string>
13
- <string name="progressbar_description" gender="unknown">Progress Bar\@\@\@\@\@\@</string>
14
- <string name="radiogroup_description" gender="unknown">Radio Group\@\@\@\@\@\@\@\@\@</string>
15
- <string name="scrollbar_description" gender="unknown">Scroll Bar\@\@\@\@\@\@\@\@\@</string>
16
- <string name="spinbutton_description" gender="unknown">Spin Button \@\@\@ \@\@\@</string>
17
- <string name="tablist_description" gender="unknown">Tab List\@\@\@</string>
18
- <string name="timer_description" gender="unknown">Timer \@\@\@</string>
19
- <string name="toolbar_description" gender="unknown">Tool Bar\@\@\@\@\@\@</string>
20
- <string name="summary_description" gender="unknown">Summary\@\@\@\@\@\@</string>
21
- <string name="state_expanded_description" gender="unknown">expanded \@\@\@ \@\@\@</string>
22
- <string name="state_collapsed_description" gender="unknown">collapsed \@\@\@ \@\@\@ \@\@\@</string>
23
- <string name="state_unselected_description" gender="unknown">unselected\@\@\@</string>
24
- <string name="state_off_description" gender="unknown">off \@\@\@</string>
25
- <string name="state_mixed_description" gender="unknown">mixed\@\@\@</string>
26
- </resources>