react-native 0.80.1 → 0.80.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.
@@ -16,6 +16,6 @@ export const version: $ReadOnly<{
16
16
  }> = {
17
17
  major: 0,
18
18
  minor: 80,
19
- patch: 1,
19
+ patch: 2,
20
20
  prerelease: null,
21
21
  };
@@ -23,7 +23,7 @@ NSDictionary* RCTGetReactNativeVersion(void)
23
23
  __rnVersion = @{
24
24
  RCTVersionMajor: @(0),
25
25
  RCTVersionMinor: @(80),
26
- RCTVersionPatch: @(1),
26
+ RCTVersionPatch: @(2),
27
27
  RCTVersionPrerelease: [NSNull null],
28
28
  };
29
29
  });
@@ -1,4 +1,4 @@
1
- VERSION_NAME=0.80.1
1
+ VERSION_NAME=0.80.2
2
2
  react.internal.publishingGroup=com.facebook.react
3
3
 
4
4
  android.useAndroidX=true
@@ -9,6 +9,7 @@
9
9
 
10
10
  package com.facebook.react.fabric.internal.interop
11
11
 
12
+ import androidx.annotation.VisibleForTesting
12
13
  import com.facebook.react.bridge.UIManager
13
14
  import com.facebook.react.bridge.UIManagerListener
14
15
  import com.facebook.react.common.annotations.UnstableReactNativeAPI
@@ -24,9 +25,9 @@ import com.facebook.react.fabric.interop.UIBlockViewResolver
24
25
  */
25
26
  @OptIn(UnstableReactNativeAPI::class)
26
27
  internal class InteropUIBlockListener : UIManagerListener {
28
+ @VisibleForTesting internal val beforeUIBlocks: MutableList<UIBlock> = mutableListOf()
27
29
 
28
- internal val beforeUIBlocks: MutableList<UIBlock> = mutableListOf()
29
- internal val afterUIBlocks: MutableList<UIBlock> = mutableListOf()
30
+ @VisibleForTesting internal val afterUIBlocks: MutableList<UIBlock> = mutableListOf()
30
31
 
31
32
  @Synchronized
32
33
  fun prependUIBlock(block: UIBlock) {
@@ -39,27 +40,37 @@ internal class InteropUIBlockListener : UIManagerListener {
39
40
  }
40
41
 
41
42
  override fun willMountItems(uiManager: UIManager) {
42
- if (beforeUIBlocks.isEmpty()) {
43
+ if (uiManager !is UIBlockViewResolver) {
43
44
  return
44
45
  }
45
- beforeUIBlocks.forEach {
46
- if (uiManager is UIBlockViewResolver) {
47
- it.execute(uiManager)
48
- }
49
- }
50
- beforeUIBlocks.clear()
46
+
47
+ // avoid ConcurrentModificationException by iterating over a copy
48
+ val blocks =
49
+ synchronized(this) {
50
+ if (beforeUIBlocks.isEmpty()) {
51
+ return
52
+ }
53
+ beforeUIBlocks.toList().also { beforeUIBlocks.clear() }
54
+ }
55
+
56
+ blocks.forEach { block -> block.execute(uiManager) }
51
57
  }
52
58
 
53
59
  override fun didMountItems(uiManager: UIManager) {
54
- if (afterUIBlocks.isEmpty()) {
60
+ if (uiManager !is UIBlockViewResolver) {
55
61
  return
56
62
  }
57
- afterUIBlocks.forEach {
58
- if (uiManager is UIBlockViewResolver) {
59
- it.execute(uiManager)
60
- }
61
- }
62
- afterUIBlocks.clear()
63
+
64
+ // avoid ConcurrentModificationException by iterating over a copy
65
+ val blocks =
66
+ synchronized(this) {
67
+ if (afterUIBlocks.isEmpty()) {
68
+ return
69
+ }
70
+ afterUIBlocks.toList().also { afterUIBlocks.clear() }
71
+ }
72
+
73
+ blocks.forEach { block -> block.execute(uiManager) }
63
74
  }
64
75
 
65
76
  override fun didDispatchMountItems(uiManager: UIManager) = didMountItems(uiManager)
@@ -14,7 +14,7 @@ public object ReactNativeVersion {
14
14
  public val VERSION: Map<String, Any?> = mapOf(
15
15
  "major" to 0,
16
16
  "minor" to 80,
17
- "patch" to 1,
17
+ "patch" to 2,
18
18
  "prerelease" to null
19
19
  )
20
20
  }
@@ -14,14 +14,14 @@
14
14
 
15
15
  #define REACT_NATIVE_VERSION_MAJOR 0
16
16
  #define REACT_NATIVE_VERSION_MINOR 80
17
- #define REACT_NATIVE_VERSION_PATCH 1
17
+ #define REACT_NATIVE_VERSION_PATCH 2
18
18
 
19
19
  namespace facebook::react {
20
20
 
21
21
  constexpr struct {
22
22
  int32_t Major = 0;
23
23
  int32_t Minor = 80;
24
- int32_t Patch = 1;
24
+ int32_t Patch = 2;
25
25
  std::string_view Prerelease = "";
26
26
  } ReactNativeVersion;
27
27
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native",
3
- "version": "0.80.1",
3
+ "version": "0.80.2",
4
4
  "description": "A framework for building native apps using React",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -160,13 +160,13 @@
160
160
  },
161
161
  "dependencies": {
162
162
  "@jest/create-cache-key-function": "^29.7.0",
163
- "@react-native/assets-registry": "0.80.1",
164
- "@react-native/codegen": "0.80.1",
165
- "@react-native/community-cli-plugin": "0.80.1",
166
- "@react-native/gradle-plugin": "0.80.1",
167
- "@react-native/js-polyfills": "0.80.1",
168
- "@react-native/normalize-colors": "0.80.1",
169
- "@react-native/virtualized-lists": "0.80.1",
163
+ "@react-native/assets-registry": "0.80.2",
164
+ "@react-native/codegen": "0.80.2",
165
+ "@react-native/community-cli-plugin": "0.80.2",
166
+ "@react-native/gradle-plugin": "0.80.2",
167
+ "@react-native/js-polyfills": "0.80.2",
168
+ "@react-native/normalize-colors": "0.80.2",
169
+ "@react-native/virtualized-lists": "0.80.2",
170
170
  "abort-controller": "^3.0.0",
171
171
  "anser": "^1.4.9",
172
172
  "ansi-regex": "^5.0.0",
@@ -134,7 +134,10 @@ class ReactNativeDependenciesUtils
134
134
  end
135
135
 
136
136
  def self.release_tarball_url(version, build_type)
137
- maven_repo_url = "https://repo1.maven.org/maven2"
137
+ maven_repo_url =
138
+ ENV['ENTERPRISE_REPOSITORY'] != nil && ENV['ENTERPRISE_REPOSITORY'] != "" ?
139
+ ENV['ENTERPRISE_REPOSITORY'] :
140
+ "https://repo1.maven.org/maven2"
138
141
  group = "com/facebook/react"
139
142
  # Sample url from Maven:
140
143
  # https://repo1.maven.org/maven2/com/facebook/react/react-native-artifacts/0.79.0-rc.0/react-native-artifacts-0.79.0-rc.0-reactnative-dependencies-debug.tar.gz
@@ -1 +1 @@
1
- hermes-2025-05-06-RNv0.80.0-4eb6132a5bf0450bf4c6c91987675381d7ac8bca
1
+ hermes-2025-07-24-RNv0.80.2-5c7dbc0a78cb2d2a8bc81c41c617c3abecf209ff
@@ -204,7 +204,10 @@ def hermestag_file(react_native_path)
204
204
  end
205
205
 
206
206
  def release_tarball_url(version, build_type)
207
- maven_repo_url = "https://repo1.maven.org/maven2"
207
+ maven_repo_url =
208
+ ENV['ENTERPRISE_REPOSITORY'] != nil && ENV['ENTERPRISE_REPOSITORY'] != "" ?
209
+ ENV['ENTERPRISE_REPOSITORY'] :
210
+ "https://repo1.maven.org/maven2"
208
211
  namespace = "com/facebook/react"
209
212
  # Sample url from Maven:
210
213
  # https://repo1.maven.org/maven2/com/facebook/react/react-native-artifacts/0.71.0/react-native-artifacts-0.71.0-hermes-ios-debug.tar.gz
Binary file
Binary file
Binary file
Binary file