diff --git a/CHANGELOG.md b/CHANGELOG.md
index 3d89d6dbda..bbacab1bec 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,28 @@
# Changelog
+## v7.9.1 (2021-03-25)
+
+### Changed
+
+- (react-native): Update bugsnag-cocoa to v6.8.0
+ - Detect app hangs that make your app unresponsive. [bugsnag-cocoa#1039](https://github.com/bugsnag/bugsnag-cocoa/pull/1039)
+ - Fix a heap buffer overflow reported by Address Sanitizer. [bugsnag-cocoa#1043](https://github.com/bugsnag/bugsnag-cocoa/pull/1043)
+ - Fix parsing of `callStackSymbols` where the image name contains spaces. [bugsnag-cocoa#1036](https://github.com/bugsnag/bugsnag-cocoa/pull/1036)
+ - Fix a possible deadlock when writing crash reports for unhandled errors. [bugsnag-cocoa#1034](https://github.com/bugsnag/bugsnag-cocoa/pull/1034)
+- (react-native): Update bugsnag-android to v5.8.0
+ - `Configuration#launchCrashThresholdMs` is deprecated in favour of `Configuration#launchDurationMillis`
+ - Add public API for crash-on-launch detection. [bugsnag-android#1157](https://github.com/bugsnag/bugsnag-android/pull/1157)
+ [bugsnag-android#1159](https://github.com/bugsnag/bugsnag-android/pull/1159)
+ [bugsnag-android#1165](https://github.com/bugsnag/bugsnag-android/pull/1165)
+ [bugsnag-android#1164](https://github.com/bugsnag/bugsnag-android/pull/1164)
+ [bugsnag-android#1182](https://github.com/bugsnag/bugsnag-android/pull/1182)
+ [bugsnag-android#1184](https://github.com/bugsnag/bugsnag-android/pull/1184)
+ [bugsnag-android#1185](https://github.com/bugsnag/bugsnag-android/pull/1185)
+ [bugsnag-android#1186](https://github.com/bugsnag/bugsnag-android/pull/1186)
+ [bugsnag-android#1180](https://github.com/bugsnag/bugsnag-android/pull/1180)
+ [bugsnag-android#1188](https://github.com/bugsnag/bugsnag-android/pull/1188)
+ [bugsnag-android#1191](https://github.com/bugsnag/bugsnag-android/pull/1191)
+
## v7.9.0 (2021-03-16)
### Added
diff --git a/packages/react-native/android/.bugsnag-android-version b/packages/react-native/android/.bugsnag-android-version
index 583c57bacf..dd78d423fa 100644
--- a/packages/react-native/android/.bugsnag-android-version
+++ b/packages/react-native/android/.bugsnag-android-version
@@ -1 +1 @@
-9b345dd16ae76e5443a04e0c8f022b2cc388ba5b
+1cc1ecd8f7eea412690e213fcc59a49e388c5cd4
diff --git a/packages/react-native/android/build.gradle b/packages/react-native/android/build.gradle
index 247aead41a..d2fc09f6be 100644
--- a/packages/react-native/android/build.gradle
+++ b/packages/react-native/android/build.gradle
@@ -40,8 +40,8 @@ android {
}
dependencies {
- api "com.bugsnag:bugsnag-android:5.7.1-react-native"
- api "com.bugsnag:bugsnag-plugin-react-native:5.7.1-react-native"
+ api "com.bugsnag:bugsnag-android:5.8.0-react-native"
+ api "com.bugsnag:bugsnag-plugin-react-native:5.8.0-react-native"
implementation 'com.facebook.react:react-native:+'
testImplementation "junit:junit:4.12"
diff --git a/packages/react-native/android/com/bugsnag/bugsnag-android-core/5.7.1-react-native/bugsnag-android-core-5.7.1-react-native-sources.jar.asc b/packages/react-native/android/com/bugsnag/bugsnag-android-core/5.7.1-react-native/bugsnag-android-core-5.7.1-react-native-sources.jar.asc
deleted file mode 100644
index 70c52491d3..0000000000
--- a/packages/react-native/android/com/bugsnag/bugsnag-android-core/5.7.1-react-native/bugsnag-android-core-5.7.1-react-native-sources.jar.asc
+++ /dev/null
@@ -1,17 +0,0 @@
------BEGIN PGP SIGNATURE-----
-Version: BCPG v1.64
-
-iQIcBAABCgAGBQJgP7B0AAoJEJAqRX/iyO/5CHkP+wYJVaxSW3nw8ixsVv+Na5Eb
-qzwsmQsNAn4MVf9XivuUcPb1VLzaK2z46dQmX/YhNuc1rQO8sQMJ940MmTC/+bTq
-OXPno4f+48yPzTK0YAl6YWVZzoICEslBSCFhp/w43wVCvMQqXvylPDvGTCx8b/iI
-a6BmEzjSzRvF037EN55tkVPtu7lriqqb+MSi6PkEt7j9PmpvFPXGD5YasLl+9AiG
-OBwXx/3qdY+qbuI3Aoeun9/3NaYDSbKOYDh9zifKQ94yvICm3eCbes1B90BDL9gZ
-4ldBzerLUuhPG1lVAKEoqELoCxZCIuL6EZvsBHoE8gVQWIQpdIGi29lgr9K90Zzm
-bzuXk9Oy+gVdW4EUIvSxusxr3qR/YQ3MgGZTZW/pglu0ik6rURepHge9RR4n+Mhv
-963D12fRrSIQaO1uLDcPkc6MLwd5AHvH2xdAUZs1E7c4Bxs5fGZugqOFF0hz+o5e
-6S6KuRrz8JVhGn9ML4C/2/ZoS+pF811G5O/x9JayBrKRR7UHlzTHw6DUkB9e0MXJ
-cPE39az0N4GpcwoM8EawZniRKp44kdpc1i4DQvbFDG76VXj9I74my8ZnyOFc/weG
-5Ody4WLjl6cqO6TRcsKUyFwZ56CGF4GNVyNRrun25K8MTuC9OXVMbCDAIYImSWV5
-YQZoJ4mOaDnFar0dg3r+
-=Vn+a
------END PGP SIGNATURE-----
diff --git a/packages/react-native/android/com/bugsnag/bugsnag-android-core/5.7.1-react-native/bugsnag-android-core-5.7.1-react-native.aar b/packages/react-native/android/com/bugsnag/bugsnag-android-core/5.7.1-react-native/bugsnag-android-core-5.7.1-react-native.aar
deleted file mode 100644
index 6fab78961d..0000000000
Binary files a/packages/react-native/android/com/bugsnag/bugsnag-android-core/5.7.1-react-native/bugsnag-android-core-5.7.1-react-native.aar and /dev/null differ
diff --git a/packages/react-native/android/com/bugsnag/bugsnag-android-core/5.7.1-react-native/bugsnag-android-core-5.7.1-react-native.aar.asc b/packages/react-native/android/com/bugsnag/bugsnag-android-core/5.7.1-react-native/bugsnag-android-core-5.7.1-react-native.aar.asc
deleted file mode 100644
index da7419c68f..0000000000
--- a/packages/react-native/android/com/bugsnag/bugsnag-android-core/5.7.1-react-native/bugsnag-android-core-5.7.1-react-native.aar.asc
+++ /dev/null
@@ -1,17 +0,0 @@
------BEGIN PGP SIGNATURE-----
-Version: BCPG v1.64
-
-iQIcBAABCgAGBQJgP7B0AAoJEJAqRX/iyO/5nC4P/3DyOYSwCfgahqwCdZjBfkub
-UmT5qiCyPGz/AwTHymdeHVwyfChsp3wGQteLjWjqbvmavJdF27NhpFkfQY7kl5BP
-2ybWdMzHgfLQGJVs29we+HXDcuapGQsT5rMFDXruCy/45XyXhd6dzf3XwHf4XLI5
-OAtkomjSfbv2taWyi5NA+XfrBAo4AEsW1yxrUutTJODcySYhbnG5ydsYPule2VWf
-fmS+pPQo/hgS2brFdkuRnkSM3efPIwYrgSA2LRiXhCy2U2ByXc1H2ur2wpYT9rbs
-1OkMq6m+qMTpa0kzHj8lzqrJ7a96XDfCUt7tGzRPXqGjxWHHKdJsU+PhPXdp5GqS
-1jPFM04OToaCo6xn6blEhcav7LJueQuZ+Yt/37y9SEtfKCaDitBCx02kY6wciDi2
-TtiCHufCySk0AFfIu0lQxXyr2qS8psKseCsICawq79uhxkEOURVVhwOGSBYT9h3X
-4GI8/nEADSmcDo69nOKWdHT1TWAPjS8GsOCcntbR6yfYcDQUreQyGEdc/DsEkk4s
-U5PCthOC6P7i/Rr7S7Kzgv95RGDFH4pbkl7+LXPnk7Fu43DO4CkWCDoCGogBm7Z1
-s86ll6LTu4Ci9m3R+UJDsDdFau2pkkGCPycqc49TOhJnoDAQD50x7KvT8m6UdVHR
-FP8s5PLNOWy7HjCJAsSZ
-=5q5q
------END PGP SIGNATURE-----
diff --git a/packages/react-native/android/com/bugsnag/bugsnag-android-core/5.7.1-react-native/bugsnag-android-core-5.7.1-react-native.module.asc b/packages/react-native/android/com/bugsnag/bugsnag-android-core/5.7.1-react-native/bugsnag-android-core-5.7.1-react-native.module.asc
deleted file mode 100644
index 72f3f8ee69..0000000000
--- a/packages/react-native/android/com/bugsnag/bugsnag-android-core/5.7.1-react-native/bugsnag-android-core-5.7.1-react-native.module.asc
+++ /dev/null
@@ -1,17 +0,0 @@
------BEGIN PGP SIGNATURE-----
-Version: BCPG v1.64
-
-iQIcBAABCgAGBQJgP7B0AAoJEJAqRX/iyO/54ecQAJJbwc0Pxmd9S5eHAlbDmNeY
-r+ml9jvMLvxA4Bms4SRPjCuCedWIW79bbL3Ndr28XlsJ16XfT1chEiyMujUawzVX
-5VaFqTTnlxzIKXCrnALkrJdncMb+q2H/b1V/qPfK4E56B2SP2xuhpHTgwQgH+9Lv
-cbXJu6gB/hNAzn0S3msqeNWEwoWR1KmhxR+qjSklWFNkDQ1hnwAe92UOA28riUIG
-KIdUwMrBAiLX3VtA/9m0lluRWicFM5xcYAXcArYUwTvF/aYaGZh+OSw/Ljz8v6Fd
-xqMTEEzhIe51pdAlZn5WF3wVbvkdaIz+EhFf/Fnprs5QPHEA7hl+/GaJ+TjeMPb2
-s4c0yLnNy7J2O4BxyiYoutBOJPqt4MVM3HkoEvaakE1UEor315ANMbYrDjIsjBu2
-G7iQE5KFe/OnVly4Gnpyj85OY9+yyRxkkSPvofKBm+i2RrlYxysz4DkkoXsWED6f
-Sf8EMLRlS6BQdtSqrnIxRfrl/Z0TbH1RK67kf4pc7OxTRZievhxmRvd0LqNnSYcW
-SxOG42E9rfZDoZhHM4fbI0wou26o9N64jpx+Y+IItgtxgGkJk6Q8BRObWFkcAuB/
-iFnxEcUHXDyg9PZY1rQYi1173rjt4mb42A+2qN/APl+dRS1QrqvVfKuGtIJSjFdt
-lPnuF9TgTE/Hei03lmu+
-=bcCa
------END PGP SIGNATURE-----
diff --git a/packages/react-native/android/com/bugsnag/bugsnag-android-core/5.7.1-react-native/bugsnag-android-core-5.7.1-react-native.pom.asc b/packages/react-native/android/com/bugsnag/bugsnag-android-core/5.7.1-react-native/bugsnag-android-core-5.7.1-react-native.pom.asc
deleted file mode 100644
index b1aa3c20ff..0000000000
--- a/packages/react-native/android/com/bugsnag/bugsnag-android-core/5.7.1-react-native/bugsnag-android-core-5.7.1-react-native.pom.asc
+++ /dev/null
@@ -1,17 +0,0 @@
------BEGIN PGP SIGNATURE-----
-Version: BCPG v1.64
-
-iQIcBAABCgAGBQJgP7B0AAoJEJAqRX/iyO/54IkP/jjrgjV6Nl6e9MTy90yVomWT
-WkKaIJ/6wbw5sknGfW0CTXToBhMLs7UGxLTCYoIKuGLKN3BrN09xaxv2j5xEl9sV
-34el5le66uXCx/3RDdJNvdic8iz3FD1GAWjcOLFw5K2m0qTJZKTHOePH3zkG2z41
-9Y7UHC0dzK39mLhpPdJZ+np8HWuAFKIeqzBE7gwioBo6ZK6WFxdxBiL9LOFdIynA
-6CeGOdHwGzbKE1TNWiFxB9k0Q/R+dXk42NkByLq9hbooP45dnqmskrYBkoePjD8b
-nAKu2Qx8HxCwxWJtHlKDZjXNWcGSPWtARLYC9Sw7sEETYiwXvY/xwT4jf74VESOk
-6py3N5rWa1vK0f33Ag7JED47ptqVeTSr6GIH6Dps2OJY4eYaYBE7CwS3sKUfYLSM
-rqS/9a6ynO+nKp89ko/hxTLRWmEunB7recHxAyNqHSld28vSZ0nCqvgw4M1PCQV+
-orb79Nz5qk5nQM8z/Mu0oeDcRJ/OGsrNdEwsgVCtn4gKOPo8tDgdRynn3CC/0Tpd
-aF0EjuOlFpDeQ+aWP5oM0c5Ni2MS7mJMRA9oeo3aOoXk84wSjaQTel61FFIr6uUj
-2OcNi0Ng0UINnV3UWnNKkIWL8UJIau7UZyYXMIHNAltHXBBLwMbaeYZ+oxoTPx5X
-doMFcvpmwwMnNfy8q+xx
-=z45m
------END PGP SIGNATURE-----
diff --git a/packages/react-native/android/com/bugsnag/bugsnag-android-core/5.7.1-react-native/bugsnag-android-core-5.7.1-react-native-sources.jar b/packages/react-native/android/com/bugsnag/bugsnag-android-core/5.8.0-react-native/bugsnag-android-core-5.8.0-react-native-sources.jar
similarity index 52%
rename from packages/react-native/android/com/bugsnag/bugsnag-android-core/5.7.1-react-native/bugsnag-android-core-5.7.1-react-native-sources.jar
rename to packages/react-native/android/com/bugsnag/bugsnag-android-core/5.8.0-react-native/bugsnag-android-core-5.8.0-react-native-sources.jar
index 7b2b2287c1..72771a04fd 100644
Binary files a/packages/react-native/android/com/bugsnag/bugsnag-android-core/5.7.1-react-native/bugsnag-android-core-5.7.1-react-native-sources.jar and b/packages/react-native/android/com/bugsnag/bugsnag-android-core/5.8.0-react-native/bugsnag-android-core-5.8.0-react-native-sources.jar differ
diff --git a/packages/react-native/android/com/bugsnag/bugsnag-android-core/5.8.0-react-native/bugsnag-android-core-5.8.0-react-native-sources.jar.asc b/packages/react-native/android/com/bugsnag/bugsnag-android-core/5.8.0-react-native/bugsnag-android-core-5.8.0-react-native-sources.jar.asc
new file mode 100644
index 0000000000..a4d54b047e
--- /dev/null
+++ b/packages/react-native/android/com/bugsnag/bugsnag-android-core/5.8.0-react-native/bugsnag-android-core-5.8.0-react-native-sources.jar.asc
@@ -0,0 +1,17 @@
+-----BEGIN PGP SIGNATURE-----
+Version: BCPG v1.64
+
+iQIcBAABCgAGBQJgWf0tAAoJEJAqRX/iyO/5gQ8P/jqumsvHvZZmLBPcXt+3N+Fr
+bafcyEAkhBInd/obRUrUUtvoWZ/qrZtgUYeVPw0esttppzCvCfuKRVkhvny0gXKK
+Z/Qaaq1VwRh+SR+KZgWprVYFbDHKiPibc9JUX5dm7787av0/td1PKuK7HifoJc6h
+wOVzYEE/B/PslLiqFUOGmM/Ng4O05D5PXfJtFISjsB+dKqVNgT6imqKRZ6dMixou
+XRXozo6y/mnVsURGM/sYQBGzUfp76vAHVKtx5ZgaPYVd3mjY0gDODuiJewD9JmA5
+6Ojj2v28+G0xJRNR16kF/VQvkbuqk5ErRw6e+40/FnDcWwpMHRD9b9Sf26RtKW49
+l6qS5H/TKh58CJoWTPjl1vL/PQYlDevHABQ1rSEy//+dYsPF/PZQPGsvEKCkSRBw
+N5mPyl1S8EJxN8eFYrd+112EYPx5mAc84LPhx097SJ65hRa3tPFRbAALeJ0olL7y
+47dqZkzZedOLPz+dO90N3CwNExYEDixzTWCGX2xqBpCfUFAKGHnM/B8fR06Mo0h6
+SlFq/k7nsGoOq7g2jddYdz58efK/o+YlslrQeuXJSnmsQfHvNoPyO23ZOkqUNE/9
+1YLw+b83P+g+bATKfCqScl4tYs/Wm5ydZKql3WQAwIEg924GSxm9DQgnNWlOuThO
+kdf2+TsdNaQE+H8kXN0p
+=tXx6
+-----END PGP SIGNATURE-----
diff --git a/packages/react-native/android/com/bugsnag/bugsnag-android-core/5.8.0-react-native/bugsnag-android-core-5.8.0-react-native.aar b/packages/react-native/android/com/bugsnag/bugsnag-android-core/5.8.0-react-native/bugsnag-android-core-5.8.0-react-native.aar
new file mode 100644
index 0000000000..4eaab4b31e
Binary files /dev/null and b/packages/react-native/android/com/bugsnag/bugsnag-android-core/5.8.0-react-native/bugsnag-android-core-5.8.0-react-native.aar differ
diff --git a/packages/react-native/android/com/bugsnag/bugsnag-android-core/5.8.0-react-native/bugsnag-android-core-5.8.0-react-native.aar.asc b/packages/react-native/android/com/bugsnag/bugsnag-android-core/5.8.0-react-native/bugsnag-android-core-5.8.0-react-native.aar.asc
new file mode 100644
index 0000000000..2fd17c380c
--- /dev/null
+++ b/packages/react-native/android/com/bugsnag/bugsnag-android-core/5.8.0-react-native/bugsnag-android-core-5.8.0-react-native.aar.asc
@@ -0,0 +1,17 @@
+-----BEGIN PGP SIGNATURE-----
+Version: BCPG v1.64
+
+iQIcBAABCgAGBQJgWf0tAAoJEJAqRX/iyO/5B5IQAJ9abTTiZ0rMLgkHoq4Jb/bs
+MEsaT1YkrcgkNFvycm7Ru5bp26La/9/sUt2Dx5v/aqa5mxaSABWyP+wDxKyfLwtY
+bTRYnVrQ/pEvLHnw3w2l/YxBvHSBTEdbwMeChBAcM5arbiu2cS14vPe2Wa/S9p4y
+rNZxqQ1M+25fjIhldOq/2WxKa44fQXnWGzXuquk32pYG0BpjeczTI89C1l8RFMPo
+Fat87HefamNSwssw6b2i1B4JBq/9X9u++LCzOWdGHeLW8bcQ8OTGssuPt7vtm7eI
+Ir+9vX2HnKwYH9NlVuypiRnHH9w4D65JEPphlHJ9timuvD1rqnB5EhVqLV6dDS+W
+24juUm/NcXxwGi8fCaD2O4eS27ahktza59WAsIZmD93y4uMWFCPPzaTZOKGcJT+R
+S+GlEDwGyX3LPwG2cwz2oXddIQCglfHbHU6qeE/a3htvXQCsGeh91+OxhZtWWF2t
+QrBRpf6Y4uPslOWbRK9pslC+1Hmz8uVlOrX9dx9J8OzwSjbIBCnyedEMaXUKtOCk
+9B3tK5yr941Ggh6hCRhwgKNxSJBZnSkiB1um1zRdNRyIiwAoaLDzbhjzO0fMPKv7
+RF+LC2Ve7+zTJ8aMiHBLm6SNbIUfQFkFkIlO0AYezf5SHrtmjyW7sNX7X/SJicxH
+kNiMfFPPKu0TOrPn55Wu
+=L8xb
+-----END PGP SIGNATURE-----
diff --git a/packages/react-native/android/com/bugsnag/bugsnag-android-core/5.7.1-react-native/bugsnag-android-core-5.7.1-react-native.module b/packages/react-native/android/com/bugsnag/bugsnag-android-core/5.8.0-react-native/bugsnag-android-core-5.8.0-react-native.module
similarity index 59%
rename from packages/react-native/android/com/bugsnag/bugsnag-android-core/5.7.1-react-native/bugsnag-android-core-5.7.1-react-native.module
rename to packages/react-native/android/com/bugsnag/bugsnag-android-core/5.8.0-react-native/bugsnag-android-core-5.8.0-react-native.module
index be184784c5..c8dad8900e 100644
--- a/packages/react-native/android/com/bugsnag/bugsnag-android-core/5.7.1-react-native/bugsnag-android-core-5.7.1-react-native.module
+++ b/packages/react-native/android/com/bugsnag/bugsnag-android-core/5.8.0-react-native/bugsnag-android-core-5.8.0-react-native.module
@@ -3,7 +3,7 @@
"component": {
"group": "com.bugsnag",
"module": "bugsnag-android-core",
- "version": "5.7.1-react-native",
+ "version": "5.8.0-react-native",
"attributes": {
"org.gradle.status": "release"
}
@@ -11,7 +11,7 @@
"createdBy": {
"gradle": {
"version": "6.7",
- "buildId": "tomffttf3rdo3a6ht7qqzwlrvq"
+ "buildId": "ojbjb5wnkvflrhzhr4giu2y7q4"
}
},
"variants": [
@@ -41,13 +41,13 @@
],
"files": [
{
- "name": "bugsnag-android-core-5.7.1-react-native.aar",
- "url": "bugsnag-android-core-5.7.1-react-native.aar",
- "size": 273781,
- "sha512": "2b512b2c76e5309a7b0f2abf96fb92a0fc7632e0bc8521c73fc6499c8d59020aed25d137d28dca96186a01e88be084847b239f2510808e35291544670bceb230",
- "sha256": "2037243df8953323c72c902c7a8fc2de69c7c3ff51d795f5830be967fa504973",
- "sha1": "90deb6aa1455a2a2891a1d92baa402ee91fc6d57",
- "md5": "ad7bcd8c2d7f711dee67acf781e4380a"
+ "name": "bugsnag-android-core-5.8.0-react-native.aar",
+ "url": "bugsnag-android-core-5.8.0-react-native.aar",
+ "size": 289949,
+ "sha512": "75130cf51df8d9a033d360b89e8d2a4f07782dbc217842a1d13752d2a98ecaa4e5119555917e0e608b9f1170d0cc96857526354051aa62992f9aad0987c814a8",
+ "sha256": "1ffdaf2903d7ed89c8f03c8c46a1eea3292fecd261f2a1de5794e8eb0ee63785",
+ "sha1": "5bc59a4d22a7f8d85ae2be5c2208b606d5bf1d99",
+ "md5": "2e7e620658813ccc2f9b5d6489dc95a0"
}
]
},
@@ -77,13 +77,13 @@
],
"files": [
{
- "name": "bugsnag-android-core-5.7.1-react-native.aar",
- "url": "bugsnag-android-core-5.7.1-react-native.aar",
- "size": 273781,
- "sha512": "2b512b2c76e5309a7b0f2abf96fb92a0fc7632e0bc8521c73fc6499c8d59020aed25d137d28dca96186a01e88be084847b239f2510808e35291544670bceb230",
- "sha256": "2037243df8953323c72c902c7a8fc2de69c7c3ff51d795f5830be967fa504973",
- "sha1": "90deb6aa1455a2a2891a1d92baa402ee91fc6d57",
- "md5": "ad7bcd8c2d7f711dee67acf781e4380a"
+ "name": "bugsnag-android-core-5.8.0-react-native.aar",
+ "url": "bugsnag-android-core-5.8.0-react-native.aar",
+ "size": 289949,
+ "sha512": "75130cf51df8d9a033d360b89e8d2a4f07782dbc217842a1d13752d2a98ecaa4e5119555917e0e608b9f1170d0cc96857526354051aa62992f9aad0987c814a8",
+ "sha256": "1ffdaf2903d7ed89c8f03c8c46a1eea3292fecd261f2a1de5794e8eb0ee63785",
+ "sha1": "5bc59a4d22a7f8d85ae2be5c2208b606d5bf1d99",
+ "md5": "2e7e620658813ccc2f9b5d6489dc95a0"
}
]
}
diff --git a/packages/react-native/android/com/bugsnag/bugsnag-android-core/5.8.0-react-native/bugsnag-android-core-5.8.0-react-native.module.asc b/packages/react-native/android/com/bugsnag/bugsnag-android-core/5.8.0-react-native/bugsnag-android-core-5.8.0-react-native.module.asc
new file mode 100644
index 0000000000..400abf4d30
--- /dev/null
+++ b/packages/react-native/android/com/bugsnag/bugsnag-android-core/5.8.0-react-native/bugsnag-android-core-5.8.0-react-native.module.asc
@@ -0,0 +1,17 @@
+-----BEGIN PGP SIGNATURE-----
+Version: BCPG v1.64
+
+iQIcBAABCgAGBQJgWf0tAAoJEJAqRX/iyO/5Df0QAIgmW8+QHSkA+3uGJGRAFHB7
+vztbui2+kHsdZqq36nPKw/4AciUayWNE/XeEp67o3Wp8083r4uJfWh60ph5AegHl
+R7fF44fD0i1yAxu1JjwpdiQsZ1PCBP2J6BaGjoj3qko+Gh/ucnudIBcHlCA2+mOo
+sT0s/NMgVq9ns/B9sX7ZdV/Isjqrw4zu+nOaNXrQvksN4sJflRqafkmlfhAA/wtE
+NQ6i1rTXZcSonbK3h2/kIh/IOfSkuvewTOyXbT1RtAioecFyGBiYxGZhdPg4kzow
+zrOYEUzJM43iKUY02JFxzigVTnx7+HMSdqvNzAcE/nHypkO6ce8YU2eRtxDpOadM
+1GLjhCGnTd4IOSi60A5Nz7CQoGhViQyzA0UIVH2bqSQMG3SHnz+rWH8/LK4yFGmb
+HEZuVNIPnttXoK49y9X1b/56xDycJs98h/+k5O+Egw5utbzuSGuxDUzAH0X1+wzW
+tgKr8FxmHzXwU/XvtcSCKwF3dBsyXHaKM7royEHqfxzXtLvzk4cOvS5gvzV0vrZ2
+AAphDlH5cgar3q2BwjtQJgKDn88V6IJd3rcmUzq54AqZiRppCqXhVZuKUVdTjIUI
+cbEBgwSFtaKwPDS7YZd1/8C6zIpO2yy+UeGKyFmonOm1KhssobnkQ+D7T81/T5em
+IVRwyLG8Fht9S/dENwYe
+=/P51
+-----END PGP SIGNATURE-----
diff --git a/packages/react-native/android/com/bugsnag/bugsnag-android-core/5.7.1-react-native/bugsnag-android-core-5.7.1-react-native.pom b/packages/react-native/android/com/bugsnag/bugsnag-android-core/5.8.0-react-native/bugsnag-android-core-5.8.0-react-native.pom
similarity index 97%
rename from packages/react-native/android/com/bugsnag/bugsnag-android-core/5.7.1-react-native/bugsnag-android-core-5.7.1-react-native.pom
rename to packages/react-native/android/com/bugsnag/bugsnag-android-core/5.8.0-react-native/bugsnag-android-core-5.8.0-react-native.pom
index 9d33836162..2cf8b55e01 100644
--- a/packages/react-native/android/com/bugsnag/bugsnag-android-core/5.7.1-react-native/bugsnag-android-core-5.7.1-react-native.pom
+++ b/packages/react-native/android/com/bugsnag/bugsnag-android-core/5.8.0-react-native/bugsnag-android-core-5.8.0-react-native.pom
@@ -9,7 +9,7 @@
4.0.0
com.bugsnag
bugsnag-android-core
- 5.7.1-react-native
+ 5.8.0-react-native
aar
Bugsnag Android Core
Official Bugsnag notifier for Android applications
diff --git a/packages/react-native/android/com/bugsnag/bugsnag-android-core/5.8.0-react-native/bugsnag-android-core-5.8.0-react-native.pom.asc b/packages/react-native/android/com/bugsnag/bugsnag-android-core/5.8.0-react-native/bugsnag-android-core-5.8.0-react-native.pom.asc
new file mode 100644
index 0000000000..7b5fa20ec2
--- /dev/null
+++ b/packages/react-native/android/com/bugsnag/bugsnag-android-core/5.8.0-react-native/bugsnag-android-core-5.8.0-react-native.pom.asc
@@ -0,0 +1,17 @@
+-----BEGIN PGP SIGNATURE-----
+Version: BCPG v1.64
+
+iQIcBAABCgAGBQJgWf0tAAoJEJAqRX/iyO/5mUEQAILzPydSR/6Xn2qNpV/UoR4H
+VzCo4PATetmbZn0mIH8bZwajXtWXAuDg5x2WGl9nd5GaVKg4B1x1jPZqkVEgzIJH
+HwvZuZ7TGUx5OAJsJ+vJjskGuFRGyQjsGV26Dvxf4Ud5ACCu5Yhn7Hg0JgEdV9dy
+pd5HTp1DVLZl8xSbg3P6Ggmq9Bv0OAm3RFrG7ltL+oQ1+II2GxAjzzJx01+X/NPy
+VK8Prts7UYsbCKXPtzz8F2wDFV9OgOHJ38Yz8AsR/b15vCdRNuUl/vWId4B1o3HN
+X2v93dqebv8/mEwD/p1moIgZLQsXbe+dsn0ewjWn4uATbSNla6LhPZgpTnMcTwlK
+2e7JBeDKcwDf1YPejTQNSEJqK4ols7PlRyTabPUXk4rsKcVPa4fOp2UiWC4tWbqo
+VlXNNvPvIy7bQmFs9f6Uh5GUYQsRxqYyZdDbdo66D/aTECYRbQXwRG1wMbcmAkwM
+8cPd26zC8UGXDoML4MdTWjqrXF2EpT55YkoRkY5OQm/CoEcP01Wy5NqvfVAuK8xY
+px/FLsIDM1L1HnbfVCXr+JUY6aHRxRL5pLhUfdYgyF71HdXLPnVdtlNvkFxLNaH4
+PWfZfDBvTTP+wWUVafC0Q+dU1/71RVu5SlDCfp/8g4V1drI6zuAP2g0JCfERm/3L
+dJwtLFVKzXw5/bO8gtm5
+=0d+N
+-----END PGP SIGNATURE-----
diff --git a/packages/react-native/android/com/bugsnag/bugsnag-android-core/maven-metadata-local.xml b/packages/react-native/android/com/bugsnag/bugsnag-android-core/maven-metadata-local.xml
index 76803bada9..3b43b9d2b5 100644
--- a/packages/react-native/android/com/bugsnag/bugsnag-android-core/maven-metadata-local.xml
+++ b/packages/react-native/android/com/bugsnag/bugsnag-android-core/maven-metadata-local.xml
@@ -3,11 +3,11 @@
com.bugsnag
bugsnag-android-core
- 5.7.1-react-native
- 5.7.1-react-native
+ 5.8.0-react-native
+ 5.8.0-react-native
- 5.7.1-react-native
+ 5.8.0-react-native
- 20210303155117
+ 20210323143733
diff --git a/packages/react-native/android/com/bugsnag/bugsnag-android-ndk/5.7.1-react-native/bugsnag-android-ndk-5.7.1-react-native-sources.jar b/packages/react-native/android/com/bugsnag/bugsnag-android-ndk/5.7.1-react-native/bugsnag-android-ndk-5.7.1-react-native-sources.jar
deleted file mode 100644
index 2b379f2447..0000000000
Binary files a/packages/react-native/android/com/bugsnag/bugsnag-android-ndk/5.7.1-react-native/bugsnag-android-ndk-5.7.1-react-native-sources.jar and /dev/null differ
diff --git a/packages/react-native/android/com/bugsnag/bugsnag-android-ndk/5.7.1-react-native/bugsnag-android-ndk-5.7.1-react-native-sources.jar.asc b/packages/react-native/android/com/bugsnag/bugsnag-android-ndk/5.7.1-react-native/bugsnag-android-ndk-5.7.1-react-native-sources.jar.asc
deleted file mode 100644
index d51fef3050..0000000000
--- a/packages/react-native/android/com/bugsnag/bugsnag-android-ndk/5.7.1-react-native/bugsnag-android-ndk-5.7.1-react-native-sources.jar.asc
+++ /dev/null
@@ -1,17 +0,0 @@
------BEGIN PGP SIGNATURE-----
-Version: BCPG v1.64
-
-iQIcBAABCgAGBQJgP7B9AAoJEJAqRX/iyO/5FUAQAIAToDoUE+IB43KcjMIgLevD
-MRfJIT7kOJfEHBpjBpqhlYCOG9MNuFd7zBrAvGhBhXiYvwSMeAaxj5CESrdWlGN1
-8bmo90aGYPKyew94OiaEewuaB3iVO+OJuiEzmj6kOiPzbzZdycx0pbXr47o6SDMN
-BsUkjBwV0NoeqPwP0zXe6I2haKRPo67GEz6xnkcJcxpZOAqEjmR0jFGgcDwWlk5d
-UE8rKNCzJUv7/A/4WnhvCliDelOA+QpW6l2gLnnuxOFevkqVo5rqlbgXPJZbAoO8
-T4UB9hAActs6Ft5P8l7i7+x3Nn8fzzja+VFbhvR7VmDTJuL//h3iwtD5CRiA7rga
-EkawE5tKgEdkbAGyzMGimkWuLOSmOUXU4liUhIvfM1eETPvx1BYtMD3n30kkhJ6K
-V5Nl0dh0Vokd02XS0yBwdUzrZL2ePY8nrQZ4Xpnjfsn+gfZZyszOzrOivbVyAP0V
-EadApKYprPzkedkMgkihY1i3rjHdG2kF9kHlsz2hIVd+dEzV9DAsEvGBwDmq1OH4
-otpX+Mew0xWR/++cdo5xmvGYjHWJZZfQ7Nj5tYEGpLMv9JoWnwHXNmpRmsJLpdwM
-25yzZQN9xW18LyKFcvkTmkhD06kjJ/mBHqT6W59/XRoQReVDg6FyrUvPV/BMwGZd
-aF5H1ic+dCctxBT09sH+
-=HDUm
------END PGP SIGNATURE-----
diff --git a/packages/react-native/android/com/bugsnag/bugsnag-android-ndk/5.7.1-react-native/bugsnag-android-ndk-5.7.1-react-native.aar.asc b/packages/react-native/android/com/bugsnag/bugsnag-android-ndk/5.7.1-react-native/bugsnag-android-ndk-5.7.1-react-native.aar.asc
deleted file mode 100644
index 4a3908db6b..0000000000
--- a/packages/react-native/android/com/bugsnag/bugsnag-android-ndk/5.7.1-react-native/bugsnag-android-ndk-5.7.1-react-native.aar.asc
+++ /dev/null
@@ -1,17 +0,0 @@
------BEGIN PGP SIGNATURE-----
-Version: BCPG v1.64
-
-iQIcBAABCgAGBQJgP7B9AAoJEJAqRX/iyO/5ZaYP/RYUtsQRL6oLEvAv9I/XGsE+
-Kykl5Km0dW86zmnGaRWW+L3s7nRNbhaWogVXhTmnQr3YzYCf5LiXT5Mq5+l4A4lG
-3T0XWdRxyOaue0QfCsya/ceJek9T2tq69rN3v+QypPDPiD39D+/kCbhKqB6Q7sh1
-w+oC2NE2cyQRv9S99j/0wKHynbOm/B6tik/JW/i+UO4ZPnnLBYwXg8tft9dSqW87
-sUt2+NB2X0Xfh6CSxIVGzS02/2jOplo2jQQAVhrJg8nSAnxyo+gHAVH14U5etcpN
-X4IADML26L/uLz+0kk7MTw428p7GUOaacsD+FVOew50iVNhe3OXvzt16HUBLsCic
-p7HaAS9OWYWs3VK6ohBQCx6pCLQ4RFg5f+5Hd/gFJRfJXVHdu1i36x/eQj9Z1JD5
-DwslidMg4LIEBQPjYUtp29LMJRyAAteoQuYP2Gt89xUZoQKRo5v3uAsLDD9t+15/
-LKQWhPh8HEWdkY9kBEi1iy36HXT84Iia59TczluMDweJ8HyEf294jY070ZemvB96
-pIQBOVBDXkFQsBvNvvOJgCT21EvtPB8nH4+wjQcIIHIkdrjvp0EOdAXQ9n9AjnnH
-zWGrr/KAwrTXlWUcMUEEfAzykYDHXmG9pnouIM13jdFTv3ny7fBLh8NBKi7QpExu
-zUi+S7TvzI/rbg7yyChF
-=65F0
------END PGP SIGNATURE-----
diff --git a/packages/react-native/android/com/bugsnag/bugsnag-android-ndk/5.7.1-react-native/bugsnag-android-ndk-5.7.1-react-native.module.asc b/packages/react-native/android/com/bugsnag/bugsnag-android-ndk/5.7.1-react-native/bugsnag-android-ndk-5.7.1-react-native.module.asc
deleted file mode 100644
index c2266dea0a..0000000000
--- a/packages/react-native/android/com/bugsnag/bugsnag-android-ndk/5.7.1-react-native/bugsnag-android-ndk-5.7.1-react-native.module.asc
+++ /dev/null
@@ -1,17 +0,0 @@
------BEGIN PGP SIGNATURE-----
-Version: BCPG v1.64
-
-iQIcBAABCgAGBQJgP7B9AAoJEJAqRX/iyO/5PqQP/31xqZygwZdtoNySscLL+LzJ
-/NoQ8KtWWydCuW4JRxFyImF4B2S4LDKurbOaoqySy2UbkBPWexbfKriC05mbn27p
-b7XUEkI7HRYfFOxp8FwIXQ5IBSTRVr8dJnzNj01V4i6ClbnlAefVs2hHAw8KnyDv
-nsGx3KW5VnorT/EXH8yjv5NofYpe8Lu6tJeLyU0jHdi9lboyM9eRdSwkzvzo8NlM
-v4F5xVyIsngjhoxk2YgVyXsQWHjZ4J8lBF57rF0YqeGRpksMysMuR0heAQyP7P6v
-MpvmQ9eDOgt2qCvVovIHQL8xaZp43BK3ynlwl2VWucWh9yLxbnLTUDWJ/FNHmnxR
-fPMNxa7sj0txfWOMsI8gprWkS5hoch5la93hh/P6vOBaeBLrv4gbQ+hPoBkMZG0Z
-X+povtG8bQxoitn4LU4U1HvlyyU44L+P8/NHUpuHkB6DSU9W5jl3BR9NCuwbA/Yu
-62LrI7BlysQGpahLXundrBG2iSEraCqjtJ1+ojX4ohfYj9vKFoxIZycXx42BY1s0
-1psCI9EGd5654lm++2Q7i9YIIpCHiA2XBM9nxwXloaqyFmxUacRwOGLjJOZqAsru
-Ao28nm0Y2J521GLWK8VKwfirNc5o7nLnxOt6iYVE1d9IFTECS166ZMyE3K8HL08b
-v5HkN+vGU9rtLCQcWr5B
-=iM8T
------END PGP SIGNATURE-----
diff --git a/packages/react-native/android/com/bugsnag/bugsnag-android-ndk/5.7.1-react-native/bugsnag-android-ndk-5.7.1-react-native.pom.asc b/packages/react-native/android/com/bugsnag/bugsnag-android-ndk/5.7.1-react-native/bugsnag-android-ndk-5.7.1-react-native.pom.asc
deleted file mode 100644
index 0ab4291f8d..0000000000
--- a/packages/react-native/android/com/bugsnag/bugsnag-android-ndk/5.7.1-react-native/bugsnag-android-ndk-5.7.1-react-native.pom.asc
+++ /dev/null
@@ -1,17 +0,0 @@
------BEGIN PGP SIGNATURE-----
-Version: BCPG v1.64
-
-iQIcBAABCgAGBQJgP7B9AAoJEJAqRX/iyO/5nW8P/3uF2xf2pyJDz5i4wjPcGQ2/
-TyDD3/DwvAr/P6zPGZ7cjvg66xJtZC2Glq7ay0/zvvIqr/9vstDwLWIGeplbG3w9
-YetxG06FDVbb/Uk03v5vImX4UuIrH2rUfc0m3lSoaNnJ+mtRVFuQqyNPH2l0PRYd
-kir5xrFGSJ5s1cUSvossnpytjOVRakO632Fub+34KXWA0Ly5TT1PccYXubdrQ1Dx
-WLWiKMjDTzcWiZIW1vuk+yiqmOsr/6CQ8OjklHyVfbcwMiiLZVy7TrCX8QhgSx/g
-6jGNFVwpWqeNg1J1R2+n0WIsQT8vOcvwgZMbasoiLj0BgS+zpk432bQp/dWm120S
-BS5s5Z6jFnvfZ/hU2Gxs4O+W9kMRxlz/+caKLlfKrGiL6dDuAKpt+XuGVnp3FLLC
-Khb4kXM/EmwaqGcq/MNybs+MmBukP6bq4497HV5JCX0n0TW4xLoM+ps1ENu3qQcn
-ZIfwRlwsF4q/zPkCaBfRh1y7vJyWCOSLHc58z7/4GZnzHMeaJmd4h9KQFltCWBJ9
-hSS15WrTgYN9J4Fv7UQZnO0tvGTbhkK2uQq4yvHound/hENglj5zId1ZrzX3ZcGx
-hTZDFsLzYa+chqAaynaYbMfIvVypKd53evs7F2LFlrUUl1sq/+Nctu52PHQYrv6Z
-FTUal0ZQcjoot7zChJiU
-=jDnb
------END PGP SIGNATURE-----
diff --git a/packages/react-native/android/com/bugsnag/bugsnag-android-ndk/5.8.0-react-native/bugsnag-android-ndk-5.8.0-react-native-sources.jar b/packages/react-native/android/com/bugsnag/bugsnag-android-ndk/5.8.0-react-native/bugsnag-android-ndk-5.8.0-react-native-sources.jar
new file mode 100644
index 0000000000..46dc7c498f
Binary files /dev/null and b/packages/react-native/android/com/bugsnag/bugsnag-android-ndk/5.8.0-react-native/bugsnag-android-ndk-5.8.0-react-native-sources.jar differ
diff --git a/packages/react-native/android/com/bugsnag/bugsnag-android-ndk/5.8.0-react-native/bugsnag-android-ndk-5.8.0-react-native-sources.jar.asc b/packages/react-native/android/com/bugsnag/bugsnag-android-ndk/5.8.0-react-native/bugsnag-android-ndk-5.8.0-react-native-sources.jar.asc
new file mode 100644
index 0000000000..3d1ef0a1d8
--- /dev/null
+++ b/packages/react-native/android/com/bugsnag/bugsnag-android-ndk/5.8.0-react-native/bugsnag-android-ndk-5.8.0-react-native-sources.jar.asc
@@ -0,0 +1,17 @@
+-----BEGIN PGP SIGNATURE-----
+Version: BCPG v1.64
+
+iQIcBAABCgAGBQJgWf0vAAoJEJAqRX/iyO/5dpoP/2wYEHUe2IZ42KUdWuuHNxeL
+pimTwxGTUzLv5f9wPDHVYWTli4pCvqO5hwd13/GZsCRSS+Yldv2e5Om26l2qc9uL
+cx4i2a6XFJoEWlmjY7Fb5QSZwM0DGGMktlFmd3CEoxd6QXn4z+uz1NhowYv2vkQj
+hvVnjH2Aq88cDS9LoMLzlgRx//ILlR6j0tH56VsbQ9BvZJtsObcIjKqIM/qJRc3R
+c53B65g4b15Y7Kxn6ZggWFS5ViBu4iXv3KltffI0W5Iv3wbsHgRQr6EBpU3J4OF2
+uFH6R9NyN28rbfSnJ+mWu2Z2cYSEZiyw8U7XtV8YUeKMGd8Egy3dY61Xs2kMEBoG
+0H1vG7ypCC3ORPCOhMI8iRYFCzVrSAn8o1c/Npi73gv50metUxmKmPZNZ6wJgUHc
+fXU7HX+JZWH5k8BM7g8Ju5EbH9W/D1XWDm+T3oMMotD/L5ER+OZmZ363LsjUgowX
+MEfP9KXIA8clcqUbf/6aTZWP9yuJBNA1o39DOwoSTxicH8iv9IFwYYM92IyXG0VO
+tFWnFsIF5k2eLf3ftbxLmgAYul+VUwStMO3GS0iN8ItPxINozbdJfO6uYAGPCpko
+cCNzGmo6dUQN0vVMeeYu3zXEslQt6CBPGt/RUapV7cLfiY/wOj96pPQPe8YJcDh0
+b/nx/eHX2LJWAeZ78EDl
+=Qj3D
+-----END PGP SIGNATURE-----
diff --git a/packages/react-native/android/com/bugsnag/bugsnag-android-ndk/5.7.1-react-native/bugsnag-android-ndk-5.7.1-react-native.aar b/packages/react-native/android/com/bugsnag/bugsnag-android-ndk/5.8.0-react-native/bugsnag-android-ndk-5.8.0-react-native.aar
similarity index 100%
rename from packages/react-native/android/com/bugsnag/bugsnag-android-ndk/5.7.1-react-native/bugsnag-android-ndk-5.7.1-react-native.aar
rename to packages/react-native/android/com/bugsnag/bugsnag-android-ndk/5.8.0-react-native/bugsnag-android-ndk-5.8.0-react-native.aar
diff --git a/packages/react-native/android/com/bugsnag/bugsnag-android-ndk/5.8.0-react-native/bugsnag-android-ndk-5.8.0-react-native.aar.asc b/packages/react-native/android/com/bugsnag/bugsnag-android-ndk/5.8.0-react-native/bugsnag-android-ndk-5.8.0-react-native.aar.asc
new file mode 100644
index 0000000000..b9e93687b1
--- /dev/null
+++ b/packages/react-native/android/com/bugsnag/bugsnag-android-ndk/5.8.0-react-native/bugsnag-android-ndk-5.8.0-react-native.aar.asc
@@ -0,0 +1,17 @@
+-----BEGIN PGP SIGNATURE-----
+Version: BCPG v1.64
+
+iQIcBAABCgAGBQJgWf0vAAoJEJAqRX/iyO/55OwQAK9yVzV84YKjOktKvRjnzxN8
+8wGBtExb5l2GFhyh+duOaCQ8dCgDgimduMAb7jwcP18yfh9V5acJrlAel1G8/+K4
+1CXKJDXPsZm0fQTp1n6I23N/YPlGmOk/otVIkay+xAm1f20DavWE4CVJLUBJosw2
+LX2cpcHHnHTDSjU3zCNNLWrYGU1X9h1g7C0vIxtfvNWv/mXYoReiCV+W7M9NfcEH
+rhcwLEdW89nNAb6L7PWsWl+I6hcZh2PzdQL7EDuLLk5tXxt0LwyrJXz2klhggSH8
+XwEHTfengJw8TwvPgQ99FdBn3cPnbBLrFROMrq/Xbj+cJABWnaVLwXuJ1OY85QNO
+9waDwA7WpCvZT7TAQvm2HC9CX7RYZT1czjb+UFwLdUciRXC8kgWVBmMW3/6YqsyR
+jWvWUR62xJ1HwQFqjCiEkorQoNNxtznWnZyFeyQ3lX2kAMFPQty9ZS0DGxcUB7Yw
+y2jD33CHYuwVpGbY0nBmFXdy82VwDDqzldlmTtsvyy/YMZvCivEmAN6q636SGYvH
+U8Nc274elrTDKn1lsN73VVGO10TDLujlWlh5yPG/miShOJ4XQXYMTmYUf+B4M3ir
+asopv0n4wr9tOfaBJHDkGldwD1omEa/PNCONYMDzpWh4HHeFh+swQyzg9NhCn1QP
+CkxCSa04Hl4au3BVyNFs
+=bwTQ
+-----END PGP SIGNATURE-----
diff --git a/packages/react-native/android/com/bugsnag/bugsnag-android-ndk/5.7.1-react-native/bugsnag-android-ndk-5.7.1-react-native.module b/packages/react-native/android/com/bugsnag/bugsnag-android-ndk/5.8.0-react-native/bugsnag-android-ndk-5.8.0-react-native.module
similarity index 84%
rename from packages/react-native/android/com/bugsnag/bugsnag-android-ndk/5.7.1-react-native/bugsnag-android-ndk-5.7.1-react-native.module
rename to packages/react-native/android/com/bugsnag/bugsnag-android-ndk/5.8.0-react-native/bugsnag-android-ndk-5.8.0-react-native.module
index 5483f713e5..2783915ee9 100644
--- a/packages/react-native/android/com/bugsnag/bugsnag-android-ndk/5.7.1-react-native/bugsnag-android-ndk-5.7.1-react-native.module
+++ b/packages/react-native/android/com/bugsnag/bugsnag-android-ndk/5.8.0-react-native/bugsnag-android-ndk-5.8.0-react-native.module
@@ -3,7 +3,7 @@
"component": {
"group": "com.bugsnag",
"module": "bugsnag-android-ndk",
- "version": "5.7.1-react-native",
+ "version": "5.8.0-react-native",
"attributes": {
"org.gradle.status": "release"
}
@@ -11,7 +11,7 @@
"createdBy": {
"gradle": {
"version": "6.7",
- "buildId": "tomffttf3rdo3a6ht7qqzwlrvq"
+ "buildId": "ojbjb5wnkvflrhzhr4giu2y7q4"
}
},
"variants": [
@@ -28,21 +28,21 @@
"group": "com.bugsnag",
"module": "bugsnag-android-core",
"version": {
- "requires": "5.7.1-react-native"
+ "requires": "5.8.0-react-native"
}
},
{
"group": "com.bugsnag",
"module": "bugsnag-plugin-android-anr",
"version": {
- "requires": "5.7.1-react-native"
+ "requires": "5.8.0-react-native"
}
},
{
"group": "com.bugsnag",
"module": "bugsnag-plugin-android-ndk",
"version": {
- "requires": "5.7.1-react-native"
+ "requires": "5.8.0-react-native"
}
},
{
@@ -62,8 +62,8 @@
],
"files": [
{
- "name": "bugsnag-android-ndk-5.7.1-react-native.aar",
- "url": "bugsnag-android-ndk-5.7.1-react-native.aar",
+ "name": "bugsnag-android-ndk-5.8.0-react-native.aar",
+ "url": "bugsnag-android-ndk-5.8.0-react-native.aar",
"size": 701,
"sha512": "b000ee5afc2daaab0f09bfa0585c74893e16f8d0712f91e66c8cccc5ea1a17acc866e94de5e2698461ad0ce454d4b4f58398a9603c4f5051b5394f244d001427",
"sha256": "71846d015ea94fa6ed5c27465a23ed7ddc9f92dcdda65c61e4a8dbd90be83874",
@@ -85,21 +85,21 @@
"group": "com.bugsnag",
"module": "bugsnag-android-core",
"version": {
- "requires": "5.7.1-react-native"
+ "requires": "5.8.0-react-native"
}
},
{
"group": "com.bugsnag",
"module": "bugsnag-plugin-android-anr",
"version": {
- "requires": "5.7.1-react-native"
+ "requires": "5.8.0-react-native"
}
},
{
"group": "com.bugsnag",
"module": "bugsnag-plugin-android-ndk",
"version": {
- "requires": "5.7.1-react-native"
+ "requires": "5.8.0-react-native"
}
},
{
@@ -119,8 +119,8 @@
],
"files": [
{
- "name": "bugsnag-android-ndk-5.7.1-react-native.aar",
- "url": "bugsnag-android-ndk-5.7.1-react-native.aar",
+ "name": "bugsnag-android-ndk-5.8.0-react-native.aar",
+ "url": "bugsnag-android-ndk-5.8.0-react-native.aar",
"size": 701,
"sha512": "b000ee5afc2daaab0f09bfa0585c74893e16f8d0712f91e66c8cccc5ea1a17acc866e94de5e2698461ad0ce454d4b4f58398a9603c4f5051b5394f244d001427",
"sha256": "71846d015ea94fa6ed5c27465a23ed7ddc9f92dcdda65c61e4a8dbd90be83874",
diff --git a/packages/react-native/android/com/bugsnag/bugsnag-android-ndk/5.8.0-react-native/bugsnag-android-ndk-5.8.0-react-native.module.asc b/packages/react-native/android/com/bugsnag/bugsnag-android-ndk/5.8.0-react-native/bugsnag-android-ndk-5.8.0-react-native.module.asc
new file mode 100644
index 0000000000..984c90b461
--- /dev/null
+++ b/packages/react-native/android/com/bugsnag/bugsnag-android-ndk/5.8.0-react-native/bugsnag-android-ndk-5.8.0-react-native.module.asc
@@ -0,0 +1,17 @@
+-----BEGIN PGP SIGNATURE-----
+Version: BCPG v1.64
+
+iQIcBAABCgAGBQJgWf0vAAoJEJAqRX/iyO/5dOUQAITPTQZQDceNk3GuNZOL9UAM
+rl+1qqIjdKs9PbtD1V+OSJFRJy+4YZ6p5hllCvL1+X3LUYrL19UpxAqVeHcM0KDv
+CXwXk+UowQQJjFWc7/mPww0hIp8eU8CJUzCJnK65v4LckGVHsjBvKrgNXYKdKLFQ
+8Dt2A/onqWpfxdKA8GL63RErBeh2fBahsjSzVaHPVw516QL25DPNrE2U/C7xbCNU
+bJI8BVwgizuVQQVV43hcujlf+5xeI9FAcAkU5ouzmUbKPpwCzu4xRxI9cM5iA2FJ
+OA4RMIDSt6jB7TrAZjYX9WAUsgtgCEPzwcFbMa7QTn2PeFzkBVFIcEZ+atc/CRRR
+kBZvfLecfoXSDUHqUfa2ooHP16MiZfXiKkOPkEgVfPMofYW+Qn93zFwOU0jhnJrM
+Nj2O7HRrVk3C/zuRgwgZH+Oaux489cQEk+HWlVFPZqJ7FfeJhniQ3FYFb7AjcaxZ
+mWyMXagBux6mU2VVdOxXujtU8FSrdYAnRG9Mag4UmOI6LEYIWPH0R1myeydfJqdZ
+9W14JXJqtMNBV6paRmf5g9xPjUjW5ljovfpcMerX9/ofvOQGT/IUmFabr5xsyP4t
+bJDi0Exq/Lv/u0Abjm1881j1aaJmeJssezPtGRCnMDUV6O/6QiV00IQvtWmbyuMy
+PasW0nisZZljpMRLM5G4
+=wYtt
+-----END PGP SIGNATURE-----
diff --git a/packages/react-native/android/com/bugsnag/bugsnag-android-ndk/5.7.1-react-native/bugsnag-android-ndk-5.7.1-react-native.pom b/packages/react-native/android/com/bugsnag/bugsnag-android-ndk/5.8.0-react-native/bugsnag-android-ndk-5.8.0-react-native.pom
similarity index 93%
rename from packages/react-native/android/com/bugsnag/bugsnag-android-ndk/5.7.1-react-native/bugsnag-android-ndk-5.7.1-react-native.pom
rename to packages/react-native/android/com/bugsnag/bugsnag-android-ndk/5.8.0-react-native/bugsnag-android-ndk-5.8.0-react-native.pom
index 79b624fe3d..01ec679a06 100644
--- a/packages/react-native/android/com/bugsnag/bugsnag-android-ndk/5.7.1-react-native/bugsnag-android-ndk-5.7.1-react-native.pom
+++ b/packages/react-native/android/com/bugsnag/bugsnag-android-ndk/5.8.0-react-native/bugsnag-android-ndk-5.8.0-react-native.pom
@@ -9,7 +9,7 @@
4.0.0
com.bugsnag
bugsnag-android-ndk
- 5.7.1-react-native
+ 5.8.0-react-native
aar
Bugsnag Android NDK
Official Bugsnag notifier for Android applications
@@ -36,19 +36,19 @@
com.bugsnag
bugsnag-android-core
- 5.7.1-react-native
+ 5.8.0-react-native
compile
com.bugsnag
bugsnag-plugin-android-anr
- 5.7.1-react-native
+ 5.8.0-react-native
compile
com.bugsnag
bugsnag-plugin-android-ndk
- 5.7.1-react-native
+ 5.8.0-react-native
compile
diff --git a/packages/react-native/android/com/bugsnag/bugsnag-android-ndk/5.8.0-react-native/bugsnag-android-ndk-5.8.0-react-native.pom.asc b/packages/react-native/android/com/bugsnag/bugsnag-android-ndk/5.8.0-react-native/bugsnag-android-ndk-5.8.0-react-native.pom.asc
new file mode 100644
index 0000000000..feef21f93d
--- /dev/null
+++ b/packages/react-native/android/com/bugsnag/bugsnag-android-ndk/5.8.0-react-native/bugsnag-android-ndk-5.8.0-react-native.pom.asc
@@ -0,0 +1,17 @@
+-----BEGIN PGP SIGNATURE-----
+Version: BCPG v1.64
+
+iQIcBAABCgAGBQJgWf0vAAoJEJAqRX/iyO/56sAP/R32tn2WHQdKXiCzTFwSS469
+I1FaXjCX2wrIO7AROWnFeb0d06Q6LkruQ4Z5zlzc5wLKvqjodX53hjf0wkYM/85R
+WU5y5GqkpJwaqQrUQBbLneez6S/ekxiNjgIc8NnLpqYNbqg5xiQoIDvuIWX4Ly47
+ONH+hkMnU8RLSsQL5RWKMmW4B2gaBmOJEVOVq8VTK1irgD1qGQJyH60kLB6lxrfq
+BxhAKSOcOd0shhgsP7oh4kC9yCeNbJ4Nw3hECsxNCdHyu1Je7je/rOkys818c+P/
+IPvPi5jA7GnNmJ8AaukF6puZ8+hPy88iswdlFcs+PVEXW66HYowid5uimCg+g+Op
+Sb8osY3IQp8BuNmYBt/1AX3FJRjk83RE58O6v80UxpQS90KgLbxpNMr3oy1H4vlW
+C3lIuQAXa/+6UipBoIB22pRPphauVWRVziStrRfHBNTC1Oq7eq9amaeCfYwdy5NB
+flkh0Gnkxase7uxbdGliGBHlI3sAzHK7trBQe9tjJo6jvcES/Hl+mSZTtjij0tBM
+HrsxxLcVWOA7k9iEJ6DGQ69CUlklDylmXnRFhxvja4BX0EjRKkQ6JhEi9sbQBO8/
+7S4WejpvQUhRu+5qVbGBRvvogoQ61o81GOiXNJ/kI02aLwv2lTCLOxpj2EYiwRTi
+8mGX6HUnNbUbiTfdvRQM
+=BFLT
+-----END PGP SIGNATURE-----
diff --git a/packages/react-native/android/com/bugsnag/bugsnag-android-ndk/maven-metadata-local.xml b/packages/react-native/android/com/bugsnag/bugsnag-android-ndk/maven-metadata-local.xml
index e5e5209c03..73a1f5c0a4 100644
--- a/packages/react-native/android/com/bugsnag/bugsnag-android-ndk/maven-metadata-local.xml
+++ b/packages/react-native/android/com/bugsnag/bugsnag-android-ndk/maven-metadata-local.xml
@@ -3,11 +3,11 @@
com.bugsnag
bugsnag-android-ndk
- 5.7.1-react-native
- 5.7.1-react-native
+ 5.8.0-react-native
+ 5.8.0-react-native
- 5.7.1-react-native
+ 5.8.0-react-native
- 20210303155125
+ 20210323143735
diff --git a/packages/react-native/android/com/bugsnag/bugsnag-android/5.7.1-react-native/bugsnag-android-5.7.1-react-native-sources.jar b/packages/react-native/android/com/bugsnag/bugsnag-android/5.7.1-react-native/bugsnag-android-5.7.1-react-native-sources.jar
deleted file mode 100644
index 2b379f2447..0000000000
Binary files a/packages/react-native/android/com/bugsnag/bugsnag-android/5.7.1-react-native/bugsnag-android-5.7.1-react-native-sources.jar and /dev/null differ
diff --git a/packages/react-native/android/com/bugsnag/bugsnag-android/5.7.1-react-native/bugsnag-android-5.7.1-react-native-sources.jar.asc b/packages/react-native/android/com/bugsnag/bugsnag-android/5.7.1-react-native/bugsnag-android-5.7.1-react-native-sources.jar.asc
deleted file mode 100644
index d51fef3050..0000000000
--- a/packages/react-native/android/com/bugsnag/bugsnag-android/5.7.1-react-native/bugsnag-android-5.7.1-react-native-sources.jar.asc
+++ /dev/null
@@ -1,17 +0,0 @@
------BEGIN PGP SIGNATURE-----
-Version: BCPG v1.64
-
-iQIcBAABCgAGBQJgP7B9AAoJEJAqRX/iyO/5FUAQAIAToDoUE+IB43KcjMIgLevD
-MRfJIT7kOJfEHBpjBpqhlYCOG9MNuFd7zBrAvGhBhXiYvwSMeAaxj5CESrdWlGN1
-8bmo90aGYPKyew94OiaEewuaB3iVO+OJuiEzmj6kOiPzbzZdycx0pbXr47o6SDMN
-BsUkjBwV0NoeqPwP0zXe6I2haKRPo67GEz6xnkcJcxpZOAqEjmR0jFGgcDwWlk5d
-UE8rKNCzJUv7/A/4WnhvCliDelOA+QpW6l2gLnnuxOFevkqVo5rqlbgXPJZbAoO8
-T4UB9hAActs6Ft5P8l7i7+x3Nn8fzzja+VFbhvR7VmDTJuL//h3iwtD5CRiA7rga
-EkawE5tKgEdkbAGyzMGimkWuLOSmOUXU4liUhIvfM1eETPvx1BYtMD3n30kkhJ6K
-V5Nl0dh0Vokd02XS0yBwdUzrZL2ePY8nrQZ4Xpnjfsn+gfZZyszOzrOivbVyAP0V
-EadApKYprPzkedkMgkihY1i3rjHdG2kF9kHlsz2hIVd+dEzV9DAsEvGBwDmq1OH4
-otpX+Mew0xWR/++cdo5xmvGYjHWJZZfQ7Nj5tYEGpLMv9JoWnwHXNmpRmsJLpdwM
-25yzZQN9xW18LyKFcvkTmkhD06kjJ/mBHqT6W59/XRoQReVDg6FyrUvPV/BMwGZd
-aF5H1ic+dCctxBT09sH+
-=HDUm
------END PGP SIGNATURE-----
diff --git a/packages/react-native/android/com/bugsnag/bugsnag-android/5.7.1-react-native/bugsnag-android-5.7.1-react-native.aar.asc b/packages/react-native/android/com/bugsnag/bugsnag-android/5.7.1-react-native/bugsnag-android-5.7.1-react-native.aar.asc
deleted file mode 100644
index 4a3908db6b..0000000000
--- a/packages/react-native/android/com/bugsnag/bugsnag-android/5.7.1-react-native/bugsnag-android-5.7.1-react-native.aar.asc
+++ /dev/null
@@ -1,17 +0,0 @@
------BEGIN PGP SIGNATURE-----
-Version: BCPG v1.64
-
-iQIcBAABCgAGBQJgP7B9AAoJEJAqRX/iyO/5ZaYP/RYUtsQRL6oLEvAv9I/XGsE+
-Kykl5Km0dW86zmnGaRWW+L3s7nRNbhaWogVXhTmnQr3YzYCf5LiXT5Mq5+l4A4lG
-3T0XWdRxyOaue0QfCsya/ceJek9T2tq69rN3v+QypPDPiD39D+/kCbhKqB6Q7sh1
-w+oC2NE2cyQRv9S99j/0wKHynbOm/B6tik/JW/i+UO4ZPnnLBYwXg8tft9dSqW87
-sUt2+NB2X0Xfh6CSxIVGzS02/2jOplo2jQQAVhrJg8nSAnxyo+gHAVH14U5etcpN
-X4IADML26L/uLz+0kk7MTw428p7GUOaacsD+FVOew50iVNhe3OXvzt16HUBLsCic
-p7HaAS9OWYWs3VK6ohBQCx6pCLQ4RFg5f+5Hd/gFJRfJXVHdu1i36x/eQj9Z1JD5
-DwslidMg4LIEBQPjYUtp29LMJRyAAteoQuYP2Gt89xUZoQKRo5v3uAsLDD9t+15/
-LKQWhPh8HEWdkY9kBEi1iy36HXT84Iia59TczluMDweJ8HyEf294jY070ZemvB96
-pIQBOVBDXkFQsBvNvvOJgCT21EvtPB8nH4+wjQcIIHIkdrjvp0EOdAXQ9n9AjnnH
-zWGrr/KAwrTXlWUcMUEEfAzykYDHXmG9pnouIM13jdFTv3ny7fBLh8NBKi7QpExu
-zUi+S7TvzI/rbg7yyChF
-=65F0
------END PGP SIGNATURE-----
diff --git a/packages/react-native/android/com/bugsnag/bugsnag-android/5.7.1-react-native/bugsnag-android-5.7.1-react-native.module.asc b/packages/react-native/android/com/bugsnag/bugsnag-android/5.7.1-react-native/bugsnag-android-5.7.1-react-native.module.asc
deleted file mode 100644
index 4219c36d78..0000000000
--- a/packages/react-native/android/com/bugsnag/bugsnag-android/5.7.1-react-native/bugsnag-android-5.7.1-react-native.module.asc
+++ /dev/null
@@ -1,17 +0,0 @@
------BEGIN PGP SIGNATURE-----
-Version: BCPG v1.64
-
-iQIcBAABCgAGBQJgP7B9AAoJEJAqRX/iyO/5jeQP/jptsvbYOGvRqpuPFImkM08Y
-eFqCr2NVOgYpAH024I469THaBtZ7iq8WO2jVBqKoBqn2c9knjU1VT5p4rvtVnvG5
-UGge6Yac1/DZr64svwvGvrZyw3k1RLVvKh8MfWPbLM4JEHqlNRPZ4zMkzhNXm0FI
-Z2x/cIez3zokQsnTmFde/OyvO1j1Dnq5ujPV/MnVEHJD5c/uRfqccTMU1jnf3RXr
-1qddFkr2k+TC3q7B5PdzqDFAETdQllO+YXDB2Fca2RQl5loHs5bGmGwFWVnkdD1O
-x31fhL8Vt6D/0vNkAuZ8nabVidjUQXvNxKOvG6qWRGesYLn6o9lJ5/vJ6nxnjatl
-F6r6PA9m/yaWP7InlnNvmWTA6TkQ/57WrpvUzUPeO2sieD7/SlmJBQhoQA8e3qrg
-uUqALOpaiqeOyublXpHCN9tYIl/N2fT++rhzWNHxc6NpVGyTIIz2NBnPkpc23d1J
-yuJdU8KCTLssdZV0bRRalBWihlswAb2RwUEBwLl2rzT4g6j3vNRaNUHdhsaFjeHP
-/A3405820/4iA5iC6vuksFkDSlQJZcHPLhrRBfFKRV+dJXKG5/h4WTGUghRxpzMX
-9kpz2pxr3Rb9ptn6j7BQMbgHmj1dByyEj8HFwdtuZYOLdop5qYzlZcbM5gpzD4Lb
-EtHiC5O/U6rvzqNTQn4+
-=4En+
------END PGP SIGNATURE-----
diff --git a/packages/react-native/android/com/bugsnag/bugsnag-android/5.7.1-react-native/bugsnag-android-5.7.1-react-native.pom.asc b/packages/react-native/android/com/bugsnag/bugsnag-android/5.7.1-react-native/bugsnag-android-5.7.1-react-native.pom.asc
deleted file mode 100644
index e769ade872..0000000000
--- a/packages/react-native/android/com/bugsnag/bugsnag-android/5.7.1-react-native/bugsnag-android-5.7.1-react-native.pom.asc
+++ /dev/null
@@ -1,17 +0,0 @@
------BEGIN PGP SIGNATURE-----
-Version: BCPG v1.64
-
-iQIcBAABCgAGBQJgP7B9AAoJEJAqRX/iyO/5gAcQAIkJBy51BSW8eEqOq971MTAp
-rkJfhLq3XxOh8rAePHlMtpOVQBIN6DfzDH4mi07nuckHnZQAkEkKLw7lAS8xM4ZK
-KuKHPche++EfbpHs+9w48W8El6HTpzfBwwv/cGut2l13ipxqhg/ZWuJWHqieCFiZ
-aggOak2oRUV2ebUt5rV7nC0I4P5X/OKOT4jIAlWP7XQ6+U0/cxO+VlcMP0P6Mwq3
-CpR5ZTGRSAjGqm1XrbW74AjSw2Q0wHwa8AYDUVW1q7Go1PNColGmSUrz/cn+5LxZ
-AS1MyiMDnHLirNsCQzarkXqi7QyD0UmBDORBbucS5KRp9UhnZ0SZ0JfdiRoygvWP
-acgzu5xrtL24cylouOO41/YFBCEFx9rYlU2ZQeDB+wK/q/vE4wPq02c5q3GC5bKw
-K7FSW3z1MYrnVQLT5ZNC3J4Z3NpyeqpFk4WmpFWyCPXL1wwxdvfqURNozUX95LS3
-UtFX+XCV2OLnDmm0ZVrsHgakZ1eCfQZfDlZum1bt02kNfaXIC61aRpDS4J4zc5La
-rvn91U3WNzpwf4ZnfNsXvmr4+1T66LKPX8sIpjJKDsk3J3PGvJ0wd2MXdjVix2yb
-Sea/CSMdwlpaAzKUoI8K4YkLV64z+o1dSOGUKtMJhHTjrrOE+/0EnawQM62KrN0Z
-CpOqcZnhwFgd6Dl0YR/a
-=Sk4x
------END PGP SIGNATURE-----
diff --git a/packages/react-native/android/com/bugsnag/bugsnag-android/5.8.0-react-native/bugsnag-android-5.8.0-react-native-sources.jar b/packages/react-native/android/com/bugsnag/bugsnag-android/5.8.0-react-native/bugsnag-android-5.8.0-react-native-sources.jar
new file mode 100644
index 0000000000..46dc7c498f
Binary files /dev/null and b/packages/react-native/android/com/bugsnag/bugsnag-android/5.8.0-react-native/bugsnag-android-5.8.0-react-native-sources.jar differ
diff --git a/packages/react-native/android/com/bugsnag/bugsnag-android/5.8.0-react-native/bugsnag-android-5.8.0-react-native-sources.jar.asc b/packages/react-native/android/com/bugsnag/bugsnag-android/5.8.0-react-native/bugsnag-android-5.8.0-react-native-sources.jar.asc
new file mode 100644
index 0000000000..3d1ef0a1d8
--- /dev/null
+++ b/packages/react-native/android/com/bugsnag/bugsnag-android/5.8.0-react-native/bugsnag-android-5.8.0-react-native-sources.jar.asc
@@ -0,0 +1,17 @@
+-----BEGIN PGP SIGNATURE-----
+Version: BCPG v1.64
+
+iQIcBAABCgAGBQJgWf0vAAoJEJAqRX/iyO/5dpoP/2wYEHUe2IZ42KUdWuuHNxeL
+pimTwxGTUzLv5f9wPDHVYWTli4pCvqO5hwd13/GZsCRSS+Yldv2e5Om26l2qc9uL
+cx4i2a6XFJoEWlmjY7Fb5QSZwM0DGGMktlFmd3CEoxd6QXn4z+uz1NhowYv2vkQj
+hvVnjH2Aq88cDS9LoMLzlgRx//ILlR6j0tH56VsbQ9BvZJtsObcIjKqIM/qJRc3R
+c53B65g4b15Y7Kxn6ZggWFS5ViBu4iXv3KltffI0W5Iv3wbsHgRQr6EBpU3J4OF2
+uFH6R9NyN28rbfSnJ+mWu2Z2cYSEZiyw8U7XtV8YUeKMGd8Egy3dY61Xs2kMEBoG
+0H1vG7ypCC3ORPCOhMI8iRYFCzVrSAn8o1c/Npi73gv50metUxmKmPZNZ6wJgUHc
+fXU7HX+JZWH5k8BM7g8Ju5EbH9W/D1XWDm+T3oMMotD/L5ER+OZmZ363LsjUgowX
+MEfP9KXIA8clcqUbf/6aTZWP9yuJBNA1o39DOwoSTxicH8iv9IFwYYM92IyXG0VO
+tFWnFsIF5k2eLf3ftbxLmgAYul+VUwStMO3GS0iN8ItPxINozbdJfO6uYAGPCpko
+cCNzGmo6dUQN0vVMeeYu3zXEslQt6CBPGt/RUapV7cLfiY/wOj96pPQPe8YJcDh0
+b/nx/eHX2LJWAeZ78EDl
+=Qj3D
+-----END PGP SIGNATURE-----
diff --git a/packages/react-native/android/com/bugsnag/bugsnag-android/5.7.1-react-native/bugsnag-android-5.7.1-react-native.aar b/packages/react-native/android/com/bugsnag/bugsnag-android/5.8.0-react-native/bugsnag-android-5.8.0-react-native.aar
similarity index 100%
rename from packages/react-native/android/com/bugsnag/bugsnag-android/5.7.1-react-native/bugsnag-android-5.7.1-react-native.aar
rename to packages/react-native/android/com/bugsnag/bugsnag-android/5.8.0-react-native/bugsnag-android-5.8.0-react-native.aar
diff --git a/packages/react-native/android/com/bugsnag/bugsnag-android/5.8.0-react-native/bugsnag-android-5.8.0-react-native.aar.asc b/packages/react-native/android/com/bugsnag/bugsnag-android/5.8.0-react-native/bugsnag-android-5.8.0-react-native.aar.asc
new file mode 100644
index 0000000000..b9e93687b1
--- /dev/null
+++ b/packages/react-native/android/com/bugsnag/bugsnag-android/5.8.0-react-native/bugsnag-android-5.8.0-react-native.aar.asc
@@ -0,0 +1,17 @@
+-----BEGIN PGP SIGNATURE-----
+Version: BCPG v1.64
+
+iQIcBAABCgAGBQJgWf0vAAoJEJAqRX/iyO/55OwQAK9yVzV84YKjOktKvRjnzxN8
+8wGBtExb5l2GFhyh+duOaCQ8dCgDgimduMAb7jwcP18yfh9V5acJrlAel1G8/+K4
+1CXKJDXPsZm0fQTp1n6I23N/YPlGmOk/otVIkay+xAm1f20DavWE4CVJLUBJosw2
+LX2cpcHHnHTDSjU3zCNNLWrYGU1X9h1g7C0vIxtfvNWv/mXYoReiCV+W7M9NfcEH
+rhcwLEdW89nNAb6L7PWsWl+I6hcZh2PzdQL7EDuLLk5tXxt0LwyrJXz2klhggSH8
+XwEHTfengJw8TwvPgQ99FdBn3cPnbBLrFROMrq/Xbj+cJABWnaVLwXuJ1OY85QNO
+9waDwA7WpCvZT7TAQvm2HC9CX7RYZT1czjb+UFwLdUciRXC8kgWVBmMW3/6YqsyR
+jWvWUR62xJ1HwQFqjCiEkorQoNNxtznWnZyFeyQ3lX2kAMFPQty9ZS0DGxcUB7Yw
+y2jD33CHYuwVpGbY0nBmFXdy82VwDDqzldlmTtsvyy/YMZvCivEmAN6q636SGYvH
+U8Nc274elrTDKn1lsN73VVGO10TDLujlWlh5yPG/miShOJ4XQXYMTmYUf+B4M3ir
+asopv0n4wr9tOfaBJHDkGldwD1omEa/PNCONYMDzpWh4HHeFh+swQyzg9NhCn1QP
+CkxCSa04Hl4au3BVyNFs
+=bwTQ
+-----END PGP SIGNATURE-----
diff --git a/packages/react-native/android/com/bugsnag/bugsnag-android/5.7.1-react-native/bugsnag-android-5.7.1-react-native.module b/packages/react-native/android/com/bugsnag/bugsnag-android/5.8.0-react-native/bugsnag-android-5.8.0-react-native.module
similarity index 84%
rename from packages/react-native/android/com/bugsnag/bugsnag-android/5.7.1-react-native/bugsnag-android-5.7.1-react-native.module
rename to packages/react-native/android/com/bugsnag/bugsnag-android/5.8.0-react-native/bugsnag-android-5.8.0-react-native.module
index 5d0953a257..1555fbd409 100644
--- a/packages/react-native/android/com/bugsnag/bugsnag-android/5.7.1-react-native/bugsnag-android-5.7.1-react-native.module
+++ b/packages/react-native/android/com/bugsnag/bugsnag-android/5.8.0-react-native/bugsnag-android-5.8.0-react-native.module
@@ -3,7 +3,7 @@
"component": {
"group": "com.bugsnag",
"module": "bugsnag-android",
- "version": "5.7.1-react-native",
+ "version": "5.8.0-react-native",
"attributes": {
"org.gradle.status": "release"
}
@@ -11,7 +11,7 @@
"createdBy": {
"gradle": {
"version": "6.7",
- "buildId": "tomffttf3rdo3a6ht7qqzwlrvq"
+ "buildId": "ojbjb5wnkvflrhzhr4giu2y7q4"
}
},
"variants": [
@@ -28,21 +28,21 @@
"group": "com.bugsnag",
"module": "bugsnag-android-core",
"version": {
- "requires": "5.7.1-react-native"
+ "requires": "5.8.0-react-native"
}
},
{
"group": "com.bugsnag",
"module": "bugsnag-plugin-android-anr",
"version": {
- "requires": "5.7.1-react-native"
+ "requires": "5.8.0-react-native"
}
},
{
"group": "com.bugsnag",
"module": "bugsnag-plugin-android-ndk",
"version": {
- "requires": "5.7.1-react-native"
+ "requires": "5.8.0-react-native"
}
},
{
@@ -62,8 +62,8 @@
],
"files": [
{
- "name": "bugsnag-android-5.7.1-react-native.aar",
- "url": "bugsnag-android-5.7.1-react-native.aar",
+ "name": "bugsnag-android-5.8.0-react-native.aar",
+ "url": "bugsnag-android-5.8.0-react-native.aar",
"size": 701,
"sha512": "b000ee5afc2daaab0f09bfa0585c74893e16f8d0712f91e66c8cccc5ea1a17acc866e94de5e2698461ad0ce454d4b4f58398a9603c4f5051b5394f244d001427",
"sha256": "71846d015ea94fa6ed5c27465a23ed7ddc9f92dcdda65c61e4a8dbd90be83874",
@@ -85,21 +85,21 @@
"group": "com.bugsnag",
"module": "bugsnag-android-core",
"version": {
- "requires": "5.7.1-react-native"
+ "requires": "5.8.0-react-native"
}
},
{
"group": "com.bugsnag",
"module": "bugsnag-plugin-android-anr",
"version": {
- "requires": "5.7.1-react-native"
+ "requires": "5.8.0-react-native"
}
},
{
"group": "com.bugsnag",
"module": "bugsnag-plugin-android-ndk",
"version": {
- "requires": "5.7.1-react-native"
+ "requires": "5.8.0-react-native"
}
},
{
@@ -119,8 +119,8 @@
],
"files": [
{
- "name": "bugsnag-android-5.7.1-react-native.aar",
- "url": "bugsnag-android-5.7.1-react-native.aar",
+ "name": "bugsnag-android-5.8.0-react-native.aar",
+ "url": "bugsnag-android-5.8.0-react-native.aar",
"size": 701,
"sha512": "b000ee5afc2daaab0f09bfa0585c74893e16f8d0712f91e66c8cccc5ea1a17acc866e94de5e2698461ad0ce454d4b4f58398a9603c4f5051b5394f244d001427",
"sha256": "71846d015ea94fa6ed5c27465a23ed7ddc9f92dcdda65c61e4a8dbd90be83874",
diff --git a/packages/react-native/android/com/bugsnag/bugsnag-android/5.8.0-react-native/bugsnag-android-5.8.0-react-native.module.asc b/packages/react-native/android/com/bugsnag/bugsnag-android/5.8.0-react-native/bugsnag-android-5.8.0-react-native.module.asc
new file mode 100644
index 0000000000..e6eaa91bf5
--- /dev/null
+++ b/packages/react-native/android/com/bugsnag/bugsnag-android/5.8.0-react-native/bugsnag-android-5.8.0-react-native.module.asc
@@ -0,0 +1,17 @@
+-----BEGIN PGP SIGNATURE-----
+Version: BCPG v1.64
+
+iQIcBAABCgAGBQJgWf0vAAoJEJAqRX/iyO/5fugP/j+IJgquX8iNzb8jxP8WJl51
+uQxHBhXWfbT7spR5sHdRPFsL08Mdwo4rsuNXmflbrf+Y+auqz++rx0G/MM7ejChW
+K3g7pp6LMRGAs1m59o9H2klJYKKRkUCMySaJjbF+Gza1pdhmZJ5BoxYk9e66RFpJ
+ktLvU1LT9bbxDWykcfwqcsk2cdWnhWA8TPDLGqqfdw7T+gPWd/0JQePzij3+6y/v
+GpXI7/DwvX6gUzM0R4UwatYPK7DVB1L44PLqiS5AZWauGaX8SONT1t8OschQd7LG
+aiF+s1ISuZ1vp/sZkay5qnPICbPO0E1YwvaeOkt3kt4UiWWcloFA70BkS6goP/5T
+adIjp5fcNR0gvqmUghPoxdKz7Rsjm0G5nP/Ddl4Th8861hwGM4J+B+EAugoS8tAt
++HB8QIOS1zvjNn+RJTauR/DhbMw5i9QsrTaptEAQ5Q579X8tZWUfy0U5iXecyRmd
+y07hdBFvfLOeOOFPc0hw4b5yFiTk3+bJtEctv5oFW8ZS0Vt15vLDvywsWkhw9fYx
+C0rcOtzIQgUc98Ie/5uF52yslXlH6p/XOVhrquILr8XovqGjWWsEcm9eViKsvMu+
+ng645UWGoEAXCm5ekbnlyULsAGiQrvl7evO/Jb49EMYzxLQatLpTephx86ejLYGf
+We6iCtSTtBIfrbbwJvIz
+=4uP4
+-----END PGP SIGNATURE-----
diff --git a/packages/react-native/android/com/bugsnag/bugsnag-android/5.7.1-react-native/bugsnag-android-5.7.1-react-native.pom b/packages/react-native/android/com/bugsnag/bugsnag-android/5.8.0-react-native/bugsnag-android-5.8.0-react-native.pom
similarity index 93%
rename from packages/react-native/android/com/bugsnag/bugsnag-android/5.7.1-react-native/bugsnag-android-5.7.1-react-native.pom
rename to packages/react-native/android/com/bugsnag/bugsnag-android/5.8.0-react-native/bugsnag-android-5.8.0-react-native.pom
index 126352b585..d410269b1e 100644
--- a/packages/react-native/android/com/bugsnag/bugsnag-android/5.7.1-react-native/bugsnag-android-5.7.1-react-native.pom
+++ b/packages/react-native/android/com/bugsnag/bugsnag-android/5.8.0-react-native/bugsnag-android-5.8.0-react-native.pom
@@ -9,7 +9,7 @@
4.0.0
com.bugsnag
bugsnag-android
- 5.7.1-react-native
+ 5.8.0-react-native
aar
Bugsnag Android
Official Bugsnag notifier for Android applications
@@ -36,19 +36,19 @@
com.bugsnag
bugsnag-android-core
- 5.7.1-react-native
+ 5.8.0-react-native
compile
com.bugsnag
bugsnag-plugin-android-anr
- 5.7.1-react-native
+ 5.8.0-react-native
compile
com.bugsnag
bugsnag-plugin-android-ndk
- 5.7.1-react-native
+ 5.8.0-react-native
compile
diff --git a/packages/react-native/android/com/bugsnag/bugsnag-android/5.8.0-react-native/bugsnag-android-5.8.0-react-native.pom.asc b/packages/react-native/android/com/bugsnag/bugsnag-android/5.8.0-react-native/bugsnag-android-5.8.0-react-native.pom.asc
new file mode 100644
index 0000000000..7b3c30d74d
--- /dev/null
+++ b/packages/react-native/android/com/bugsnag/bugsnag-android/5.8.0-react-native/bugsnag-android-5.8.0-react-native.pom.asc
@@ -0,0 +1,17 @@
+-----BEGIN PGP SIGNATURE-----
+Version: BCPG v1.64
+
+iQIcBAABCgAGBQJgWf0vAAoJEJAqRX/iyO/59tUP/Ar7+sRe0IjZ9Ln0XDuwue37
+jofD/RBYa8zc5jcawxhCcsJCfCIBkGeFDPjbA4/Ob+6udJriEfYtU5gtJmT7zhd3
+JNal2ruS2/895n89ZIMuuuM08zVBCuHggfr93nsoMYQyWKNsSCbPdQc70PwJ6bne
+iCD7zIJqwljLfP18NbqAMEu+Wkvv5RvPTcSR9lrUjAj6qJj7OuNWzQgsxVL9NlE8
+z93jw5umb4dzJ6usi9W2zzUa+FhLco/vr7MUVyzQknS4Q7vzVI4g6M3nYajycbCy
+lgN5y1cxNIYXhCATTW3y1Jc12LJJqGys9nUF9woEdijJL0MiDxSrcqQPLdZTLZ2f
+WQ9ll4ipS0E6vM7jrZVSNj0LTapo27w0z+msZsJE8tPnoIp32zxxBFRINpjQ0Lk6
+HGSoASwP6+79QhHiKV/dqb0fnZ23aYeMzjPbRlrdxEEPNQ8JJdHDPrQWbIYNU0ao
+Q2/PrySl3A2mRsYMpmX0D2LlCrc5Ask1XVfRdxMnWRhTEvPbTyigUD3tCV76Z9z7
+ZmElB7C1wAAqV1aoP7+E4ok83+49pT9VEGm2QBdm4g2aYAqVoPlEIDQ8tbG+cU4t
+/MCSi854/DeS+Ohit3+HpdGtXu1oyx0KGmzXwUgRuiB3xYHMDYCXUfjtr/22i6pN
+WK46ffJnMWQbd3AsDpPN
+=L9Uq
+-----END PGP SIGNATURE-----
diff --git a/packages/react-native/android/com/bugsnag/bugsnag-android/maven-metadata-local.xml b/packages/react-native/android/com/bugsnag/bugsnag-android/maven-metadata-local.xml
index 34c08b6041..e7633b1dd2 100644
--- a/packages/react-native/android/com/bugsnag/bugsnag-android/maven-metadata-local.xml
+++ b/packages/react-native/android/com/bugsnag/bugsnag-android/maven-metadata-local.xml
@@ -3,11 +3,11 @@
com.bugsnag
bugsnag-android
- 5.7.1-react-native
- 5.7.1-react-native
+ 5.8.0-react-native
+ 5.8.0-react-native
- 5.7.1-react-native
+ 5.8.0-react-native
- 20210303155125
+ 20210323143735
diff --git a/packages/react-native/android/com/bugsnag/bugsnag-plugin-android-anr/5.7.1-react-native/bugsnag-plugin-android-anr-5.7.1-react-native-sources.jar.asc b/packages/react-native/android/com/bugsnag/bugsnag-plugin-android-anr/5.7.1-react-native/bugsnag-plugin-android-anr-5.7.1-react-native-sources.jar.asc
deleted file mode 100644
index 578cd8a165..0000000000
--- a/packages/react-native/android/com/bugsnag/bugsnag-plugin-android-anr/5.7.1-react-native/bugsnag-plugin-android-anr-5.7.1-react-native-sources.jar.asc
+++ /dev/null
@@ -1,17 +0,0 @@
------BEGIN PGP SIGNATURE-----
-Version: BCPG v1.64
-
-iQIcBAABCgAGBQJgP7B1AAoJEJAqRX/iyO/5akMP/AjntBz/sCgn+Lz0GLW0ry/U
-0geRpysWThYKuzW9C/izsDQEDZ5dEWmV0Yfo9JcOSf/fOhnSk4C63TImWHN8IaXX
-9oIbzhW3leJRAITMwreePk6sA/q0kT8XKY9pNSCxF0ll4NxVbHrzu+kGjSr4blSN
-wWkeXnGtoTl8LajfgfuaMujelpV4VtzUAPvFVp2npbuX0LhFvmgFPnwWrmcMyWC7
-kdzB+4yvn+aR1dGwf/gQ5Tpp28pQtYrqjC9rJao6SZMIeyKF0FqicD4+2Mb4E5Vm
-i60z+G/jfGzqFZBks3bPSbHR0eVMGrqHv2L4/UX4eTC2GCWx/fzJDLcNoAAQr+fZ
-RU4/p+bMVdkRGknI9tZIxyeQDZA+Gk1Kq9HvJPJCdCHSi1E2p1F32F1bZ5Zx9sNV
-OI7onqrvnPuJnbUGm18KJ235bVfnR9DJMnHqYNe/vc7g4wZZJ2lxebmGFkX6rFSZ
-a9Kd0bVER5HFAA4x4R65vE8K8OznkKSU2WMBzJS00AJvBpKXsJId55fKsMwpb7zu
-zuRlZNHe60cMMRBFkJJ/cS+DUjugBl2rGO/J9XpyjrbwMXik3lcKA48wg0IHVF1/
-VzrN0dHpLigUcX6F+wZnuWPgI8XNdy21xf7HU4Txd9uYxO55iOGhOaB7ZdFraNBT
-ylUgvNH9hanFvFfFatya
-=ZYus
------END PGP SIGNATURE-----
diff --git a/packages/react-native/android/com/bugsnag/bugsnag-plugin-android-anr/5.7.1-react-native/bugsnag-plugin-android-anr-5.7.1-react-native.aar.asc b/packages/react-native/android/com/bugsnag/bugsnag-plugin-android-anr/5.7.1-react-native/bugsnag-plugin-android-anr-5.7.1-react-native.aar.asc
deleted file mode 100644
index 49012b86b4..0000000000
--- a/packages/react-native/android/com/bugsnag/bugsnag-plugin-android-anr/5.7.1-react-native/bugsnag-plugin-android-anr-5.7.1-react-native.aar.asc
+++ /dev/null
@@ -1,17 +0,0 @@
------BEGIN PGP SIGNATURE-----
-Version: BCPG v1.64
-
-iQIcBAABCgAGBQJgP7B1AAoJEJAqRX/iyO/5Ko0QAIa2f0SOkzupdmQ/+OFOfb35
-6UZ69+tZ0ACVKFOON3ZtOT1DcuevMp/dI2c9gG0vRbWcGegjtGIqF0nSHXVeVmwH
-U7ga8qBgnmXlZZiE6Y0Rz92n7FiueDmzEjP4Dlje7Z3kjQGnwgYIN/mBqnZgAoYC
-jijacNdMAm4USNhgzzWQKS5efCHqnd+WbKm/htppFkVhO3wSgWfrqKfJhUt+JoMs
-3z3bM7wdr0nragEyWkzGodvJwDgBWtlzbVivyxMPUFunkjX5hlD5MFiwYPKingRf
-36Er2amZeXzZ4FrN7k9elOlTPm5wwnnusWEvNpLohuRD5h2cpmKip3hbiIC0ZGvi
-1ZtCHQNKDwI56JrYqhKm8L9YOoWT1eTt+gDv/pZEFI52Lv0Vo3ydNmbxshAA2FCg
-pPXRvH8ddlpVHwSKPKXO6wAgK9EyoA9lhXvecyyoIgYRcOYDNbxSkVbw7nWN2Ix1
-LC8Xp1GkG/pBwTWhLwJVuSyVQ/nd0kbfB83nPs5mynyI2Q8fpDMzTtyNLnOUE8uL
-swB2J+2mxokRKhc64BADYmN/yubQabC5orQB5RPQqx2yl8iCWHsn+GSQmDa3LDKR
-1ElnPtEayQWcTTepIbIgYjugxORK72u9t+saLqUyJJcifv9HM34neD0Wm/aLYEhH
-SgxeRDsEE/Zy2Ux3bGaM
-=/Xmk
------END PGP SIGNATURE-----
diff --git a/packages/react-native/android/com/bugsnag/bugsnag-plugin-android-anr/5.7.1-react-native/bugsnag-plugin-android-anr-5.7.1-react-native.module.asc b/packages/react-native/android/com/bugsnag/bugsnag-plugin-android-anr/5.7.1-react-native/bugsnag-plugin-android-anr-5.7.1-react-native.module.asc
deleted file mode 100644
index 8edc3b54b0..0000000000
--- a/packages/react-native/android/com/bugsnag/bugsnag-plugin-android-anr/5.7.1-react-native/bugsnag-plugin-android-anr-5.7.1-react-native.module.asc
+++ /dev/null
@@ -1,17 +0,0 @@
------BEGIN PGP SIGNATURE-----
-Version: BCPG v1.64
-
-iQIcBAABCgAGBQJgP7B1AAoJEJAqRX/iyO/57x8QAK7abYxHnmTwYoRsfFOelxMt
-zpItv1OFk+S8R0RkqhOcRBKdSSXNaXTzsQlAJHadgkCdvJ/zplphXwb4RsNn/CV5
-2MxqBwX+5uGx3ICogybZ0NMbLp6zwZ6FCtUAt+lmfoiZOCBmW9y9DgX7Ape/mVz9
-mByMUTvxvs/eET7zSNXR0q5PA2vxP66ojo4TTIW0ibJHAGS1ZXzm/vg4Mu+svLm2
-q70g52TKJFZGDkAWYCl253VcdBPUvxzMNOM5Bma6u8PBvyNR3lGSJ7YEHFCOYJhM
-82rVuHY9K9vm0hPOAituCimdQ1vUuRnZyGBN5Fnj8+uUwOObbN3WJX7+LKryJ6he
-EN0cmzLOJAOTalG07nVGFTV43GCHaO8Leidvxh/YtYshDPR/NoaPC1k4rAOwT2Lp
-j3rYjJWbJd/TZpozg0ML7UueEZOjAwv6bHuokfHYcizoHVUMemR7mf1bgTrCkOBf
-27gSsTaqXPZLzF56fmOM/xxJHaeTNFlOsqcUDZsWNeA4mJNFOKXSmWMP7ANyPir5
-/kDXmNPkFdKwMDh3xNrt0GlrKbmb3Ph/wuwaRR3mgFKQk0irRlybFjbT03ckzynx
-GQvcImghBr/robNEh8Q9Awk4jpQ/pFgEEdeTrHCQB4rjWi0wpl4q2rD+bxQBhDvd
-j0CNaNyAxtHKfBmhjQ2Z
-=7Pea
------END PGP SIGNATURE-----
diff --git a/packages/react-native/android/com/bugsnag/bugsnag-plugin-android-anr/5.7.1-react-native/bugsnag-plugin-android-anr-5.7.1-react-native.pom.asc b/packages/react-native/android/com/bugsnag/bugsnag-plugin-android-anr/5.7.1-react-native/bugsnag-plugin-android-anr-5.7.1-react-native.pom.asc
deleted file mode 100644
index b4746a3cf0..0000000000
--- a/packages/react-native/android/com/bugsnag/bugsnag-plugin-android-anr/5.7.1-react-native/bugsnag-plugin-android-anr-5.7.1-react-native.pom.asc
+++ /dev/null
@@ -1,17 +0,0 @@
------BEGIN PGP SIGNATURE-----
-Version: BCPG v1.64
-
-iQIcBAABCgAGBQJgP7B1AAoJEJAqRX/iyO/5nMgP/RPnvWLXyrWsSsw/ocOzKSIX
-MNTnW0dsp4kTVt8uTlwpB1PjhCE+fRAFfX3rTnA1TSmPmMIk+EgC/01KsYlQJvae
-qiCbu9T5fXa70NURewtKDCjmki3GksfrWXF2fKPQ0q37y+y3l/4sbnzfdoMZ6C8K
-OXTF0Hz/VRN9uuL6SWxr1EB/J9EOw+irPCc+WwPEncZ6wjStnzDkvDGkZnhlFngL
-SUiuCToUcAyY177IzmwsS44ZOiZPELzb/ByeuiLGba/wHzSWYPtyAiebupJVrGI/
-LJ0545YnUZ3tN7HDdYziZKALWFZqsRZnscEWnUnN9MXyAUpZTMcASFEKHzA7nvIK
-0uqpyKGert7vx0aBJfGh84VC/e2zQq4stMukAv0M1/XryOlmdCyJaYBEjRx24ApG
-mna1B3lADWMLiFGA6McQNLr1915Jvt+lpzjEadu0/WPPsLG59FBG4u79g0zCgIT9
-wJv3JPn7yUhCjn+OZg7Fuzty/6uwnqwntXA/erOA122I73dSgepml7G+ltOQhXnk
-b29OFn9946i19V8F/MuLoXo99CBhN3AHV8t6aBHvOf3daVvdgBJ/kcOtxLjG45oy
-e1OqWZP1fnrtsIRhf2X4w6yZz21OmD+3rMDBAeC/1eg7dzgCpVCr99ueldtfLWps
-Mqjz3zdv03USW0n5mtdO
-=wrIi
------END PGP SIGNATURE-----
diff --git a/packages/react-native/android/com/bugsnag/bugsnag-plugin-android-anr/5.7.1-react-native/bugsnag-plugin-android-anr-5.7.1-react-native-sources.jar b/packages/react-native/android/com/bugsnag/bugsnag-plugin-android-anr/5.8.0-react-native/bugsnag-plugin-android-anr-5.8.0-react-native-sources.jar
similarity index 93%
rename from packages/react-native/android/com/bugsnag/bugsnag-plugin-android-anr/5.7.1-react-native/bugsnag-plugin-android-anr-5.7.1-react-native-sources.jar
rename to packages/react-native/android/com/bugsnag/bugsnag-plugin-android-anr/5.8.0-react-native/bugsnag-plugin-android-anr-5.8.0-react-native-sources.jar
index 82c3ca9c4c..d3293e875f 100644
Binary files a/packages/react-native/android/com/bugsnag/bugsnag-plugin-android-anr/5.7.1-react-native/bugsnag-plugin-android-anr-5.7.1-react-native-sources.jar and b/packages/react-native/android/com/bugsnag/bugsnag-plugin-android-anr/5.8.0-react-native/bugsnag-plugin-android-anr-5.8.0-react-native-sources.jar differ
diff --git a/packages/react-native/android/com/bugsnag/bugsnag-plugin-android-anr/5.8.0-react-native/bugsnag-plugin-android-anr-5.8.0-react-native-sources.jar.asc b/packages/react-native/android/com/bugsnag/bugsnag-plugin-android-anr/5.8.0-react-native/bugsnag-plugin-android-anr-5.8.0-react-native-sources.jar.asc
new file mode 100644
index 0000000000..e4528edb7b
--- /dev/null
+++ b/packages/react-native/android/com/bugsnag/bugsnag-plugin-android-anr/5.8.0-react-native/bugsnag-plugin-android-anr-5.8.0-react-native-sources.jar.asc
@@ -0,0 +1,17 @@
+-----BEGIN PGP SIGNATURE-----
+Version: BCPG v1.64
+
+iQIcBAABCgAGBQJgWf0uAAoJEJAqRX/iyO/5yGQP/iu0HfZ9nUo+P3jH52q1GxBF
+43yt/GMCBCe+RUsjY2h6Ms3QkiWXCuOksJD1BH4wIAKnPKIAIhUmgMDoWJxlI2K0
+QLlPjaE7ZBi5Bw7i2ovFQYYJLrFa1d2piUpUlcBWV28lCBe5C5oiGmCcRKuDd7CR
+wuAOgq4ARM2nUjRFtvr6aUuRJYSNIHmq6FSJW9T5bBrtMhFHch8VPnxqFnCFvb/Z
+s1C1vjdlKetgFQjYrhd8wDYDNOp9OjSRkWW5Ns6I+EVP4nWje7bp+aQ60NpTrd/9
+VtMSURuFSGcY8Hl+pTuzjTOoIFznJeLGAqglJporlQZdqxxPyz9FDdiTjxgBP6ZK
+n7+ZFs456zcNXVg9lpO1q2iZuXOYy/rVSzfld52nmYO9Rj4Z8/nMDE7eD2ndziKg
+a15i4FurLoHJ5MbWAlk4uvnMy26Qgf3XIvyVtWmPq6siiMUQwbEXHD/2Lp4kC4d9
+QHjSfPzJaHQedHlTiixW82f9cS+SlSaEwYohXAevWssGlPvBdcxAIkW2Y3tm9fJW
+QVCxp8o1vakvBEqP1vdAKhWQpkvm8sEWEyg4GjcRQwXylK/Dl+HPYXSisC+5f1/a
+4snL/hIXfZHcACDd6ZLsGV+bkoKhx+z4ogSMbtZekpN1HE4DJGkFdBmFmTOLW3yZ
+nb8NwlX6xFlFlPtK4rYm
+=VUVt
+-----END PGP SIGNATURE-----
diff --git a/packages/react-native/android/com/bugsnag/bugsnag-plugin-android-anr/5.7.1-react-native/bugsnag-plugin-android-anr-5.7.1-react-native.aar b/packages/react-native/android/com/bugsnag/bugsnag-plugin-android-anr/5.8.0-react-native/bugsnag-plugin-android-anr-5.8.0-react-native.aar
similarity index 93%
rename from packages/react-native/android/com/bugsnag/bugsnag-plugin-android-anr/5.7.1-react-native/bugsnag-plugin-android-anr-5.7.1-react-native.aar
rename to packages/react-native/android/com/bugsnag/bugsnag-plugin-android-anr/5.8.0-react-native/bugsnag-plugin-android-anr-5.8.0-react-native.aar
index 7b87ed222d..c4ae415157 100644
Binary files a/packages/react-native/android/com/bugsnag/bugsnag-plugin-android-anr/5.7.1-react-native/bugsnag-plugin-android-anr-5.7.1-react-native.aar and b/packages/react-native/android/com/bugsnag/bugsnag-plugin-android-anr/5.8.0-react-native/bugsnag-plugin-android-anr-5.8.0-react-native.aar differ
diff --git a/packages/react-native/android/com/bugsnag/bugsnag-plugin-android-anr/5.8.0-react-native/bugsnag-plugin-android-anr-5.8.0-react-native.aar.asc b/packages/react-native/android/com/bugsnag/bugsnag-plugin-android-anr/5.8.0-react-native/bugsnag-plugin-android-anr-5.8.0-react-native.aar.asc
new file mode 100644
index 0000000000..a7f62f2ce1
--- /dev/null
+++ b/packages/react-native/android/com/bugsnag/bugsnag-plugin-android-anr/5.8.0-react-native/bugsnag-plugin-android-anr-5.8.0-react-native.aar.asc
@@ -0,0 +1,17 @@
+-----BEGIN PGP SIGNATURE-----
+Version: BCPG v1.64
+
+iQIcBAABCgAGBQJgWf0uAAoJEJAqRX/iyO/5n7QP/i672raYcLKn4MiHZN0wZBuP
+BpmuFB/2DuoHXlJKVN0PeW3WnJYK0zqeq0V3IldtYhmeUXkXOQb15AvW455OBupl
+/ZPHvCVelAtISGVvhv5tiUmxQS66Rz4j3BGmnXBzZddB9+yDVMElgfrRNi2GeGL/
+qcZ0mz7mOsF/T2uqclqUJQ0fEVSraGRwN/nYpiX962QebOeu9AMrMTmzm1dEQMay
+6QlnlCrK9ClC4cwdlYkweA9iz/CSfzDnqBzuyWyGXqW3p6lmcxYC/cpLH+hpcZS4
+7D5RWuJX9gIeyzQor+XY1dzALUsO1cv8RNfFBW+1bm+913VNZnCjHTV8vT/02Aqt
+yG70vSV3kIZlmhAB0/RTQy/Fp0mjbwV/vD56SFd3fnGgMUT/YH3/dzIf7cV8bVpo
+/JQN6xcKj+Y89x/GU2p7RGZUzgPD+J5Ktd/sFl19g/stvFEPhNcckvXc2o8d/lab
+sOB0TJfumxgNRFDkKWnw9th6cSOJ055kDq09IV6HOlGmKY8KGG3L+71F/Zx8Aln5
+EyWk7CBLvktObw6FByo+7MItnKOqjGxmuuruee8T3H+3dxCrDLXsX7vEVedXctSZ
+/LflMaMSVYnNmbuVE85s8bRJMC+C6LvtqA1t443R7wpHHzLYOld44BMbdWs3A48l
+e/t1zn1GaT/S3d6+DcHL
+=EwpX
+-----END PGP SIGNATURE-----
diff --git a/packages/react-native/android/com/bugsnag/bugsnag-plugin-android-anr/5.7.1-react-native/bugsnag-plugin-android-anr-5.7.1-react-native.module b/packages/react-native/android/com/bugsnag/bugsnag-plugin-android-anr/5.8.0-react-native/bugsnag-plugin-android-anr-5.8.0-react-native.module
similarity index 61%
rename from packages/react-native/android/com/bugsnag/bugsnag-plugin-android-anr/5.7.1-react-native/bugsnag-plugin-android-anr-5.7.1-react-native.module
rename to packages/react-native/android/com/bugsnag/bugsnag-plugin-android-anr/5.8.0-react-native/bugsnag-plugin-android-anr-5.8.0-react-native.module
index f393eb8037..6ef4f1e74e 100644
--- a/packages/react-native/android/com/bugsnag/bugsnag-plugin-android-anr/5.7.1-react-native/bugsnag-plugin-android-anr-5.7.1-react-native.module
+++ b/packages/react-native/android/com/bugsnag/bugsnag-plugin-android-anr/5.8.0-react-native/bugsnag-plugin-android-anr-5.8.0-react-native.module
@@ -3,7 +3,7 @@
"component": {
"group": "com.bugsnag",
"module": "bugsnag-plugin-android-anr",
- "version": "5.7.1-react-native",
+ "version": "5.8.0-react-native",
"attributes": {
"org.gradle.status": "release"
}
@@ -11,7 +11,7 @@
"createdBy": {
"gradle": {
"version": "6.7",
- "buildId": "tomffttf3rdo3a6ht7qqzwlrvq"
+ "buildId": "ojbjb5wnkvflrhzhr4giu2y7q4"
}
},
"variants": [
@@ -28,7 +28,7 @@
"group": "com.bugsnag",
"module": "bugsnag-android-core",
"version": {
- "requires": "5.7.1-react-native"
+ "requires": "5.8.0-react-native"
}
},
{
@@ -48,13 +48,13 @@
],
"files": [
{
- "name": "bugsnag-plugin-android-anr-5.7.1-react-native.aar",
- "url": "bugsnag-plugin-android-anr-5.7.1-react-native.aar",
- "size": 40866,
- "sha512": "5e200567b187770cb727661fd3e1698d8edf4fe78f9bf7f3134fd143a16e1afb65ca268a76b71ee8edf7f702ae1b21d43474c1e95fdb52f613eb36a0777136e7",
- "sha256": "5b42b46b7982939e0450c552d3d989d6e26251525a01e9f2200e99603153d9fb",
- "sha1": "bebbbad2926ad535d38c4b9851e0ab7a3f4aa95c",
- "md5": "dec62678248e72a55cc98142256e4637"
+ "name": "bugsnag-plugin-android-anr-5.8.0-react-native.aar",
+ "url": "bugsnag-plugin-android-anr-5.8.0-react-native.aar",
+ "size": 40884,
+ "sha512": "4c97467d63a2db238f6a37b589047cd420418469b0b6b05b602354a88c7ddbd8effa0751ae97ff071810c00737bcb126d65f1cb6cc6894f7dfdbff8ab84c01b9",
+ "sha256": "d054663d727929f91be15aefa6fa677d30a5e5913d5e30539b9a705ad042e08b",
+ "sha1": "50cb8ce28f086f3c59d3e8173f4fb40e99c5bb21",
+ "md5": "98c0dadadfd67bdd9ee96705c16ea81e"
}
]
},
@@ -71,7 +71,7 @@
"group": "com.bugsnag",
"module": "bugsnag-android-core",
"version": {
- "requires": "5.7.1-react-native"
+ "requires": "5.8.0-react-native"
}
},
{
@@ -91,13 +91,13 @@
],
"files": [
{
- "name": "bugsnag-plugin-android-anr-5.7.1-react-native.aar",
- "url": "bugsnag-plugin-android-anr-5.7.1-react-native.aar",
- "size": 40866,
- "sha512": "5e200567b187770cb727661fd3e1698d8edf4fe78f9bf7f3134fd143a16e1afb65ca268a76b71ee8edf7f702ae1b21d43474c1e95fdb52f613eb36a0777136e7",
- "sha256": "5b42b46b7982939e0450c552d3d989d6e26251525a01e9f2200e99603153d9fb",
- "sha1": "bebbbad2926ad535d38c4b9851e0ab7a3f4aa95c",
- "md5": "dec62678248e72a55cc98142256e4637"
+ "name": "bugsnag-plugin-android-anr-5.8.0-react-native.aar",
+ "url": "bugsnag-plugin-android-anr-5.8.0-react-native.aar",
+ "size": 40884,
+ "sha512": "4c97467d63a2db238f6a37b589047cd420418469b0b6b05b602354a88c7ddbd8effa0751ae97ff071810c00737bcb126d65f1cb6cc6894f7dfdbff8ab84c01b9",
+ "sha256": "d054663d727929f91be15aefa6fa677d30a5e5913d5e30539b9a705ad042e08b",
+ "sha1": "50cb8ce28f086f3c59d3e8173f4fb40e99c5bb21",
+ "md5": "98c0dadadfd67bdd9ee96705c16ea81e"
}
]
}
diff --git a/packages/react-native/android/com/bugsnag/bugsnag-plugin-android-anr/5.8.0-react-native/bugsnag-plugin-android-anr-5.8.0-react-native.module.asc b/packages/react-native/android/com/bugsnag/bugsnag-plugin-android-anr/5.8.0-react-native/bugsnag-plugin-android-anr-5.8.0-react-native.module.asc
new file mode 100644
index 0000000000..a939ef0b1c
--- /dev/null
+++ b/packages/react-native/android/com/bugsnag/bugsnag-plugin-android-anr/5.8.0-react-native/bugsnag-plugin-android-anr-5.8.0-react-native.module.asc
@@ -0,0 +1,17 @@
+-----BEGIN PGP SIGNATURE-----
+Version: BCPG v1.64
+
+iQIcBAABCgAGBQJgWf0uAAoJEJAqRX/iyO/57LoP/RsLY+SJhqYW/LNi1AXOunZV
+aU7vxeY80OkaON2dX92RbxZomlY6cl4XU/swbewIyqLdLP3ujvuXO4LtFOAsLZ5z
+cGWBJmO+RcFHjEslWpcUbyMlKWDTcHwxpW5VzZiBy4piRgUW/xqIv9/5+pq5HWZo
+rBqzrtfDj1o/hZRuXckLHfMxpVV3MLoT2vHU1Ee9eZ5ySEzppHRIkHp+02kxYk39
+omQJYs6elGt1XFdUi5w1ls5yjOrE7Dg8N+5BGM9O6MFnJjSVkBgPSmgERmr+JBFh
+qn4BH+1GERfq82JVLEBRyJnMUnS2ouN73/QfXhxrADkFLairA5p0pacdtcw2inYw
+kW/ZCDZge5z31ednNgqeF0sk5D1P2B508RcOBzsn5dyFxHGJCCNShl00shULHGlt
+SypXqyUdWXMA555CnT+QCrZPaprw02oHJBYlOmgGRUZanVr9/aPlhXuMEF8Heo9l
+zNaXSvk5xJUQvf7YfQYQuPeiY8/hkoeeJstlMpGELgrdWRlNJ1/8iEyRlCxNqbWI
+Ipbj6rb/dteEkK9c/x/8M77JJnDhHPytdsz4Al6t5Tje2E5J9XKe14wUcFhploKW
+Rg/fmm+e1DML4Zy8CICAIfRQRr/Z5EXOGowXURb/pDRTfp2wfWm2lBD/cG4yqwha
+K/VjkAVyTjmwdyk/tJNQ
+=KTpm
+-----END PGP SIGNATURE-----
diff --git a/packages/react-native/android/com/bugsnag/bugsnag-plugin-android-anr/5.7.1-react-native/bugsnag-plugin-android-anr-5.7.1-react-native.pom b/packages/react-native/android/com/bugsnag/bugsnag-plugin-android-anr/5.8.0-react-native/bugsnag-plugin-android-anr-5.8.0-react-native.pom
similarity index 95%
rename from packages/react-native/android/com/bugsnag/bugsnag-plugin-android-anr/5.7.1-react-native/bugsnag-plugin-android-anr-5.7.1-react-native.pom
rename to packages/react-native/android/com/bugsnag/bugsnag-plugin-android-anr/5.8.0-react-native/bugsnag-plugin-android-anr-5.8.0-react-native.pom
index 39b4073bc4..0a3886f498 100644
--- a/packages/react-native/android/com/bugsnag/bugsnag-plugin-android-anr/5.7.1-react-native/bugsnag-plugin-android-anr-5.7.1-react-native.pom
+++ b/packages/react-native/android/com/bugsnag/bugsnag-plugin-android-anr/5.8.0-react-native/bugsnag-plugin-android-anr-5.8.0-react-native.pom
@@ -9,7 +9,7 @@
4.0.0
com.bugsnag
bugsnag-plugin-android-anr
- 5.7.1-react-native
+ 5.8.0-react-native
aar
Bugsnag Android ANR
Official Bugsnag notifier for Android applications
@@ -36,7 +36,7 @@
com.bugsnag
bugsnag-android-core
- 5.7.1-react-native
+ 5.8.0-react-native
compile
diff --git a/packages/react-native/android/com/bugsnag/bugsnag-plugin-android-anr/5.8.0-react-native/bugsnag-plugin-android-anr-5.8.0-react-native.pom.asc b/packages/react-native/android/com/bugsnag/bugsnag-plugin-android-anr/5.8.0-react-native/bugsnag-plugin-android-anr-5.8.0-react-native.pom.asc
new file mode 100644
index 0000000000..16fe35bd31
--- /dev/null
+++ b/packages/react-native/android/com/bugsnag/bugsnag-plugin-android-anr/5.8.0-react-native/bugsnag-plugin-android-anr-5.8.0-react-native.pom.asc
@@ -0,0 +1,17 @@
+-----BEGIN PGP SIGNATURE-----
+Version: BCPG v1.64
+
+iQIcBAABCgAGBQJgWf0uAAoJEJAqRX/iyO/5CpkQAJ8KspAeZki2lEgWH9XZLFQN
+grdTj5ZbrkiAj7nmEapf4CdKstuN74D1FHxjED/vNyVOb0cT4wC0HQwF4vNhi/Ux
+FRYcUrx9GMMEKxbmXYhBT8PPTa3e0xkf95pCGfBuO9Iys3XzFoSrCacasbKjuj45
+KulJhehrj7Hysmq0r8HartHh4dMqklVxmj1u5b9kp3v2PmLsCL+N8QsSlWZz1gS8
+BIM0Ecg/nQlKb1U3B5LW5YF1z9lk1An19xNO0KbGDOBwtPv0uF0Q19gSzt/PCVrr
+P39Kd7ESKIxJP0V1QnbcpPcqRPJPyER25P/Css7mAOEQKwf2lGpcjDN9t2rgT6Cq
+8ZtD6Bz3vTA8vcH1YI3G12jfSppmVppXcrEiqo0LiNHDYdTgw6jmoN7UvhskF5gR
+0D6pDzbRATBq7lVvwnBrKSFvhcF1TqiOVTu7zH8p5L0RjRRM1IxWwLTawKWVDNje
+rHzMJ96phYTpt7qDgE24GFw6cWYH/kb6a8ycksDCsgt6sko6w/EYIhuD8peSU6OC
+WIlhTLgZVjpDrPE01oADkbVADr9SNmeyoOfO+NcOAUUhZjZBGpjjOgqi+pIdmrqQ
+gFujtNH4HqtKFzVQZFft9ANN2zoRgg4kx9/ZpDwWjc5w/cn3L1Yw5jnbsvdl95rq
+ukD2i8NPMTxLlVFgHyLP
+=RCwA
+-----END PGP SIGNATURE-----
diff --git a/packages/react-native/android/com/bugsnag/bugsnag-plugin-android-anr/maven-metadata-local.xml b/packages/react-native/android/com/bugsnag/bugsnag-plugin-android-anr/maven-metadata-local.xml
index 6419ff2f15..fd050b078e 100644
--- a/packages/react-native/android/com/bugsnag/bugsnag-plugin-android-anr/maven-metadata-local.xml
+++ b/packages/react-native/android/com/bugsnag/bugsnag-plugin-android-anr/maven-metadata-local.xml
@@ -3,11 +3,11 @@
com.bugsnag
bugsnag-plugin-android-anr
- 5.7.1-react-native
- 5.7.1-react-native
+ 5.8.0-react-native
+ 5.8.0-react-native
- 5.7.1-react-native
+ 5.8.0-react-native
- 20210303155117
+ 20210323143734
diff --git a/packages/react-native/android/com/bugsnag/bugsnag-plugin-android-ndk/5.7.1-react-native/bugsnag-plugin-android-ndk-5.7.1-react-native-sources.jar b/packages/react-native/android/com/bugsnag/bugsnag-plugin-android-ndk/5.7.1-react-native/bugsnag-plugin-android-ndk-5.7.1-react-native-sources.jar
deleted file mode 100644
index 848eafd5e8..0000000000
Binary files a/packages/react-native/android/com/bugsnag/bugsnag-plugin-android-ndk/5.7.1-react-native/bugsnag-plugin-android-ndk-5.7.1-react-native-sources.jar and /dev/null differ
diff --git a/packages/react-native/android/com/bugsnag/bugsnag-plugin-android-ndk/5.7.1-react-native/bugsnag-plugin-android-ndk-5.7.1-react-native-sources.jar.asc b/packages/react-native/android/com/bugsnag/bugsnag-plugin-android-ndk/5.7.1-react-native/bugsnag-plugin-android-ndk-5.7.1-react-native-sources.jar.asc
deleted file mode 100644
index 3f707f4e65..0000000000
--- a/packages/react-native/android/com/bugsnag/bugsnag-plugin-android-ndk/5.7.1-react-native/bugsnag-plugin-android-ndk-5.7.1-react-native-sources.jar.asc
+++ /dev/null
@@ -1,17 +0,0 @@
------BEGIN PGP SIGNATURE-----
-Version: BCPG v1.64
-
-iQIcBAABCgAGBQJgP7B9AAoJEJAqRX/iyO/5+IsQALKAayCSxpt+cvj5KPvtp8yY
-AfNVhnM7Otkc0DqJDiynSUdg7hknmGZl/lkXqErCNzrWSV1uPlX0axFL0hkIKxcX
-EUh/agQQSv7F10Nh1GJiQt9NOogzhDz/sS6q2TXW1eZ+J2AKmgg1bIbh5WH743Hl
-uui6U+ypFsEfL1eyS8BLx0h7TRbH3I7Yyy7sN15cPQvzuVtvbT51iljN1ceXCQ4J
-G78sCDpjk+xDYtxYnM1lcbMK+UJEUifeapuNtVaIkk5JGjRu++/KZI98CKd7zddZ
-NUQizkGKVyHIY2rsZB8SSrMee6o4fFH8MSld8oB7q5UjQC2HTODaHpyUvFsroJjx
-gO9EeG3kj8JvSZL/7g3s5cfF/E6jpHZNIsH3mgZGnVib7/GMB4NoMmihzaSt2Vgr
-vICuWjwl3ykbgOK842evOIQ34JidR/z3A8I6Y3g82aOQyiA9hK5PstB6M1BKVfts
-SIYToCJ41sBVrVQbppRL9aMulUMJTfRR438BY1d+ujJdtcw3l4R70oJCYXFUGI3K
-K/dG3utbA2mTZdaSsgInme4IGTGXwUZdZGQQFYMoaunuCyjWBkMrhQQQkGGp4Wco
-UukJ6mgE4h8qz1vQxIRJ65jMhAG1iohpwv19MaMhwVnwpt+pFtRb3E9NY8AwMzMp
-J0AadLM3pRuG/+wn9QcF
-=m9+m
------END PGP SIGNATURE-----
diff --git a/packages/react-native/android/com/bugsnag/bugsnag-plugin-android-ndk/5.7.1-react-native/bugsnag-plugin-android-ndk-5.7.1-react-native.aar b/packages/react-native/android/com/bugsnag/bugsnag-plugin-android-ndk/5.7.1-react-native/bugsnag-plugin-android-ndk-5.7.1-react-native.aar
deleted file mode 100644
index 2b5602867f..0000000000
Binary files a/packages/react-native/android/com/bugsnag/bugsnag-plugin-android-ndk/5.7.1-react-native/bugsnag-plugin-android-ndk-5.7.1-react-native.aar and /dev/null differ
diff --git a/packages/react-native/android/com/bugsnag/bugsnag-plugin-android-ndk/5.7.1-react-native/bugsnag-plugin-android-ndk-5.7.1-react-native.aar.asc b/packages/react-native/android/com/bugsnag/bugsnag-plugin-android-ndk/5.7.1-react-native/bugsnag-plugin-android-ndk-5.7.1-react-native.aar.asc
deleted file mode 100644
index f827b95739..0000000000
--- a/packages/react-native/android/com/bugsnag/bugsnag-plugin-android-ndk/5.7.1-react-native/bugsnag-plugin-android-ndk-5.7.1-react-native.aar.asc
+++ /dev/null
@@ -1,17 +0,0 @@
------BEGIN PGP SIGNATURE-----
-Version: BCPG v1.64
-
-iQIcBAABCgAGBQJgP7B9AAoJEJAqRX/iyO/5kHMQAIqDSw6VX7wetckjFdSu/Jmk
-RYjOrqnPHI2uQ1KVeHEYPaK5sytspIS9/kbdyR/GDyLpB1VZJzQE1FEY6+nA20eP
-maLNmj/w5hlMMvZu62wW+/NMPcuwbZpApiAUqYtTQYbs7wrsYFIthiPqPI4KfV5Y
-YGQ4VA9M/DTChjIPFKqOiS6QRE/NjH2vol3M2KfwHe4i39YUjKzKUt30VZWZglQf
-dyIemc0/CsL+z3dvopGvqyVj9GJw3cutHrYahXa0mT7b/D+kIGuvwMvFuOXAj4R9
-sYXTDCPBKFvkbSD4KiHnkPAKHQz/vEUuaTu3FR+vZV0D9j+T7VsuBFokF5hGxRU+
-9SnjK0khC6PxIjEje/G49s9/NtCipgOXocV6/eBphdwJu61e6LOew1dUbJOpd7Ni
-ipiUo6BtjjYd1/Idyy7GSU2tpQTYycG/IJxZFVlah0RImaBxCq7hA9m16oWGsZWS
-wFneSXBk+JP9LSiLXubP3Pa0ctGKFFoRFb1vjNrRy7nnja+jT8UG4Ma078rh6fuP
-6OhihMW7gYvgHq73PzmFXfk7N7HC229iTatMt6Ulv8KeNwzd3lYcr9pxUU1MwJbM
-61LRmY/mL4EGVB3FBRbDcwA2thAwxhN6iHWqqRa6eEGwP+z4D0dHE3P4Do5OjIqy
-nTmCG4KOWWEM6VIDo7hC
-=ngIR
------END PGP SIGNATURE-----
diff --git a/packages/react-native/android/com/bugsnag/bugsnag-plugin-android-ndk/5.7.1-react-native/bugsnag-plugin-android-ndk-5.7.1-react-native.module.asc b/packages/react-native/android/com/bugsnag/bugsnag-plugin-android-ndk/5.7.1-react-native/bugsnag-plugin-android-ndk-5.7.1-react-native.module.asc
deleted file mode 100644
index d8cfb65784..0000000000
--- a/packages/react-native/android/com/bugsnag/bugsnag-plugin-android-ndk/5.7.1-react-native/bugsnag-plugin-android-ndk-5.7.1-react-native.module.asc
+++ /dev/null
@@ -1,17 +0,0 @@
------BEGIN PGP SIGNATURE-----
-Version: BCPG v1.64
-
-iQIcBAABCgAGBQJgP7B9AAoJEJAqRX/iyO/5fyUQAIi+vhDcAM6PXEl7BNn/6nwq
-5QcR/vTuL/7GGGT8Kms3YZBvLiVBXBWOLT/kej2/1JpFIzXZ07H6UUkLOx2K9a3V
-Ig2HEI53BOII+oekcM7WjY43UQtufV5e2+BcqR0hFDVIb0XzzgQJsgBj8srlZmt2
-qzySNAPcupWaBn9W6lnaQYXeyfLMRnCI4AiuJAiR3xGtG7YMZb+oebCKAtGdHFBt
-aOklb7BC58NpZx3Yz35q8Ydl+S9YVyYgIVZn0Z0QA3DM+lmKC2XTwhxRkxNELsuo
-APuaSplErYnMCC3ujIOzCWlGPSxaTHde4OBe+O07Xx5bJ5naYLT/OhbJH3QeXucx
-0ctiHJY2J291Zm9i/8MkYtMEWx0vhWznnwjh2IqyMOUxKEnmGViMNeFxLg6jdRln
-EalEZ1n93ruEfB0nPpHTXnIVEKyTya4eWgsBEjkt3pKXNSBRMQQ/a0JmrVEt8bCd
-oHcVhpld6NZE5n6ODwPjmHEvzUtQVBr8gS7LAl5gpBXWD0NEaTCbGcmZGWyYdt1V
-0RtJkwAo5KYU17PSwHyeapCPEeP2ej6BfB9eVb0Rzw/b7nGVt8a3G/3uSe2Zhre0
-tXfTt0kbfr3sCah3lhuHNu9MmLb9Xvi26qZPHODNfVlU5mO8rsOLWF/A1h+Ls1MX
-Z/RibN7G3y5UzxneKHmi
-=Fw3G
------END PGP SIGNATURE-----
diff --git a/packages/react-native/android/com/bugsnag/bugsnag-plugin-android-ndk/5.7.1-react-native/bugsnag-plugin-android-ndk-5.7.1-react-native.pom.asc b/packages/react-native/android/com/bugsnag/bugsnag-plugin-android-ndk/5.7.1-react-native/bugsnag-plugin-android-ndk-5.7.1-react-native.pom.asc
deleted file mode 100644
index 368317b51c..0000000000
--- a/packages/react-native/android/com/bugsnag/bugsnag-plugin-android-ndk/5.7.1-react-native/bugsnag-plugin-android-ndk-5.7.1-react-native.pom.asc
+++ /dev/null
@@ -1,17 +0,0 @@
------BEGIN PGP SIGNATURE-----
-Version: BCPG v1.64
-
-iQIcBAABCgAGBQJgP7B9AAoJEJAqRX/iyO/5qfAQAI3T7aHUMAItdeLb89R1CwHK
-Bn8t54etPH78BJZKb8jq3tWgi51kOrqKM5MTkca2JHqAfGY32TPN+1StW8aSZgAf
-bTYzME4b4JAD838PQ5eZjZ5giYeOPvjoODGysUy/cCxZ8tT2YKiRlylca2YA6dPs
-6XkBjKb75FObJDnujPoopJwlAH8AqmMlHktIM3BbN0T8jRnucts55f4D0ANf3ZVq
-OBeo3kWMwGmYDeBUUxiEJJVMu0AVl42iiKpFtA77WkS4S+nf7lB1pVukl4Sv3kZU
-7RutjFXm8QPN7SgEiRG5RsDXu3YR3sqXbbgSqHyV+KQuaMR0gkl8KF9gIEnvQUp1
-tt2h788c7TRvdG2E52yGdv0TFd3MpW1zTJulCPBkO9k8+d0Vjbc3604DDcBLpTaO
-CSFs/VTsZGzo1ikVeg8s26lamHo7bRzQsSpeLrdJx+ZIncAPyVjOHTeHhziAwPtp
-8YStQg24VAgSKU594FwkPD/PB2opblTyYrmk6AbwBv53kt5sdTtmR1V6SlNXu+dT
-beTMx1BRx/STXXuj6BVpBFP5N5lpxIkF0+gc2akSXeWFrb3w/nvIJd5yUBdsD7HS
-nHq9Kd2LYFNNPCxjACoMiTnkpr5vyTM43w/0g1kWLj5c079P0h0bTaYTESPAeY/q
-zBKJBhMEhhZVVndFz0az
-=z0EV
------END PGP SIGNATURE-----
diff --git a/packages/react-native/android/com/bugsnag/bugsnag-plugin-android-ndk/5.8.0-react-native/bugsnag-plugin-android-ndk-5.8.0-react-native-sources.jar b/packages/react-native/android/com/bugsnag/bugsnag-plugin-android-ndk/5.8.0-react-native/bugsnag-plugin-android-ndk-5.8.0-react-native-sources.jar
new file mode 100644
index 0000000000..5e0b968493
Binary files /dev/null and b/packages/react-native/android/com/bugsnag/bugsnag-plugin-android-ndk/5.8.0-react-native/bugsnag-plugin-android-ndk-5.8.0-react-native-sources.jar differ
diff --git a/packages/react-native/android/com/bugsnag/bugsnag-plugin-android-ndk/5.8.0-react-native/bugsnag-plugin-android-ndk-5.8.0-react-native-sources.jar.asc b/packages/react-native/android/com/bugsnag/bugsnag-plugin-android-ndk/5.8.0-react-native/bugsnag-plugin-android-ndk-5.8.0-react-native-sources.jar.asc
new file mode 100644
index 0000000000..610b7b0347
--- /dev/null
+++ b/packages/react-native/android/com/bugsnag/bugsnag-plugin-android-ndk/5.8.0-react-native/bugsnag-plugin-android-ndk-5.8.0-react-native-sources.jar.asc
@@ -0,0 +1,17 @@
+-----BEGIN PGP SIGNATURE-----
+Version: BCPG v1.64
+
+iQIcBAABCgAGBQJgWf0vAAoJEJAqRX/iyO/5kskP/0URPQ4bCuok/xwmVNvHsyZZ
+YwSDruTRstsW5P+OW8sPaHr2eKAeO3+aeMrATqeJl9stI6fmaSHrU440jMlPh3jC
+e74UOTjSerc40li6AiI2I4aO3CmzTaF256tfRHB7s1qKA4tARLSMga12er4k9EDh
+6G24JtdgBOYQY2GCz1Mjd2f1dM2PAT5pfhXR9TXQPdeTtjESKUuw6b5wVGZ4V4yB
+EH0dm+N6i/WUE0X5ht0C4Pz9Brxk/ZkuHo6TMsYJEmJ/FuzEGPex70OqVjjiJodX
+vOYnWwXoyF6M2VDvuSAWxaj4/Pd4RbpOi12joo+ozeXcj7XQ9n1U85haA3AyWrPj
+cPXaZzA3KJE+qJqTVSpb3X1O4f0kgHfW0J1d84oaEghYdda31rg8+NyiqQEIoLOS
+DaSOFGQNBoXm//U2vBKH8gvx8dTDR6W7bklQ3mXIct6YFa5YmZr5Bsyr5pybawKD
+F90RK7BNP1C+5g+/WklfUWOvjogRhka4lX5GgveVippbFdurLwGDDQuoitZxFySE
+twYBAP6cyZISuKjuYZIwkLB/f61aLlOLhgj7u+FJjOA+hj91w7Bn24bTNWJTFgQG
+hJXlW/DW4BsgnsIOXWlH9MWfkyP60+TwBrbssqKWSg8msbN11FLZN8Gjy2VUJ/PW
+FnEL1cof0h/S0m0e0xfd
+=jklU
+-----END PGP SIGNATURE-----
diff --git a/packages/react-native/android/com/bugsnag/bugsnag-plugin-android-ndk/5.8.0-react-native/bugsnag-plugin-android-ndk-5.8.0-react-native.aar b/packages/react-native/android/com/bugsnag/bugsnag-plugin-android-ndk/5.8.0-react-native/bugsnag-plugin-android-ndk-5.8.0-react-native.aar
new file mode 100644
index 0000000000..af02469279
Binary files /dev/null and b/packages/react-native/android/com/bugsnag/bugsnag-plugin-android-ndk/5.8.0-react-native/bugsnag-plugin-android-ndk-5.8.0-react-native.aar differ
diff --git a/packages/react-native/android/com/bugsnag/bugsnag-plugin-android-ndk/5.8.0-react-native/bugsnag-plugin-android-ndk-5.8.0-react-native.aar.asc b/packages/react-native/android/com/bugsnag/bugsnag-plugin-android-ndk/5.8.0-react-native/bugsnag-plugin-android-ndk-5.8.0-react-native.aar.asc
new file mode 100644
index 0000000000..0ee90124eb
--- /dev/null
+++ b/packages/react-native/android/com/bugsnag/bugsnag-plugin-android-ndk/5.8.0-react-native/bugsnag-plugin-android-ndk-5.8.0-react-native.aar.asc
@@ -0,0 +1,17 @@
+-----BEGIN PGP SIGNATURE-----
+Version: BCPG v1.64
+
+iQIcBAABCgAGBQJgWf0vAAoJEJAqRX/iyO/5JhEQAIPolEXwr/WP5qRfB5xOR6L7
+qhiB9QvBKvhsLkFcRNEQfxFHAoPdpPVrHS0J/dEmeIYTfOhmIE2lqtcXdj9PSXh0
+iS1wuYsz+sQBOVePd+k+sdKBN7MIG1hs3JIUAJ6MwF2FRW/AWIwjx2kneowqOwpp
+83RGKBoE+/hexR2fgLz7Da4486QPJcvi0XzH3SfWW3lcGgnuK5YgK8WC/AzGQpZp
+Qrfh2OMxDzd8fMn+Yyrh/qMBrLdsgYYtDN1rKDjwAvYBfCmBKOlnOr7X0LpqZDLY
+ZGMD4EkoieRp5WgMkyx5XzeZ3n5cWFg4MzkmO9Ko0GH3BYS+icO8YV2B70k9+mtX
+D6EuWbYOR2Bygzap5FKBOP30PpwHOPQdGFMFY+vU83YgM81223dqmZyTh/f4va4M
+C73TcLldMSAPC01KRnlT3d6/3FV7FIjY3oe0EZPAeTGh6rRf4/6ld2mJKjzbgC8w
+WzlnNGG8iYElzD3Qi/qnTc9cHawkzWwK6q3JZ2tJsD16i8azwW/dDSNBNBNOfJJx
+Nh/mTGxgihe3fWVc1DavOaeepXRDw3nHO86X8zxapLUrczx9EKa3DH5M8wy6mGt1
+Wkjf4Pb5TLDk27KHk+ts5cg5i7NnPcZ+wA5BQJG+HU1nmUoKtExzQjSBXhKLsPy/
+DyLTB+CGtJjROuCXCtMx
+=L5Fp
+-----END PGP SIGNATURE-----
diff --git a/packages/react-native/android/com/bugsnag/bugsnag-plugin-android-ndk/5.7.1-react-native/bugsnag-plugin-android-ndk-5.7.1-react-native.module b/packages/react-native/android/com/bugsnag/bugsnag-plugin-android-ndk/5.8.0-react-native/bugsnag-plugin-android-ndk-5.8.0-react-native.module
similarity index 61%
rename from packages/react-native/android/com/bugsnag/bugsnag-plugin-android-ndk/5.7.1-react-native/bugsnag-plugin-android-ndk-5.7.1-react-native.module
rename to packages/react-native/android/com/bugsnag/bugsnag-plugin-android-ndk/5.8.0-react-native/bugsnag-plugin-android-ndk-5.8.0-react-native.module
index 43833f3924..bced741287 100644
--- a/packages/react-native/android/com/bugsnag/bugsnag-plugin-android-ndk/5.7.1-react-native/bugsnag-plugin-android-ndk-5.7.1-react-native.module
+++ b/packages/react-native/android/com/bugsnag/bugsnag-plugin-android-ndk/5.8.0-react-native/bugsnag-plugin-android-ndk-5.8.0-react-native.module
@@ -3,7 +3,7 @@
"component": {
"group": "com.bugsnag",
"module": "bugsnag-plugin-android-ndk",
- "version": "5.7.1-react-native",
+ "version": "5.8.0-react-native",
"attributes": {
"org.gradle.status": "release"
}
@@ -11,7 +11,7 @@
"createdBy": {
"gradle": {
"version": "6.7",
- "buildId": "tomffttf3rdo3a6ht7qqzwlrvq"
+ "buildId": "ojbjb5wnkvflrhzhr4giu2y7q4"
}
},
"variants": [
@@ -28,7 +28,7 @@
"group": "com.bugsnag",
"module": "bugsnag-android-core",
"version": {
- "requires": "5.7.1-react-native"
+ "requires": "5.8.0-react-native"
}
},
{
@@ -48,13 +48,13 @@
],
"files": [
{
- "name": "bugsnag-plugin-android-ndk-5.7.1-react-native.aar",
- "url": "bugsnag-plugin-android-ndk-5.7.1-react-native.aar",
- "size": 1107677,
- "sha512": "3a6f3b177313494b0764b438ff82bb544068b1939b41892372987a40c6a534892f8611188a3330fc9b9f440812f99a9f0a787f704d8de79b62ed43890ba06ed2",
- "sha256": "4098a719cea2cff20e7e4d313d9441876c9b550b1a087f561e7ffd17ed43bf43",
- "sha1": "7d74ebe71636421da4632882cc0805a07e8f273d",
- "md5": "e718582e14160333392d526521670061"
+ "name": "bugsnag-plugin-android-ndk-5.8.0-react-native.aar",
+ "url": "bugsnag-plugin-android-ndk-5.8.0-react-native.aar",
+ "size": 1111804,
+ "sha512": "2ecdb394bf48077f3952e4cea23abc1b338dd2181190e62306d0f1ba3907ca6d2704910b4c3e6b9268344b66ac631ec87f20ef57014532afd17abd8bff53d381",
+ "sha256": "62c2ec9d9a511f0df441dfa08922881e3e667abcc74f9f601f7aad1bf628a7bf",
+ "sha1": "13e6a271f28f6c3ebac8b27af95722d8e0099ec0",
+ "md5": "aa8f5ed33657742cf3e53539336ddd63"
}
]
},
@@ -71,7 +71,7 @@
"group": "com.bugsnag",
"module": "bugsnag-android-core",
"version": {
- "requires": "5.7.1-react-native"
+ "requires": "5.8.0-react-native"
}
},
{
@@ -91,13 +91,13 @@
],
"files": [
{
- "name": "bugsnag-plugin-android-ndk-5.7.1-react-native.aar",
- "url": "bugsnag-plugin-android-ndk-5.7.1-react-native.aar",
- "size": 1107677,
- "sha512": "3a6f3b177313494b0764b438ff82bb544068b1939b41892372987a40c6a534892f8611188a3330fc9b9f440812f99a9f0a787f704d8de79b62ed43890ba06ed2",
- "sha256": "4098a719cea2cff20e7e4d313d9441876c9b550b1a087f561e7ffd17ed43bf43",
- "sha1": "7d74ebe71636421da4632882cc0805a07e8f273d",
- "md5": "e718582e14160333392d526521670061"
+ "name": "bugsnag-plugin-android-ndk-5.8.0-react-native.aar",
+ "url": "bugsnag-plugin-android-ndk-5.8.0-react-native.aar",
+ "size": 1111804,
+ "sha512": "2ecdb394bf48077f3952e4cea23abc1b338dd2181190e62306d0f1ba3907ca6d2704910b4c3e6b9268344b66ac631ec87f20ef57014532afd17abd8bff53d381",
+ "sha256": "62c2ec9d9a511f0df441dfa08922881e3e667abcc74f9f601f7aad1bf628a7bf",
+ "sha1": "13e6a271f28f6c3ebac8b27af95722d8e0099ec0",
+ "md5": "aa8f5ed33657742cf3e53539336ddd63"
}
]
}
diff --git a/packages/react-native/android/com/bugsnag/bugsnag-plugin-android-ndk/5.8.0-react-native/bugsnag-plugin-android-ndk-5.8.0-react-native.module.asc b/packages/react-native/android/com/bugsnag/bugsnag-plugin-android-ndk/5.8.0-react-native/bugsnag-plugin-android-ndk-5.8.0-react-native.module.asc
new file mode 100644
index 0000000000..c55e9b1dbe
--- /dev/null
+++ b/packages/react-native/android/com/bugsnag/bugsnag-plugin-android-ndk/5.8.0-react-native/bugsnag-plugin-android-ndk-5.8.0-react-native.module.asc
@@ -0,0 +1,17 @@
+-----BEGIN PGP SIGNATURE-----
+Version: BCPG v1.64
+
+iQIcBAABCgAGBQJgWf0vAAoJEJAqRX/iyO/5UywP/RTGvO2K6unfWi4P/UV5K6pe
+qDrCUsLhxlX+hdxcpnkztqojUHlzZoKX9YpwjXtXbtkniw7l65S98TnEJHHmrvlE
+dpPWoMqqgilvW0VWxmxV3uE/xwG2EkT34T/qJnZktFIHqulwyQ+p7YjtKXWpksVU
+RqCIq6iqqDWYwabSnExkf4cmvl25sJRChkj0yGWMa8jH2P9Mty1Loj6VivH9AFdv
+17MDfwOKgYuIJTLhkznYWybN4CTzydLWibNZUYrI4L9HcAM+oXS/xqhMYZDDT/lR
+g5WHukDp2agIZd/WOZlh5Yu4svC4YF4nN0CsrRp1uvIG4D2q8FJSh/Faci5UYMyk
+K34WTpfAGexX/B6ommD9m4YfSimywPOh03BceSSV8KDfgAgpBn4Ems1i0alidHkQ
++bHnVgonJaE1BAT+1Hqh5M7aaBKFvrHdELFYkZ2T2H5FboVw0M9SDUJwV74A1ERT
+mVoVTnOnJ6Zg+VETNuENJGqJF65XE+lpsCl+1bQYWz00o/agErvX5QHHHXcqLVhQ
+1G6hTbNAGhv91bstRNm3CUxKm6kpYbbywzPv7+R7Yfetx2tA43LF5MJBxW7s8PR2
+y7xITkp588St+HPRqHlcfEx8xT/8xNb1tchMdXgeDnunokk5DhQx+9bE5wqbNWIx
+T5rb89/yjIJ1vinU1Fh4
+=GQg2
+-----END PGP SIGNATURE-----
diff --git a/packages/react-native/android/com/bugsnag/bugsnag-plugin-android-ndk/5.7.1-react-native/bugsnag-plugin-android-ndk-5.7.1-react-native.pom b/packages/react-native/android/com/bugsnag/bugsnag-plugin-android-ndk/5.8.0-react-native/bugsnag-plugin-android-ndk-5.8.0-react-native.pom
similarity index 95%
rename from packages/react-native/android/com/bugsnag/bugsnag-plugin-android-ndk/5.7.1-react-native/bugsnag-plugin-android-ndk-5.7.1-react-native.pom
rename to packages/react-native/android/com/bugsnag/bugsnag-plugin-android-ndk/5.8.0-react-native/bugsnag-plugin-android-ndk-5.8.0-react-native.pom
index 6872695c17..70b3474ea5 100644
--- a/packages/react-native/android/com/bugsnag/bugsnag-plugin-android-ndk/5.7.1-react-native/bugsnag-plugin-android-ndk-5.7.1-react-native.pom
+++ b/packages/react-native/android/com/bugsnag/bugsnag-plugin-android-ndk/5.8.0-react-native/bugsnag-plugin-android-ndk-5.8.0-react-native.pom
@@ -9,7 +9,7 @@
4.0.0
com.bugsnag
bugsnag-plugin-android-ndk
- 5.7.1-react-native
+ 5.8.0-react-native
aar
Bugsnag Android NDK
Official Bugsnag notifier for Android applications
@@ -36,7 +36,7 @@
com.bugsnag
bugsnag-android-core
- 5.7.1-react-native
+ 5.8.0-react-native
compile
diff --git a/packages/react-native/android/com/bugsnag/bugsnag-plugin-android-ndk/5.8.0-react-native/bugsnag-plugin-android-ndk-5.8.0-react-native.pom.asc b/packages/react-native/android/com/bugsnag/bugsnag-plugin-android-ndk/5.8.0-react-native/bugsnag-plugin-android-ndk-5.8.0-react-native.pom.asc
new file mode 100644
index 0000000000..522d091b50
--- /dev/null
+++ b/packages/react-native/android/com/bugsnag/bugsnag-plugin-android-ndk/5.8.0-react-native/bugsnag-plugin-android-ndk-5.8.0-react-native.pom.asc
@@ -0,0 +1,17 @@
+-----BEGIN PGP SIGNATURE-----
+Version: BCPG v1.64
+
+iQIcBAABCgAGBQJgWf0vAAoJEJAqRX/iyO/5WmAP/jLUnt98AatYS4QK10QJayP0
+ZnzHjNC3ShwjOW3f/QPEIGlxm/sLpk2tzkykDPtBhOrs5Yd+TSC/FT8TSEqBGDJE
+0ZMrT4uwYcqBVEUyletoPlOf0GqCpufxZ684fbE3u7try56B60CNoO/9Uf9A6lpd
+EAALcJC5Egtf1Z4VF6fUzqyotG/Uhkv0hr7fhSNuJFHlib2zy0pN4/z/RDPFY55/
+Bz5CT9Fyg5FQ2F0Vx5dD6CemnJNWRz2/rfBKYCh6yog2jFQJ1eXePEM0Db/NR487
+IJH5MLnXT3oJRBvjf4jnOO+Gh8+zUb/auK6xpQy4bzbGMdtOUsLR/ZtHy+6H1gCd
+uTuQYOwUE2dYUmMQO0D7sYpDSsaTWj0mJW5CTjD+DiVbuX1kwr+yWJS+ED/T6/cP
+t21lCIvI/JAViHrvva4T4u+gZg9KvezFB/IV0kh5veVUtnl6FOAW+wmHYIlbfJbr
+DPjyAjLkPUQkes09ydEUrZDgmgwXhO8hUhevbhVKxyJUED86EPA+jmNsjyBNqbzp
+vQP+RWxkmkOkLfU6Cvzs4upswgEl974UNm5pBUO+ahbludBzGwrCKWqM8yEUk/rP
+o8mq+F2dwM9mt34TGkDkHBrKtrVFK7NPlwxh4T5NcwegUWSvmSJvjsBpn+Jbf365
+46WxOOnkZHXXLm3k0j0a
+=aYIR
+-----END PGP SIGNATURE-----
diff --git a/packages/react-native/android/com/bugsnag/bugsnag-plugin-android-ndk/maven-metadata-local.xml b/packages/react-native/android/com/bugsnag/bugsnag-plugin-android-ndk/maven-metadata-local.xml
index 23cb9bd2f2..f6b90e62ca 100644
--- a/packages/react-native/android/com/bugsnag/bugsnag-plugin-android-ndk/maven-metadata-local.xml
+++ b/packages/react-native/android/com/bugsnag/bugsnag-plugin-android-ndk/maven-metadata-local.xml
@@ -3,11 +3,11 @@
com.bugsnag
bugsnag-plugin-android-ndk
- 5.7.1-react-native
- 5.7.1-react-native
+ 5.8.0-react-native
+ 5.8.0-react-native
- 5.7.1-react-native
+ 5.8.0-react-native
- 20210303155125
+ 20210323143735
diff --git a/packages/react-native/android/com/bugsnag/bugsnag-plugin-react-native/5.7.1-react-native/bugsnag-plugin-react-native-5.7.1-react-native-sources.jar.asc b/packages/react-native/android/com/bugsnag/bugsnag-plugin-react-native/5.7.1-react-native/bugsnag-plugin-react-native-5.7.1-react-native-sources.jar.asc
deleted file mode 100644
index 7d6fd49632..0000000000
--- a/packages/react-native/android/com/bugsnag/bugsnag-plugin-react-native/5.7.1-react-native/bugsnag-plugin-react-native-5.7.1-react-native-sources.jar.asc
+++ /dev/null
@@ -1,17 +0,0 @@
------BEGIN PGP SIGNATURE-----
-Version: BCPG v1.64
-
-iQIcBAABCgAGBQJgP7B1AAoJEJAqRX/iyO/5TrsQAJYCkXCfYDe3UaeoZUKFDt4P
-2Cb2L3miHjiBCbFk5YQxS7GG1Dzj6CdJgo1PAHGajEn/GgpJ1Tld/5i3Gzmov+oT
-UQS+fLngCPWnCnvv3UIbSxSLvotVms8hY/4Zgs447n0V9bLz+GP7LKIa0GJLNIs2
-wsZla+mowYHDDmXGRcQZTobqocXl3McRgWAuVH5b+BSAgnh9/ENkSno8JIg98czY
-2Tz9PdMOGj3cFr6rpdX6TYnja7Cm6a2uPEST0Hy3DwM7EAjdFa1MQcJL6CfCeS6G
-igxlFSvEfYUP4aBu6BOnwFPVFn6eyK3rBpk8fqHTXURLhN9XrC6leVBdfhzZc3Kr
-EutDPzM9O7UCZeYX5YdQksfv9JLvZLKk1B1nA6gVpDj2cTVbX/4oeaFvsrtRwePt
-KyNE8RwP9nBQoMR4DjdbmSnRIYCrh6X5a5JgfkJCN+N0avSFsh6JPJpiP3YG2i/4
-G2stswWAlGer6XaDwNwb2X/QBOL+aahc5QjZaHf/DYv8FhMgNV3ZLvF7hxcuHDL1
-nROSOG1DW5I/6wDuDsdhb4j65ARsMyVL+4lyt3lCiXiEMh4Czg+OvF8aGN0ZA+8f
-uiR/NW0/UPcfmS3z0C/eGz0jjtQaav3MdTWk/ZMABzVBRzmNWxO205zkrZAu1vOA
-RYEmikBIrobSQhvUwoq0
-=/gDE
------END PGP SIGNATURE-----
diff --git a/packages/react-native/android/com/bugsnag/bugsnag-plugin-react-native/5.7.1-react-native/bugsnag-plugin-react-native-5.7.1-react-native.aar b/packages/react-native/android/com/bugsnag/bugsnag-plugin-react-native/5.7.1-react-native/bugsnag-plugin-react-native-5.7.1-react-native.aar
deleted file mode 100644
index 662d07064e..0000000000
Binary files a/packages/react-native/android/com/bugsnag/bugsnag-plugin-react-native/5.7.1-react-native/bugsnag-plugin-react-native-5.7.1-react-native.aar and /dev/null differ
diff --git a/packages/react-native/android/com/bugsnag/bugsnag-plugin-react-native/5.7.1-react-native/bugsnag-plugin-react-native-5.7.1-react-native.aar.asc b/packages/react-native/android/com/bugsnag/bugsnag-plugin-react-native/5.7.1-react-native/bugsnag-plugin-react-native-5.7.1-react-native.aar.asc
deleted file mode 100644
index 5778679e21..0000000000
--- a/packages/react-native/android/com/bugsnag/bugsnag-plugin-react-native/5.7.1-react-native/bugsnag-plugin-react-native-5.7.1-react-native.aar.asc
+++ /dev/null
@@ -1,17 +0,0 @@
------BEGIN PGP SIGNATURE-----
-Version: BCPG v1.64
-
-iQIcBAABCgAGBQJgP7B2AAoJEJAqRX/iyO/5TkgP/R6BGtx5q5pzGZmTy0m2g9kr
-dHfc9/fDDW4+MWYbJJyfhsZ6ZpQYDt4XwDoqPNhHPJ4E9tOrVBpsv9Fu20a8IIbo
-YskKd6qshgH9d91ZT5GuP+WQhWm+44VAVqWl4qVGP3fGWweBww+aWLiGBObBLlGP
-g8tdp0CHRPU1GJn48r92SUFhBvdeFu9dNIthHY23ql2gVIHRqVvBRGMC+lxgvIWy
-7lSJyG7P19uquT0+lONxnylh54M2aKDrBABOdqaHVe9zbIEUg0rO9dPfRULYIHLM
-bPgmNS1WtjJn7OJkKaaVqObZKW3fShs7b6XOeHzHURUME/XZBKZnSIv2oiu9r9RK
-rttUbV1lWCsXw5PF/iRDT1PcBF5wYst2fyEU21JfIr/3NWcLehL/HwwgLg2izVVG
-QCUfP8OWQpLcwPP7Zpi6shZKmncnB+cW/A0YahDB14lQmanBOIdFmTlQJDLGZnfk
-lMblNvm438wSMXRhgUC0hqMwLzrgbxIJ8YeCGCT7usuCAbhrnNtiy43pKNnqvGOW
-zA2MJX2GG2w2CYF2U1dB7sIg42ezq8V82y2nzXeM+uBTRE9nT8bepXFHolb5m9UB
-BSbloKW/g5bp3PRTcaWEFTNnFkojkIvok7VBINgR4enJD863V5SoyuIszV5f8aT1
-a7TX0JKtyrB4CMvU4AwR
-=7M49
------END PGP SIGNATURE-----
diff --git a/packages/react-native/android/com/bugsnag/bugsnag-plugin-react-native/5.7.1-react-native/bugsnag-plugin-react-native-5.7.1-react-native.module.asc b/packages/react-native/android/com/bugsnag/bugsnag-plugin-react-native/5.7.1-react-native/bugsnag-plugin-react-native-5.7.1-react-native.module.asc
deleted file mode 100644
index c01a8e5b88..0000000000
--- a/packages/react-native/android/com/bugsnag/bugsnag-plugin-react-native/5.7.1-react-native/bugsnag-plugin-react-native-5.7.1-react-native.module.asc
+++ /dev/null
@@ -1,17 +0,0 @@
------BEGIN PGP SIGNATURE-----
-Version: BCPG v1.64
-
-iQIcBAABCgAGBQJgP7B1AAoJEJAqRX/iyO/5GHEP/1goumaKw3SSY7EkokZ4+diS
-iAR0kfJsQqzUvt2HJBEkEOP01OUhilu5OgTOflmWsvAoCkpthavu9dr2QiavwQp3
-9lay3HQn2Gx+y2gidGbr53vutwUsEINJGOdmWiwzX0ih7UELERYa+ec+rBHmR8UX
-wLAiZ69dUhKk/FMciSn+y3AtiSqGwGSa2kEFA1KxhjDlX9m/y3LCpNkuDS8g2asI
-qrxAIVMngldJoGi58mr8HvYsE9rGl9HABnhTnW/tMdohsi83efuCsH4aZcSAileH
-oVfC7zat4uPzQ5Rftg8nDjQFpx12bef/hScAGz/HGWWlcENR0MxRAKMiA2A6OqOz
-3/2RZJw5h5kK1zINtlJNI3bLfo06dG/U3quu8sXPLf7qGoQy1oeYf0MeTL2BMBWM
-4v2FnyLDPlQERO5F05mG2XSOQ2RJ40DwKt9TIYFDMmVnezHlrzSdJz3cyr3kk5LJ
-tarZ81iRmMAlbs2d9cQ2ajyhY8R9h8o7aqfbCwN0nc9YIUxQLyuORJMoRMqXVx7w
-LxoaKUwRitF+e/pqp0DwL7QILGJNF7uYGxkvnHJPCT7oLzV+ojSBTml+0WfWlD9t
-St56JJiUKo6WYy7G8BF+ekcn3+miZc317l7uWK5fN+dGxGJyPm5s+7k/Tgs4xaVG
-CQGaCpBzgIQyJJ7YiT0W
-=vG3J
------END PGP SIGNATURE-----
diff --git a/packages/react-native/android/com/bugsnag/bugsnag-plugin-react-native/5.7.1-react-native/bugsnag-plugin-react-native-5.7.1-react-native.pom.asc b/packages/react-native/android/com/bugsnag/bugsnag-plugin-react-native/5.7.1-react-native/bugsnag-plugin-react-native-5.7.1-react-native.pom.asc
deleted file mode 100644
index 34cce686ee..0000000000
--- a/packages/react-native/android/com/bugsnag/bugsnag-plugin-react-native/5.7.1-react-native/bugsnag-plugin-react-native-5.7.1-react-native.pom.asc
+++ /dev/null
@@ -1,17 +0,0 @@
------BEGIN PGP SIGNATURE-----
-Version: BCPG v1.64
-
-iQIcBAABCgAGBQJgP7B1AAoJEJAqRX/iyO/5Uj0QALXHr/MCKhdkN6q5n6ZGYFmM
-zdUhOXk+r+o+DVDe/DBqLxIiYAZKE6Y2k4qvg5q+jMkXe4ATqM2cd9Ge6as46O+9
-JN5zPEuu1Ti+tteuUg/NxYvTQhgmm50h3Ho7QOmcZK0Ukgvd5DfxSpLLgNkGKSMl
-lSEDpdHpqgGtVKjbQL31xXIUmT+ZWSaQK+eVie+44ecmEEclP3C5mJ2BxN7CkHaD
-9l1xjSl7ASczXXKiJJZzpVDrEdOvJYEz2KSDh9/KoFuGnfh+Sj43UMEMcWdRBOwL
-dJLlEUs3aKYmQIijykzgVZUjk6HfPxDl8YtXmxBKubIjyXq94FQ4f9FMy19OkPpr
-AqEj1U5iZ7N4xLW9VRFCcGlEcBk5rbj1URS9a/Z1HXnIZOe+83spsfrfFWxx5h9q
-yBcNSFQ3mYP3ErGCwNSY2z186CPpWEhIZSS3O2Xjd7nMoclkdUGJW0CeyZGoHbqE
-RnZtz3jRGQxICGCdQSTwqPvzv2Ca9Et407zOSuYzw0e7iraj/sWVNW5w9UWjcx5V
-Pb7i02FE+mmKuNrvaOC07lVwz6fxTpk9V4q5aHE9Kkt21AkOkA9sPb+ZC5OyMk2H
-h7xSAm/wGzsdogK0AKZW4Vm7pZ0j/3KsQW4a+6bCahrFbTEmKXEWEk3P5nPPXKW2
-btfNqP5Gkr6UN9uFR9VE
-=gZy8
------END PGP SIGNATURE-----
diff --git a/packages/react-native/android/com/bugsnag/bugsnag-plugin-react-native/5.7.1-react-native/bugsnag-plugin-react-native-5.7.1-react-native-sources.jar b/packages/react-native/android/com/bugsnag/bugsnag-plugin-react-native/5.8.0-react-native/bugsnag-plugin-react-native-5.8.0-react-native-sources.jar
similarity index 78%
rename from packages/react-native/android/com/bugsnag/bugsnag-plugin-react-native/5.7.1-react-native/bugsnag-plugin-react-native-5.7.1-react-native-sources.jar
rename to packages/react-native/android/com/bugsnag/bugsnag-plugin-react-native/5.8.0-react-native/bugsnag-plugin-react-native-5.8.0-react-native-sources.jar
index 48f2a0aea0..8de1ff6fcd 100644
Binary files a/packages/react-native/android/com/bugsnag/bugsnag-plugin-react-native/5.7.1-react-native/bugsnag-plugin-react-native-5.7.1-react-native-sources.jar and b/packages/react-native/android/com/bugsnag/bugsnag-plugin-react-native/5.8.0-react-native/bugsnag-plugin-react-native-5.8.0-react-native-sources.jar differ
diff --git a/packages/react-native/android/com/bugsnag/bugsnag-plugin-react-native/5.8.0-react-native/bugsnag-plugin-react-native-5.8.0-react-native-sources.jar.asc b/packages/react-native/android/com/bugsnag/bugsnag-plugin-react-native/5.8.0-react-native/bugsnag-plugin-react-native-5.8.0-react-native-sources.jar.asc
new file mode 100644
index 0000000000..ee8c989d67
--- /dev/null
+++ b/packages/react-native/android/com/bugsnag/bugsnag-plugin-react-native/5.8.0-react-native/bugsnag-plugin-react-native-5.8.0-react-native-sources.jar.asc
@@ -0,0 +1,17 @@
+-----BEGIN PGP SIGNATURE-----
+Version: BCPG v1.64
+
+iQIcBAABCgAGBQJgWf0vAAoJEJAqRX/iyO/5XJEP/3+J3THQ63610Cw7P7RROaa0
+/XA5oPXzqh0K679csPt0jlJKBE7209ng03vQkAE9jfLh4crP9X64H+xDEISH/gmV
+12jwj7YaEPPhSKbQuTvULEni5VBGH8+mOfI2sk67VcotCpXIl5/Y2kf90gz8wdbj
+A6tU8okU+7uxkQePIDGmiL4RqEqsFe9KntPwu8DTbFEpveLp796NAGJTe8tM10qY
+MkhbcMrB8wJB+InZ9LrXQW+pDypWQPgbjcEG7aeCbNpRDtXjPMpTjn4Tvxu+Fhg0
+3HO36GaG+g3zpZbd8axNjALTa1nQgFeJTqbjTje7Pfjeld1yQFnfUZJqe7lFM0PH
+CgKyW9Q5R4cJNzA79NlAZXFQ+rU4yxXWDXHVWpzIGQT1hPcsqFttP9jzSJqcN/+A
+fKoZf7nwAF5iamsJS0/cex9RbScAd9CRBbxgJflsufvmzA1/gQLa1f5nIM8pAJoj
+nblwWiaHBvXYuzfrLJ8ZaVTVWq0qg+URPIOztLt9X2syHtDxP4s9bKo9qjRdAWDc
+951Gn4IMRa7kK0hMwYVAL9LFROVk+KZS28aBDwx17j2WecFCiZ0Ao/LCjpOlzjMS
+/uYyLLpGFwn4d75yfI15bHteHI5X+iE2evVStpOFKHNkThWighrctXSjjSlCsyav
+gIvqXVhQx7B7aR8MVLz7
+=fsjd
+-----END PGP SIGNATURE-----
diff --git a/packages/react-native/android/com/bugsnag/bugsnag-plugin-react-native/5.8.0-react-native/bugsnag-plugin-react-native-5.8.0-react-native.aar b/packages/react-native/android/com/bugsnag/bugsnag-plugin-react-native/5.8.0-react-native/bugsnag-plugin-react-native-5.8.0-react-native.aar
new file mode 100644
index 0000000000..a725a0ee4d
Binary files /dev/null and b/packages/react-native/android/com/bugsnag/bugsnag-plugin-react-native/5.8.0-react-native/bugsnag-plugin-react-native-5.8.0-react-native.aar differ
diff --git a/packages/react-native/android/com/bugsnag/bugsnag-plugin-react-native/5.8.0-react-native/bugsnag-plugin-react-native-5.8.0-react-native.aar.asc b/packages/react-native/android/com/bugsnag/bugsnag-plugin-react-native/5.8.0-react-native/bugsnag-plugin-react-native-5.8.0-react-native.aar.asc
new file mode 100644
index 0000000000..5abe0e4116
--- /dev/null
+++ b/packages/react-native/android/com/bugsnag/bugsnag-plugin-react-native/5.8.0-react-native/bugsnag-plugin-react-native-5.8.0-react-native.aar.asc
@@ -0,0 +1,17 @@
+-----BEGIN PGP SIGNATURE-----
+Version: BCPG v1.64
+
+iQIcBAABCgAGBQJgWf0vAAoJEJAqRX/iyO/5m7UP/0FYpRt1/BhMek5OuYwRZ9no
+936KppdHgxCKgnkcbwio5oOU30zVe8Kq+HhiwJNqWbtq5VZkmNRwWE3CTXYtgdRW
+/orDLbwC+YWz6xC+/uvEPuocrWYO5V3m4O6HzUJeOYayLj1DeB3FbEa41aRcOFRN
+VbIcYizVCrXRf0dxgTosoKYjy1/wDhbPbqFd8OBIkzyS3dQ77DFkzQkrzOawIAlr
+nsR3pim5HX1mnEMQ3Z80SURM6NcbXZjg8fPQrSPaxRWfFKkLBGLcLdN6HaxKbdGu
+PIh75XOJPxZsrXkHKwy0T/kzEftoDKltnB8LmcD3JEDcrAfxp/vHEsyvpCJsXIC8
+qM+LVv/c4S1sVNk488WLeCTvtakFb7nEIObl7Nq5227YqhuAXjzZv8F7VdOJOJ0g
+s4fkDq9xISslnSO7v4l7CCmVleTd2po6Z80NyQ4OhVDbiGuzt3RLFnDvE86JUOsX
+fpkoOaqpQuNYmsgeEbzsjQ8p+wnOfbS3HJz7xmTtL6eQH4UaAR7xNWvqBIsV/sLt
+9jLWODfK2S7UCeKznwN7cxkYhTLPAj6fhoq8XTrvGlqQGiMBS8cKcNEeWr+3S3uR
+i7WfuTrtqqc/Ap8uuJJYX/WaaNFa2gRMxGUeYoJCytnVCi2ItuycTvhxo9+802Y0
+w+FBNfOStamFFex4Axad
+=QNB5
+-----END PGP SIGNATURE-----
diff --git a/packages/react-native/android/com/bugsnag/bugsnag-plugin-react-native/5.7.1-react-native/bugsnag-plugin-react-native-5.7.1-react-native.module b/packages/react-native/android/com/bugsnag/bugsnag-plugin-react-native/5.8.0-react-native/bugsnag-plugin-react-native-5.8.0-react-native.module
similarity index 61%
rename from packages/react-native/android/com/bugsnag/bugsnag-plugin-react-native/5.7.1-react-native/bugsnag-plugin-react-native-5.7.1-react-native.module
rename to packages/react-native/android/com/bugsnag/bugsnag-plugin-react-native/5.8.0-react-native/bugsnag-plugin-react-native-5.8.0-react-native.module
index 305a1528e1..2c1cb23a77 100644
--- a/packages/react-native/android/com/bugsnag/bugsnag-plugin-react-native/5.7.1-react-native/bugsnag-plugin-react-native-5.7.1-react-native.module
+++ b/packages/react-native/android/com/bugsnag/bugsnag-plugin-react-native/5.8.0-react-native/bugsnag-plugin-react-native-5.8.0-react-native.module
@@ -3,7 +3,7 @@
"component": {
"group": "com.bugsnag",
"module": "bugsnag-plugin-react-native",
- "version": "5.7.1-react-native",
+ "version": "5.8.0-react-native",
"attributes": {
"org.gradle.status": "release"
}
@@ -11,7 +11,7 @@
"createdBy": {
"gradle": {
"version": "6.7",
- "buildId": "tomffttf3rdo3a6ht7qqzwlrvq"
+ "buildId": "ojbjb5wnkvflrhzhr4giu2y7q4"
}
},
"variants": [
@@ -28,7 +28,7 @@
"group": "com.bugsnag",
"module": "bugsnag-android-core",
"version": {
- "requires": "5.7.1-react-native"
+ "requires": "5.8.0-react-native"
}
},
{
@@ -48,13 +48,13 @@
],
"files": [
{
- "name": "bugsnag-plugin-react-native-5.7.1-react-native.aar",
- "url": "bugsnag-plugin-react-native-5.7.1-react-native.aar",
- "size": 36352,
- "sha512": "4cacc0f9c00e0fd3c91843b423dfc6c7cc839600c4ed93df192f90860b7b0f286e6fb1632a457e9f044e6b0ab78b41a1312d5525df4596e3c86d60411be3923d",
- "sha256": "f4cb4b6fa555b738c435e0cfdbedc5f5495acd4fddada5ca46641ba74bf8b3aa",
- "sha1": "ef6fdbb16a35f8cd16f2575988e5911fc533762c",
- "md5": "df95ea53ce88151e30d496d3bae40ca4"
+ "name": "bugsnag-plugin-react-native-5.8.0-react-native.aar",
+ "url": "bugsnag-plugin-react-native-5.8.0-react-native.aar",
+ "size": 36419,
+ "sha512": "c080abf8179fe5f911a7e42e9d0dfc84957f18f6e0f412457435c4abced1cf75c251746df82a2a06492ffcb5a9170665238047f92589fc23e311756204f0f362",
+ "sha256": "32562345ab89984b3b9f185c75e8e18c9d99074c4797cf4751b92ef7205009c3",
+ "sha1": "63925aeaf2c1cb15e2972f50b0e5b1df7dc0eecf",
+ "md5": "e830be34f3306f28f575d32ac621a363"
}
]
},
@@ -71,7 +71,7 @@
"group": "com.bugsnag",
"module": "bugsnag-android-core",
"version": {
- "requires": "5.7.1-react-native"
+ "requires": "5.8.0-react-native"
}
},
{
@@ -91,13 +91,13 @@
],
"files": [
{
- "name": "bugsnag-plugin-react-native-5.7.1-react-native.aar",
- "url": "bugsnag-plugin-react-native-5.7.1-react-native.aar",
- "size": 36352,
- "sha512": "4cacc0f9c00e0fd3c91843b423dfc6c7cc839600c4ed93df192f90860b7b0f286e6fb1632a457e9f044e6b0ab78b41a1312d5525df4596e3c86d60411be3923d",
- "sha256": "f4cb4b6fa555b738c435e0cfdbedc5f5495acd4fddada5ca46641ba74bf8b3aa",
- "sha1": "ef6fdbb16a35f8cd16f2575988e5911fc533762c",
- "md5": "df95ea53ce88151e30d496d3bae40ca4"
+ "name": "bugsnag-plugin-react-native-5.8.0-react-native.aar",
+ "url": "bugsnag-plugin-react-native-5.8.0-react-native.aar",
+ "size": 36419,
+ "sha512": "c080abf8179fe5f911a7e42e9d0dfc84957f18f6e0f412457435c4abced1cf75c251746df82a2a06492ffcb5a9170665238047f92589fc23e311756204f0f362",
+ "sha256": "32562345ab89984b3b9f185c75e8e18c9d99074c4797cf4751b92ef7205009c3",
+ "sha1": "63925aeaf2c1cb15e2972f50b0e5b1df7dc0eecf",
+ "md5": "e830be34f3306f28f575d32ac621a363"
}
]
}
diff --git a/packages/react-native/android/com/bugsnag/bugsnag-plugin-react-native/5.8.0-react-native/bugsnag-plugin-react-native-5.8.0-react-native.module.asc b/packages/react-native/android/com/bugsnag/bugsnag-plugin-react-native/5.8.0-react-native/bugsnag-plugin-react-native-5.8.0-react-native.module.asc
new file mode 100644
index 0000000000..557b5fcc42
--- /dev/null
+++ b/packages/react-native/android/com/bugsnag/bugsnag-plugin-react-native/5.8.0-react-native/bugsnag-plugin-react-native-5.8.0-react-native.module.asc
@@ -0,0 +1,17 @@
+-----BEGIN PGP SIGNATURE-----
+Version: BCPG v1.64
+
+iQIcBAABCgAGBQJgWf0vAAoJEJAqRX/iyO/5jZ0QAJ4h1V9N0hNJfdShX5oN7O92
+am3+qk+rkyJnOVdsVmOYM6pMX80r30ILBrTNMucs9sMhx8e2+7UiZge25/04Z2cB
+0m8Wv+ULFZG0SWGZonR9Nb6Cvkb0wIm1achkiUxrNUqTg9Qu0jDlWA3QvPSciZdc
+a03vWpJvwT+Rd81FSdYsCjzGSWXo+RGwMwzOE3tVwDGtuYG/ef256X9xtKOla2Kx
+WSt65pY2oIBSh+Sv2cQnceVbsYgulljBsKsLBXJo72fhYEj+3BH1HPz55uDbW8gk
+RSZ739eYRCdLcxM4f0QYETBZz2UeT3PulN2e1zADkb1kNlFU/JbCvzuW407rm8o3
+ROxoRdTjAdRR5u5OqglGmFdcB8gG/jWeNA5avisFPphflKm1ktiVU4XwE45OqqVJ
+GiJhx7Nv1nCtIoKNq0uZMXrCEKmtvVbgYp3QW3l3Jvf6J5o0BD4QSPHSpAyaVLuZ
+5q8mlAJ1nyE8gZ9dXrLsnuLp1Xd3QXpBoJAb5Zh5L4UROqiZ0z/cv3V/pwD3aFyE
+WXvuAdaSZCYFSr7RnCX+6FjeZNBfCOv3i6ikJC776kidw5wN/iBbdS//JlGj8nDi
+LAbO2j25K4iwCg2UyswvlYNgHT/9zHjarWj6rVQj3f3ouJfUmMrG2iRTBJIB9a29
+peUQA9y9/vAM+lbxomOJ
+=MlSP
+-----END PGP SIGNATURE-----
diff --git a/packages/react-native/android/com/bugsnag/bugsnag-plugin-react-native/5.7.1-react-native/bugsnag-plugin-react-native-5.7.1-react-native.pom b/packages/react-native/android/com/bugsnag/bugsnag-plugin-react-native/5.8.0-react-native/bugsnag-plugin-react-native-5.8.0-react-native.pom
similarity index 96%
rename from packages/react-native/android/com/bugsnag/bugsnag-plugin-react-native/5.7.1-react-native/bugsnag-plugin-react-native-5.7.1-react-native.pom
rename to packages/react-native/android/com/bugsnag/bugsnag-plugin-react-native/5.8.0-react-native/bugsnag-plugin-react-native-5.8.0-react-native.pom
index 9daff59a71..d22a32daae 100644
--- a/packages/react-native/android/com/bugsnag/bugsnag-plugin-react-native/5.7.1-react-native/bugsnag-plugin-react-native-5.7.1-react-native.pom
+++ b/packages/react-native/android/com/bugsnag/bugsnag-plugin-react-native/5.8.0-react-native/bugsnag-plugin-react-native-5.8.0-react-native.pom
@@ -9,7 +9,7 @@
4.0.0
com.bugsnag
bugsnag-plugin-react-native
- 5.7.1-react-native
+ 5.8.0-react-native
aar
Bugsnag Android React Native
Official Bugsnag notifier for Android applications
@@ -36,7 +36,7 @@
com.bugsnag
bugsnag-android-core
- 5.7.1-react-native
+ 5.8.0-react-native
compile
diff --git a/packages/react-native/android/com/bugsnag/bugsnag-plugin-react-native/5.8.0-react-native/bugsnag-plugin-react-native-5.8.0-react-native.pom.asc b/packages/react-native/android/com/bugsnag/bugsnag-plugin-react-native/5.8.0-react-native/bugsnag-plugin-react-native-5.8.0-react-native.pom.asc
new file mode 100644
index 0000000000..9627c2f2c9
--- /dev/null
+++ b/packages/react-native/android/com/bugsnag/bugsnag-plugin-react-native/5.8.0-react-native/bugsnag-plugin-react-native-5.8.0-react-native.pom.asc
@@ -0,0 +1,17 @@
+-----BEGIN PGP SIGNATURE-----
+Version: BCPG v1.64
+
+iQIcBAABCgAGBQJgWf0uAAoJEJAqRX/iyO/5WMgP/izB4r746OIOYr1Wbc5iMH3Q
++ZAQyIrh0Whu1ULemR+cRjfMJGAYEb+GkZCU9I17w7XVY4EhtyG8GR1H1d4rX7cC
+/U3yExdb1c2BEOYHUsotVdd1e67PZ5ItDtIbwnz9RwNkBcAMdcGsNz/MbCc92spM
+grJYcyisx3jSrcE7li22dFIRNCB5mkrrhjCRv3V3R34by+iTRFuVIqp87Q4Uv+Uc
+NPmTDrobKwDfhJ52Q2wqjpHHC5gMjaUbgqDrFvb+RGE7Q72Gu4TU6y46LWdXu7QF
+Y6ZfQda0mK2iMpTPKwUomq3Lr4dqmtTYNNC3i6+/SxpqIRF6IurxWAIwtjMlWzi6
+WfJ1PRbKnHSPlXAwtiDFnQTL7RSGJ1zreC97o86O72CZnCZ2t8B3PNOFh2mMy7su
+KF2d/AGkaxmjDS+CEAfoJyNI2Bcsh8aoCH5BATCV8BiLHhj0VwU2bmU+PKmSGsYl
+IwPUE9HhIqgNCtfbgcnkB66dK9AQBKf2Wvl5z+rKYhNZNYxa1BWetWF2f2HyV4un
+UZMlEHPYJidnBJLoY3usL8Zoko1p/teSo+E8NumU1aDKtmK/VTqLoKnUQHXeEbf7
+CHrEzB3BqQvgVn2UL1etc5529bUSHKnKediLA97rGw7Jr0DOHAk+pN+EPAlTFQB9
+//1xhgvFSe09dCfC5u2t
+=BEO3
+-----END PGP SIGNATURE-----
diff --git a/packages/react-native/android/com/bugsnag/bugsnag-plugin-react-native/maven-metadata-local.xml b/packages/react-native/android/com/bugsnag/bugsnag-plugin-react-native/maven-metadata-local.xml
index 2a18aeb73d..f32b274fcd 100644
--- a/packages/react-native/android/com/bugsnag/bugsnag-plugin-react-native/maven-metadata-local.xml
+++ b/packages/react-native/android/com/bugsnag/bugsnag-plugin-react-native/maven-metadata-local.xml
@@ -3,11 +3,11 @@
com.bugsnag
bugsnag-plugin-react-native
- 5.7.1-react-native
- 5.7.1-react-native
+ 5.8.0-react-native
+ 5.8.0-react-native
- 5.7.1-react-native
+ 5.8.0-react-native
- 20210303155118
+ 20210323143735
diff --git a/packages/react-native/ios/.bugsnag-cocoa-version b/packages/react-native/ios/.bugsnag-cocoa-version
index 8b13fc7646..ea1edfee67 100644
--- a/packages/react-native/ios/.bugsnag-cocoa-version
+++ b/packages/react-native/ios/.bugsnag-cocoa-version
@@ -1 +1 @@
-bb114d83e676db6a40fbd7911b78a1490b0d57b1
+3196f905d5933b4a90678ca9fd755616ea89dc84
diff --git a/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag.podspec.json b/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag.podspec.json
index d0bff7d95f..5faf4e8e91 100644
--- a/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag.podspec.json
+++ b/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag.podspec.json
@@ -1,6 +1,6 @@
{
"name": "Bugsnag",
- "version": "6.7.1",
+ "version": "6.8.0",
"summary": "The Bugsnag crash reporting framework for Apple platforms.",
"homepage": "https://bugsnag.com",
"license": "MIT",
@@ -9,7 +9,7 @@
},
"source": {
"git": "https://github.com/bugsnag/bugsnag-cocoa.git",
- "tag": "v6.7.1"
+ "tag": "v6.8.0"
},
"frameworks": [
"Foundation",
diff --git a/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag.xcodeproj/project.pbxproj b/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag.xcodeproj/project.pbxproj
index c837c0ea30..733334fda9 100644
--- a/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag.xcodeproj/project.pbxproj
+++ b/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag.xcodeproj/project.pbxproj
@@ -58,9 +58,6 @@
0089671E2486D43700DC48C2 /* report.json in Resources */ = {isa = PBXBuildFile; fileRef = 008966B72486D43500DC48C2 /* report.json */; };
0089671F2486D43700DC48C2 /* report.json in Resources */ = {isa = PBXBuildFile; fileRef = 008966B72486D43500DC48C2 /* report.json */; };
008967202486D43700DC48C2 /* report.json in Resources */ = {isa = PBXBuildFile; fileRef = 008966B72486D43500DC48C2 /* report.json */; };
- 008967212486D43700DC48C2 /* BugsnagErrorReportSinkTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 008966B82486D43500DC48C2 /* BugsnagErrorReportSinkTests.m */; };
- 008967222486D43700DC48C2 /* BugsnagErrorReportSinkTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 008966B82486D43500DC48C2 /* BugsnagErrorReportSinkTests.m */; };
- 008967232486D43700DC48C2 /* BugsnagErrorReportSinkTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 008966B82486D43500DC48C2 /* BugsnagErrorReportSinkTests.m */; };
008967272486D43700DC48C2 /* BugsnagStackframeTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 008966BA2486D43500DC48C2 /* BugsnagStackframeTest.m */; };
008967282486D43700DC48C2 /* BugsnagStackframeTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 008966BA2486D43500DC48C2 /* BugsnagStackframeTest.m */; };
008967292486D43700DC48C2 /* BugsnagStackframeTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 008966BA2486D43500DC48C2 /* BugsnagStackframeTest.m */; };
@@ -150,12 +147,6 @@
008967872486D43700DC48C2 /* KSCrashSentry_NSException_Tests.m in Sources */ = {isa = PBXBuildFile; fileRef = 008966DD2486D43700DC48C2 /* KSCrashSentry_NSException_Tests.m */; };
008967882486D43700DC48C2 /* KSCrashSentry_NSException_Tests.m in Sources */ = {isa = PBXBuildFile; fileRef = 008966DD2486D43700DC48C2 /* KSCrashSentry_NSException_Tests.m */; };
008967892486D43700DC48C2 /* KSCrashSentry_NSException_Tests.m in Sources */ = {isa = PBXBuildFile; fileRef = 008966DD2486D43700DC48C2 /* KSCrashSentry_NSException_Tests.m */; };
- 0089678A2486D43700DC48C2 /* KSCrashReportStore_Tests.m in Sources */ = {isa = PBXBuildFile; fileRef = 008966DE2486D43700DC48C2 /* KSCrashReportStore_Tests.m */; };
- 0089678B2486D43700DC48C2 /* KSCrashReportStore_Tests.m in Sources */ = {isa = PBXBuildFile; fileRef = 008966DE2486D43700DC48C2 /* KSCrashReportStore_Tests.m */; };
- 0089678C2486D43700DC48C2 /* KSCrashReportStore_Tests.m in Sources */ = {isa = PBXBuildFile; fileRef = 008966DE2486D43700DC48C2 /* KSCrashReportStore_Tests.m */; };
- 0089678D2486D43700DC48C2 /* KSCrashReportConverter_Tests.m in Sources */ = {isa = PBXBuildFile; fileRef = 008966DF2486D43700DC48C2 /* KSCrashReportConverter_Tests.m */; };
- 0089678E2486D43700DC48C2 /* KSCrashReportConverter_Tests.m in Sources */ = {isa = PBXBuildFile; fileRef = 008966DF2486D43700DC48C2 /* KSCrashReportConverter_Tests.m */; };
- 0089678F2486D43700DC48C2 /* KSCrashReportConverter_Tests.m in Sources */ = {isa = PBXBuildFile; fileRef = 008966DF2486D43700DC48C2 /* KSCrashReportConverter_Tests.m */; };
008967902486D43700DC48C2 /* KSJSONCodec_Tests.m in Sources */ = {isa = PBXBuildFile; fileRef = 008966E02486D43700DC48C2 /* KSJSONCodec_Tests.m */; };
008967912486D43700DC48C2 /* KSJSONCodec_Tests.m in Sources */ = {isa = PBXBuildFile; fileRef = 008966E02486D43700DC48C2 /* KSJSONCodec_Tests.m */; };
008967922486D43700DC48C2 /* KSJSONCodec_Tests.m in Sources */ = {isa = PBXBuildFile; fileRef = 008966E02486D43700DC48C2 /* KSJSONCodec_Tests.m */; };
@@ -237,16 +228,9 @@
008968032486DA4500DC48C2 /* BSGConnectivity.m in Sources */ = {isa = PBXBuildFile; fileRef = 008967F02486DA4500DC48C2 /* BSGConnectivity.m */; };
008968042486DA4500DC48C2 /* BSGConnectivity.m in Sources */ = {isa = PBXBuildFile; fileRef = 008967F02486DA4500DC48C2 /* BSGConnectivity.m */; };
008968052486DA4500DC48C2 /* BSGConnectivity.m in Sources */ = {isa = PBXBuildFile; fileRef = 008967F02486DA4500DC48C2 /* BSGConnectivity.m */; };
- 008968062486DA4500DC48C2 /* BugsnagErrorReportApiClient.m in Sources */ = {isa = PBXBuildFile; fileRef = 008967F12486DA4500DC48C2 /* BugsnagErrorReportApiClient.m */; };
- 008968072486DA4500DC48C2 /* BugsnagErrorReportApiClient.m in Sources */ = {isa = PBXBuildFile; fileRef = 008967F12486DA4500DC48C2 /* BugsnagErrorReportApiClient.m */; };
- 008968082486DA4500DC48C2 /* BugsnagErrorReportApiClient.m in Sources */ = {isa = PBXBuildFile; fileRef = 008967F12486DA4500DC48C2 /* BugsnagErrorReportApiClient.m */; };
- 008968092486DA4500DC48C2 /* BugsnagErrorReportApiClient.m in Sources */ = {isa = PBXBuildFile; fileRef = 008967F12486DA4500DC48C2 /* BugsnagErrorReportApiClient.m */; };
0089680A2486DA4500DC48C2 /* BSGConnectivity.h in Headers */ = {isa = PBXBuildFile; fileRef = 008967F22486DA4500DC48C2 /* BSGConnectivity.h */; };
0089680B2486DA4500DC48C2 /* BSGConnectivity.h in Headers */ = {isa = PBXBuildFile; fileRef = 008967F22486DA4500DC48C2 /* BSGConnectivity.h */; };
0089680C2486DA4500DC48C2 /* BSGConnectivity.h in Headers */ = {isa = PBXBuildFile; fileRef = 008967F22486DA4500DC48C2 /* BSGConnectivity.h */; };
- 0089680D2486DA4500DC48C2 /* BugsnagErrorReportApiClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 008967F32486DA4500DC48C2 /* BugsnagErrorReportApiClient.h */; };
- 0089680E2486DA4500DC48C2 /* BugsnagErrorReportApiClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 008967F32486DA4500DC48C2 /* BugsnagErrorReportApiClient.h */; };
- 0089680F2486DA4500DC48C2 /* BugsnagErrorReportApiClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 008967F32486DA4500DC48C2 /* BugsnagErrorReportApiClient.h */; };
008968182486DA5600DC48C2 /* BugsnagCollections.h in Headers */ = {isa = PBXBuildFile; fileRef = 008968102486DA5600DC48C2 /* BugsnagCollections.h */; };
008968192486DA5600DC48C2 /* BugsnagCollections.h in Headers */ = {isa = PBXBuildFile; fileRef = 008968102486DA5600DC48C2 /* BugsnagCollections.h */; };
0089681A2486DA5600DC48C2 /* BugsnagCollections.h in Headers */ = {isa = PBXBuildFile; fileRef = 008968102486DA5600DC48C2 /* BugsnagCollections.h */; };
@@ -501,9 +485,6 @@
008969D52486DAD100DC48C2 /* BSG_KSCrashType.c in Sources */ = {isa = PBXBuildFile; fileRef = 0089692B2486DAD000DC48C2 /* BSG_KSCrashType.c */; };
008969D62486DAD100DC48C2 /* BSG_KSCrashType.c in Sources */ = {isa = PBXBuildFile; fileRef = 0089692B2486DAD000DC48C2 /* BSG_KSCrashType.c */; };
008969D72486DAD100DC48C2 /* BSG_KSCrashType.c in Sources */ = {isa = PBXBuildFile; fileRef = 0089692B2486DAD000DC48C2 /* BSG_KSCrashType.c */; };
- 008969D82486DAD100DC48C2 /* BSG_KSCrashReportStore.m in Sources */ = {isa = PBXBuildFile; fileRef = 0089692C2486DAD000DC48C2 /* BSG_KSCrashReportStore.m */; };
- 008969D92486DAD100DC48C2 /* BSG_KSCrashReportStore.m in Sources */ = {isa = PBXBuildFile; fileRef = 0089692C2486DAD000DC48C2 /* BSG_KSCrashReportStore.m */; };
- 008969DA2486DAD100DC48C2 /* BSG_KSCrashReportStore.m in Sources */ = {isa = PBXBuildFile; fileRef = 0089692C2486DAD000DC48C2 /* BSG_KSCrashReportStore.m */; };
008969DB2486DAD100DC48C2 /* BSG_KSCrash.h in Headers */ = {isa = PBXBuildFile; fileRef = 0089692D2486DAD000DC48C2 /* BSG_KSCrash.h */; };
008969DC2486DAD100DC48C2 /* BSG_KSCrash.h in Headers */ = {isa = PBXBuildFile; fileRef = 0089692D2486DAD000DC48C2 /* BSG_KSCrash.h */; };
008969DD2486DAD100DC48C2 /* BSG_KSCrash.h in Headers */ = {isa = PBXBuildFile; fileRef = 0089692D2486DAD000DC48C2 /* BSG_KSCrash.h */; };
@@ -540,9 +521,6 @@
008969FC2486DAD100DC48C2 /* BSG_KSCrashAdvanced.h in Headers */ = {isa = PBXBuildFile; fileRef = 008969382486DAD000DC48C2 /* BSG_KSCrashAdvanced.h */; };
008969FD2486DAD100DC48C2 /* BSG_KSCrashAdvanced.h in Headers */ = {isa = PBXBuildFile; fileRef = 008969382486DAD000DC48C2 /* BSG_KSCrashAdvanced.h */; };
008969FE2486DAD100DC48C2 /* BSG_KSCrashAdvanced.h in Headers */ = {isa = PBXBuildFile; fileRef = 008969382486DAD000DC48C2 /* BSG_KSCrashAdvanced.h */; };
- 008969FF2486DAD100DC48C2 /* BSG_KSCrashReportStore.h in Headers */ = {isa = PBXBuildFile; fileRef = 008969392486DAD000DC48C2 /* BSG_KSCrashReportStore.h */; };
- 00896A002486DAD100DC48C2 /* BSG_KSCrashReportStore.h in Headers */ = {isa = PBXBuildFile; fileRef = 008969392486DAD000DC48C2 /* BSG_KSCrashReportStore.h */; };
- 00896A012486DAD100DC48C2 /* BSG_KSCrashReportStore.h in Headers */ = {isa = PBXBuildFile; fileRef = 008969392486DAD000DC48C2 /* BSG_KSCrashReportStore.h */; };
00896A022486DAD100DC48C2 /* BSG_KSCrashSentry_NSException.m in Sources */ = {isa = PBXBuildFile; fileRef = 0089693B2486DAD000DC48C2 /* BSG_KSCrashSentry_NSException.m */; };
00896A032486DAD100DC48C2 /* BSG_KSCrashSentry_NSException.m in Sources */ = {isa = PBXBuildFile; fileRef = 0089693B2486DAD000DC48C2 /* BSG_KSCrashSentry_NSException.m */; };
00896A042486DAD100DC48C2 /* BSG_KSCrashSentry_NSException.m in Sources */ = {isa = PBXBuildFile; fileRef = 0089693B2486DAD000DC48C2 /* BSG_KSCrashSentry_NSException.m */; };
@@ -609,11 +587,6 @@
00AD1F102486A17900A27979 /* BugsnagSessionTracker.h in Headers */ = {isa = PBXBuildFile; fileRef = 00AD1EF82486A17700A27979 /* BugsnagSessionTracker.h */; };
00AD1F112486A17900A27979 /* BugsnagSessionTracker.h in Headers */ = {isa = PBXBuildFile; fileRef = 00AD1EF82486A17700A27979 /* BugsnagSessionTracker.h */; };
00AD1F122486A17900A27979 /* BugsnagSessionTracker.h in Headers */ = {isa = PBXBuildFile; fileRef = 00AD1EF82486A17700A27979 /* BugsnagSessionTracker.h */; };
- 00AD1F142486A17900A27979 /* BugsnagErrorReportSink.m in Sources */ = {isa = PBXBuildFile; fileRef = 00AD1EF92486A17700A27979 /* BugsnagErrorReportSink.m */; };
- 00AD1F152486A17900A27979 /* BugsnagErrorReportSink.m in Sources */ = {isa = PBXBuildFile; fileRef = 00AD1EF92486A17700A27979 /* BugsnagErrorReportSink.m */; };
- 00AD1F162486A17900A27979 /* BugsnagErrorReportSink.m in Sources */ = {isa = PBXBuildFile; fileRef = 00AD1EF92486A17700A27979 /* BugsnagErrorReportSink.m */; };
- 00AD1F212486A17900A27979 /* BugsnagErrorReportSink.h in Headers */ = {isa = PBXBuildFile; fileRef = 00AD1EFD2486A17800A27979 /* BugsnagErrorReportSink.h */; };
- 00AD1F222486A17900A27979 /* BugsnagErrorReportSink.h in Headers */ = {isa = PBXBuildFile; fileRef = 00AD1EFD2486A17800A27979 /* BugsnagErrorReportSink.h */; };
00AD1F232486A17900A27979 /* Bugsnag.m in Sources */ = {isa = PBXBuildFile; fileRef = 00AD1EFE2486A17800A27979 /* Bugsnag.m */; };
00AD1F242486A17900A27979 /* Bugsnag.m in Sources */ = {isa = PBXBuildFile; fileRef = 00AD1EFE2486A17800A27979 /* Bugsnag.m */; };
00AD1F252486A17900A27979 /* Bugsnag.m in Sources */ = {isa = PBXBuildFile; fileRef = 00AD1EFE2486A17800A27979 /* Bugsnag.m */; };
@@ -630,6 +603,13 @@
00AD1F302486A17900A27979 /* BugsnagSessionTracker.m in Sources */ = {isa = PBXBuildFile; fileRef = 00AD1F012486A17900A27979 /* BugsnagSessionTracker.m */; };
00AD1F312486A17900A27979 /* BugsnagSessionTracker.m in Sources */ = {isa = PBXBuildFile; fileRef = 00AD1F012486A17900A27979 /* BugsnagSessionTracker.m */; };
00E636C224878D84006CBF1A /* BSG_RFC3339DateTool.m in Sources */ = {isa = PBXBuildFile; fileRef = 008969142486DAD000DC48C2 /* BSG_RFC3339DateTool.m */; };
+ 010FF28425ED2A8D00E4F2B0 /* BSGAppHangDetector.h in Headers */ = {isa = PBXBuildFile; fileRef = 010FF28225ED2A8D00E4F2B0 /* BSGAppHangDetector.h */; };
+ 010FF28525ED2A8D00E4F2B0 /* BSGAppHangDetector.h in Headers */ = {isa = PBXBuildFile; fileRef = 010FF28225ED2A8D00E4F2B0 /* BSGAppHangDetector.h */; };
+ 010FF28625ED2A8D00E4F2B0 /* BSGAppHangDetector.h in Headers */ = {isa = PBXBuildFile; fileRef = 010FF28225ED2A8D00E4F2B0 /* BSGAppHangDetector.h */; };
+ 010FF28725ED2A8D00E4F2B0 /* BSGAppHangDetector.m in Sources */ = {isa = PBXBuildFile; fileRef = 010FF28325ED2A8D00E4F2B0 /* BSGAppHangDetector.m */; };
+ 010FF28825ED2A8D00E4F2B0 /* BSGAppHangDetector.m in Sources */ = {isa = PBXBuildFile; fileRef = 010FF28325ED2A8D00E4F2B0 /* BSGAppHangDetector.m */; };
+ 010FF28925ED2A8D00E4F2B0 /* BSGAppHangDetector.m in Sources */ = {isa = PBXBuildFile; fileRef = 010FF28325ED2A8D00E4F2B0 /* BSGAppHangDetector.m */; };
+ 010FF28A25ED2A8D00E4F2B0 /* BSGAppHangDetector.m in Sources */ = {isa = PBXBuildFile; fileRef = 010FF28325ED2A8D00E4F2B0 /* BSGAppHangDetector.m */; };
01210B8825CD665000D683BB /* BugsnagThread+Recording.m in Sources */ = {isa = PBXBuildFile; fileRef = 01210B8725CD665000D683BB /* BugsnagThread+Recording.m */; };
01210B8925CD665000D683BB /* BugsnagThread+Recording.m in Sources */ = {isa = PBXBuildFile; fileRef = 01210B8725CD665000D683BB /* BugsnagThread+Recording.m */; };
01210B8A25CD665000D683BB /* BugsnagThread+Recording.m in Sources */ = {isa = PBXBuildFile; fileRef = 01210B8725CD665000D683BB /* BugsnagThread+Recording.m */; };
@@ -637,6 +617,41 @@
0126DF1B257A92860031A70C /* BugsnagSession+Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 0126DF1A257A92860031A70C /* BugsnagSession+Private.h */; };
0126DF1C257A92860031A70C /* BugsnagSession+Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 0126DF1A257A92860031A70C /* BugsnagSession+Private.h */; };
0126DF1D257A92860031A70C /* BugsnagSession+Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 0126DF1A257A92860031A70C /* BugsnagSession+Private.h */; };
+ 0126F78B25DD508C008483C2 /* BSGEventUploadOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 0126F78925DD508C008483C2 /* BSGEventUploadOperation.h */; };
+ 0126F78C25DD508C008483C2 /* BSGEventUploadOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 0126F78925DD508C008483C2 /* BSGEventUploadOperation.h */; };
+ 0126F78D25DD508C008483C2 /* BSGEventUploadOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 0126F78925DD508C008483C2 /* BSGEventUploadOperation.h */; };
+ 0126F78E25DD508C008483C2 /* BSGEventUploadOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = 0126F78A25DD508C008483C2 /* BSGEventUploadOperation.m */; };
+ 0126F78F25DD508C008483C2 /* BSGEventUploadOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = 0126F78A25DD508C008483C2 /* BSGEventUploadOperation.m */; };
+ 0126F79025DD508C008483C2 /* BSGEventUploadOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = 0126F78A25DD508C008483C2 /* BSGEventUploadOperation.m */; };
+ 0126F79125DD508C008483C2 /* BSGEventUploadOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = 0126F78A25DD508C008483C2 /* BSGEventUploadOperation.m */; };
+ 0126F79B25DD510E008483C2 /* BSGEventUploadObjectOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 0126F79925DD510E008483C2 /* BSGEventUploadObjectOperation.h */; };
+ 0126F79C25DD510E008483C2 /* BSGEventUploadObjectOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 0126F79925DD510E008483C2 /* BSGEventUploadObjectOperation.h */; };
+ 0126F79D25DD510E008483C2 /* BSGEventUploadObjectOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 0126F79925DD510E008483C2 /* BSGEventUploadObjectOperation.h */; };
+ 0126F79E25DD510E008483C2 /* BSGEventUploadObjectOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = 0126F79A25DD510E008483C2 /* BSGEventUploadObjectOperation.m */; };
+ 0126F79F25DD510E008483C2 /* BSGEventUploadObjectOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = 0126F79A25DD510E008483C2 /* BSGEventUploadObjectOperation.m */; };
+ 0126F7A025DD510E008483C2 /* BSGEventUploadObjectOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = 0126F79A25DD510E008483C2 /* BSGEventUploadObjectOperation.m */; };
+ 0126F7A125DD510E008483C2 /* BSGEventUploadObjectOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = 0126F79A25DD510E008483C2 /* BSGEventUploadObjectOperation.m */; };
+ 0126F7AB25DD5118008483C2 /* BSGEventUploadFileOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 0126F7A925DD5118008483C2 /* BSGEventUploadFileOperation.h */; };
+ 0126F7AC25DD5118008483C2 /* BSGEventUploadFileOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 0126F7A925DD5118008483C2 /* BSGEventUploadFileOperation.h */; };
+ 0126F7AD25DD5118008483C2 /* BSGEventUploadFileOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 0126F7A925DD5118008483C2 /* BSGEventUploadFileOperation.h */; };
+ 0126F7AE25DD5118008483C2 /* BSGEventUploadFileOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = 0126F7AA25DD5118008483C2 /* BSGEventUploadFileOperation.m */; };
+ 0126F7AF25DD5118008483C2 /* BSGEventUploadFileOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = 0126F7AA25DD5118008483C2 /* BSGEventUploadFileOperation.m */; };
+ 0126F7B025DD5118008483C2 /* BSGEventUploadFileOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = 0126F7AA25DD5118008483C2 /* BSGEventUploadFileOperation.m */; };
+ 0126F7B125DD5118008483C2 /* BSGEventUploadFileOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = 0126F7AA25DD5118008483C2 /* BSGEventUploadFileOperation.m */; };
+ 0126F7BB25DD512B008483C2 /* BSGEventUploadKSCrashReportOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 0126F7B925DD512B008483C2 /* BSGEventUploadKSCrashReportOperation.h */; };
+ 0126F7BC25DD512B008483C2 /* BSGEventUploadKSCrashReportOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 0126F7B925DD512B008483C2 /* BSGEventUploadKSCrashReportOperation.h */; };
+ 0126F7BD25DD512B008483C2 /* BSGEventUploadKSCrashReportOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 0126F7B925DD512B008483C2 /* BSGEventUploadKSCrashReportOperation.h */; };
+ 0126F7BE25DD512B008483C2 /* BSGEventUploadKSCrashReportOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = 0126F7BA25DD512B008483C2 /* BSGEventUploadKSCrashReportOperation.m */; };
+ 0126F7BF25DD512B008483C2 /* BSGEventUploadKSCrashReportOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = 0126F7BA25DD512B008483C2 /* BSGEventUploadKSCrashReportOperation.m */; };
+ 0126F7C025DD512B008483C2 /* BSGEventUploadKSCrashReportOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = 0126F7BA25DD512B008483C2 /* BSGEventUploadKSCrashReportOperation.m */; };
+ 0126F7C125DD512B008483C2 /* BSGEventUploadKSCrashReportOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = 0126F7BA25DD512B008483C2 /* BSGEventUploadKSCrashReportOperation.m */; };
+ 0127149225F6171000D3500A /* BugsnagClient+AppHangs.h in Headers */ = {isa = PBXBuildFile; fileRef = 0127149025F6171000D3500A /* BugsnagClient+AppHangs.h */; };
+ 0127149325F6171000D3500A /* BugsnagClient+AppHangs.h in Headers */ = {isa = PBXBuildFile; fileRef = 0127149025F6171000D3500A /* BugsnagClient+AppHangs.h */; };
+ 0127149425F6171000D3500A /* BugsnagClient+AppHangs.h in Headers */ = {isa = PBXBuildFile; fileRef = 0127149025F6171000D3500A /* BugsnagClient+AppHangs.h */; };
+ 0127149525F6171000D3500A /* BugsnagClient+AppHangs.m in Sources */ = {isa = PBXBuildFile; fileRef = 0127149125F6171000D3500A /* BugsnagClient+AppHangs.m */; };
+ 0127149625F6171000D3500A /* BugsnagClient+AppHangs.m in Sources */ = {isa = PBXBuildFile; fileRef = 0127149125F6171000D3500A /* BugsnagClient+AppHangs.m */; };
+ 0127149725F6171000D3500A /* BugsnagClient+AppHangs.m in Sources */ = {isa = PBXBuildFile; fileRef = 0127149125F6171000D3500A /* BugsnagClient+AppHangs.m */; };
+ 0127149825F6171000D3500A /* BugsnagClient+AppHangs.m in Sources */ = {isa = PBXBuildFile; fileRef = 0127149125F6171000D3500A /* BugsnagClient+AppHangs.m */; };
0140D29A25767C9A00FD0306 /* BugsnagApiClientTest.m in Sources */ = {isa = PBXBuildFile; fileRef = CB9103632502320A00E9D1E2 /* BugsnagApiClientTest.m */; };
01447605256684500018AB94 /* BugsnagApiClientTest.m in Sources */ = {isa = PBXBuildFile; fileRef = CB9103632502320A00E9D1E2 /* BugsnagApiClientTest.m */; };
01468F5225876DC1002B0519 /* BSGNotificationBreadcrumbs.h in Headers */ = {isa = PBXBuildFile; fileRef = 01468F5025876DC1002B0519 /* BSGNotificationBreadcrumbs.h */; };
@@ -656,11 +671,24 @@
016875C6258D003200DFFF69 /* NSUserDefaultsStub.m in Sources */ = {isa = PBXBuildFile; fileRef = 016875C5258D003200DFFF69 /* NSUserDefaultsStub.m */; };
016875C7258D003200DFFF69 /* NSUserDefaultsStub.m in Sources */ = {isa = PBXBuildFile; fileRef = 016875C5258D003200DFFF69 /* NSUserDefaultsStub.m */; };
016875C8258D003200DFFF69 /* NSUserDefaultsStub.m in Sources */ = {isa = PBXBuildFile; fileRef = 016875C5258D003200DFFF69 /* NSUserDefaultsStub.m */; };
+ 01840B6F25DC26E200F95648 /* BSGEventUploader.h in Headers */ = {isa = PBXBuildFile; fileRef = 01840B6D25DC26E200F95648 /* BSGEventUploader.h */; };
+ 01840B7025DC26E200F95648 /* BSGEventUploader.h in Headers */ = {isa = PBXBuildFile; fileRef = 01840B6D25DC26E200F95648 /* BSGEventUploader.h */; };
+ 01840B7125DC26E200F95648 /* BSGEventUploader.h in Headers */ = {isa = PBXBuildFile; fileRef = 01840B6D25DC26E200F95648 /* BSGEventUploader.h */; };
+ 01840B7225DC26E200F95648 /* BSGEventUploader.m in Sources */ = {isa = PBXBuildFile; fileRef = 01840B6E25DC26E200F95648 /* BSGEventUploader.m */; };
+ 01840B7325DC26E200F95648 /* BSGEventUploader.m in Sources */ = {isa = PBXBuildFile; fileRef = 01840B6E25DC26E200F95648 /* BSGEventUploader.m */; };
+ 01840B7425DC26E200F95648 /* BSGEventUploader.m in Sources */ = {isa = PBXBuildFile; fileRef = 01840B6E25DC26E200F95648 /* BSGEventUploader.m */; };
+ 01840B7525DC26E200F95648 /* BSGEventUploader.m in Sources */ = {isa = PBXBuildFile; fileRef = 01840B6E25DC26E200F95648 /* BSGEventUploader.m */; };
0187D464255BD7B800C503D9 /* BugsnagApiClientTest.m in Sources */ = {isa = PBXBuildFile; fileRef = CB9103632502320A00E9D1E2 /* BugsnagApiClientTest.m */; };
01B14C56251CE55F00118748 /* report-react-native-promise-rejection.json in Resources */ = {isa = PBXBuildFile; fileRef = 01B14C55251CE55F00118748 /* report-react-native-promise-rejection.json */; };
01B14C57251CE55F00118748 /* report-react-native-promise-rejection.json in Resources */ = {isa = PBXBuildFile; fileRef = 01B14C55251CE55F00118748 /* report-react-native-promise-rejection.json */; };
01B14C58251CE55F00118748 /* report-react-native-promise-rejection.json in Resources */ = {isa = PBXBuildFile; fileRef = 01B14C55251CE55F00118748 /* report-react-native-promise-rejection.json */; };
01B6BB7E25D5777F00FC4DE6 /* BugsnagSwiftPublicAPITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 008966B02486D43500DC48C2 /* BugsnagSwiftPublicAPITests.swift */; };
+ 01BDB1F525DEBFB200A91FAF /* BSGEventUploadKSCrashReportOperationTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 01BDB1CE25DEBF4600A91FAF /* BSGEventUploadKSCrashReportOperationTests.m */; };
+ 01BDB1FD25DEBFB300A91FAF /* BSGEventUploadKSCrashReportOperationTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 01BDB1CE25DEBF4600A91FAF /* BSGEventUploadKSCrashReportOperationTests.m */; };
+ 01BDB20525DEBFB300A91FAF /* BSGEventUploadKSCrashReportOperationTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 01BDB1CE25DEBF4600A91FAF /* BSGEventUploadKSCrashReportOperationTests.m */; };
+ 01BDB21525DEC02900A91FAF /* Data in Resources */ = {isa = PBXBuildFile; fileRef = 01BDB21425DEC02900A91FAF /* Data */; };
+ 01BDB21625DEC02900A91FAF /* Data in Resources */ = {isa = PBXBuildFile; fileRef = 01BDB21425DEC02900A91FAF /* Data */; };
+ 01BDB21725DEC02900A91FAF /* Data in Resources */ = {isa = PBXBuildFile; fileRef = 01BDB21425DEC02900A91FAF /* Data */; };
01C17AE72542ED7F00C102C9 /* KSCrashReportWriterTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 01C17AE62542ED7F00C102C9 /* KSCrashReportWriterTests.m */; };
01C17AE82542ED7F00C102C9 /* KSCrashReportWriterTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 01C17AE62542ED7F00C102C9 /* KSCrashReportWriterTests.m */; };
01C17AE92542ED7F00C102C9 /* KSCrashReportWriterTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 01C17AE62542ED7F00C102C9 /* KSCrashReportWriterTests.m */; };
@@ -830,7 +858,6 @@
E7462900248907C100F92D67 /* NSError+BSG_SimpleConstructor.m in Sources */ = {isa = PBXBuildFile; fileRef = 0089691E2486DAD000DC48C2 /* NSError+BSG_SimpleConstructor.m */; };
E7462901248907C100F92D67 /* BSG_KSLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = 008969262486DAD000DC48C2 /* BSG_KSLogger.m */; };
E7462902248907C100F92D67 /* BSG_KSCrashState.m in Sources */ = {isa = PBXBuildFile; fileRef = 008969292486DAD000DC48C2 /* BSG_KSCrashState.m */; };
- E7462903248907C100F92D67 /* BSG_KSCrashReportStore.m in Sources */ = {isa = PBXBuildFile; fileRef = 0089692C2486DAD000DC48C2 /* BSG_KSCrashReportStore.m */; };
E7462904248907C100F92D67 /* BSG_KSCrashIdentifier.m in Sources */ = {isa = PBXBuildFile; fileRef = 008969302486DAD000DC48C2 /* BSG_KSCrashIdentifier.m */; };
E7462905248907C100F92D67 /* BSG_KSCrash.m in Sources */ = {isa = PBXBuildFile; fileRef = 008969362486DAD000DC48C2 /* BSG_KSCrash.m */; };
E7462906248907C100F92D67 /* BSG_KSCrashSentry_NSException.m in Sources */ = {isa = PBXBuildFile; fileRef = 0089693B2486DAD000DC48C2 /* BSG_KSCrashSentry_NSException.m */; };
@@ -875,7 +902,6 @@
E746294124890D2F00F92D67 /* BSGConfigurationBuilder.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 008967CA2486DA2D00DC48C2 /* BSGConfigurationBuilder.h */; };
E746294524890D2F00F92D67 /* BSGConnectivity.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 008967F22486DA4500DC48C2 /* BSGConnectivity.h */; };
E746294624890D2F00F92D67 /* BugsnagApiClient.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 008967ED2486DA4400DC48C2 /* BugsnagApiClient.h */; };
- E746294724890D2F00F92D67 /* BugsnagErrorReportApiClient.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 008967F32486DA4500DC48C2 /* BugsnagErrorReportApiClient.h */; };
E746294824890D2F00F92D67 /* BugsnagSessionTrackingApiClient.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 008967EC2486DA4400DC48C2 /* BugsnagSessionTrackingApiClient.h */; };
E746294924890D2F00F92D67 /* BSGSerialization.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 008968112486DA5600DC48C2 /* BSGSerialization.h */; };
E746294A24890D2F00F92D67 /* BugsnagCollections.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 008968102486DA5600DC48C2 /* BugsnagCollections.h */; };
@@ -920,7 +946,6 @@
E746298424890D3200F92D67 /* BSG_KSCrashState.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 008969352486DAD000DC48C2 /* BSG_KSCrashState.h */; };
E746298524890D3200F92D67 /* BSG_KSCrashReportVersion.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 008969372486DAD000DC48C2 /* BSG_KSCrashReportVersion.h */; };
E746298624890D3200F92D67 /* BSG_KSCrashAdvanced.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 008969382486DAD000DC48C2 /* BSG_KSCrashAdvanced.h */; };
- E746298724890D3200F92D67 /* BSG_KSCrashReportStore.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 008969392486DAD000DC48C2 /* BSG_KSCrashReportStore.h */; };
E746298824890D3200F92D67 /* BSG_KSCrashSentry_MachException.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0089693C2486DAD000DC48C2 /* BSG_KSCrashSentry_MachException.h */; };
E746298924890D3200F92D67 /* BSG_KSCrashSentry_Private.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0089693D2486DAD000DC48C2 /* BSG_KSCrashSentry_Private.h */; };
E746298A24890D3200F92D67 /* BSG_KSCrashSentry.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0089693F2486DAD000DC48C2 /* BSG_KSCrashSentry.h */; };
@@ -932,9 +957,6 @@
E746299024890D3200F92D67 /* BSG_KSCrashIdentifier.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0089694A2486DAD000DC48C2 /* BSG_KSCrashIdentifier.h */; };
E746299524890D3200F92D67 /* BugsnagCrashSentry.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 00AD1F002486A17900A27979 /* BugsnagCrashSentry.h */; };
E746299624890D3200F92D67 /* BugsnagSessionTracker.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 00AD1EF82486A17700A27979 /* BugsnagSessionTracker.h */; };
- E746299724890D3200F92D67 /* BugsnagErrorReportSink.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 00AD1EFD2486A17800A27979 /* BugsnagErrorReportSink.h */; };
- E75A5CDB248A5D97005D2C74 /* BugsnagErrorReportSink.h in Headers */ = {isa = PBXBuildFile; fileRef = 00AD1EFD2486A17800A27979 /* BugsnagErrorReportSink.h */; };
- E75A5CDC248A5DA2005D2C74 /* BugsnagErrorReportSink.m in Sources */ = {isa = PBXBuildFile; fileRef = 00AD1EF92486A17700A27979 /* BugsnagErrorReportSink.m */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
@@ -993,7 +1015,6 @@
E746294124890D2F00F92D67 /* BSGConfigurationBuilder.h in CopyFiles */,
E746294524890D2F00F92D67 /* BSGConnectivity.h in CopyFiles */,
E746294624890D2F00F92D67 /* BugsnagApiClient.h in CopyFiles */,
- E746294724890D2F00F92D67 /* BugsnagErrorReportApiClient.h in CopyFiles */,
E746294824890D2F00F92D67 /* BugsnagSessionTrackingApiClient.h in CopyFiles */,
E746294924890D2F00F92D67 /* BSGSerialization.h in CopyFiles */,
E746294A24890D2F00F92D67 /* BugsnagCollections.h in CopyFiles */,
@@ -1038,7 +1059,6 @@
E746298424890D3200F92D67 /* BSG_KSCrashState.h in CopyFiles */,
E746298524890D3200F92D67 /* BSG_KSCrashReportVersion.h in CopyFiles */,
E746298624890D3200F92D67 /* BSG_KSCrashAdvanced.h in CopyFiles */,
- E746298724890D3200F92D67 /* BSG_KSCrashReportStore.h in CopyFiles */,
E746298824890D3200F92D67 /* BSG_KSCrashSentry_MachException.h in CopyFiles */,
E746298924890D3200F92D67 /* BSG_KSCrashSentry_Private.h in CopyFiles */,
E746298A24890D3200F92D67 /* BSG_KSCrashSentry.h in CopyFiles */,
@@ -1050,7 +1070,6 @@
E746299024890D3200F92D67 /* BSG_KSCrashIdentifier.h in CopyFiles */,
E746299524890D3200F92D67 /* BugsnagCrashSentry.h in CopyFiles */,
E746299624890D3200F92D67 /* BugsnagSessionTracker.h in CopyFiles */,
- E746299724890D3200F92D67 /* BugsnagErrorReportSink.h in CopyFiles */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -1075,7 +1094,6 @@
008966B52486D43500DC48C2 /* BugsnagErrorTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BugsnagErrorTest.m; sourceTree = ""; };
008966B62486D43500DC48C2 /* BugsnagSessionTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BugsnagSessionTest.m; sourceTree = ""; };
008966B72486D43500DC48C2 /* report.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = report.json; sourceTree = ""; };
- 008966B82486D43500DC48C2 /* BugsnagErrorReportSinkTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BugsnagErrorReportSinkTests.m; sourceTree = ""; };
008966B92486D43500DC48C2 /* BugsnagHandledStateTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BugsnagHandledStateTest.m; sourceTree = ""; };
008966BA2486D43500DC48C2 /* BugsnagStackframeTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BugsnagStackframeTest.m; sourceTree = ""; };
008966BB2486D43500DC48C2 /* BugsnagStacktraceTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BugsnagStacktraceTest.m; sourceTree = ""; };
@@ -1109,8 +1127,6 @@
008966DB2486D43700DC48C2 /* KSSystemInfo_Tests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KSSystemInfo_Tests.m; sourceTree = ""; };
008966DC2486D43700DC48C2 /* KSDynamicLinker_Tests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KSDynamicLinker_Tests.m; sourceTree = ""; };
008966DD2486D43700DC48C2 /* KSCrashSentry_NSException_Tests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KSCrashSentry_NSException_Tests.m; sourceTree = ""; };
- 008966DE2486D43700DC48C2 /* KSCrashReportStore_Tests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KSCrashReportStore_Tests.m; sourceTree = ""; };
- 008966DF2486D43700DC48C2 /* KSCrashReportConverter_Tests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KSCrashReportConverter_Tests.m; sourceTree = ""; };
008966E02486D43700DC48C2 /* KSJSONCodec_Tests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KSJSONCodec_Tests.m; sourceTree = ""; };
008966E12486D43700DC48C2 /* KSSignalInfo_Tests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KSSignalInfo_Tests.m; sourceTree = ""; };
008966E22486D43700DC48C2 /* XCTestCase+KSCrash.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "XCTestCase+KSCrash.h"; sourceTree = ""; };
@@ -1137,9 +1153,7 @@
008967EE2486DA4400DC48C2 /* BugsnagApiClient.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BugsnagApiClient.m; sourceTree = ""; };
008967EF2486DA4500DC48C2 /* BugsnagSessionTrackingApiClient.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BugsnagSessionTrackingApiClient.m; sourceTree = ""; };
008967F02486DA4500DC48C2 /* BSGConnectivity.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BSGConnectivity.m; sourceTree = ""; };
- 008967F12486DA4500DC48C2 /* BugsnagErrorReportApiClient.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BugsnagErrorReportApiClient.m; sourceTree = ""; };
008967F22486DA4500DC48C2 /* BSGConnectivity.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BSGConnectivity.h; sourceTree = ""; };
- 008967F32486DA4500DC48C2 /* BugsnagErrorReportApiClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BugsnagErrorReportApiClient.h; sourceTree = ""; };
008968102486DA5600DC48C2 /* BugsnagCollections.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BugsnagCollections.h; sourceTree = ""; };
008968112486DA5600DC48C2 /* BSGSerialization.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BSGSerialization.h; sourceTree = ""; };
008968122486DA5600DC48C2 /* BugsnagPlatformConditional.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BugsnagPlatformConditional.h; sourceTree = ""; };
@@ -1218,7 +1232,6 @@
008969292486DAD000DC48C2 /* BSG_KSCrashState.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BSG_KSCrashState.m; sourceTree = ""; };
0089692A2486DAD000DC48C2 /* BSG_KSCrashContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BSG_KSCrashContext.h; sourceTree = ""; };
0089692B2486DAD000DC48C2 /* BSG_KSCrashType.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = BSG_KSCrashType.c; sourceTree = ""; };
- 0089692C2486DAD000DC48C2 /* BSG_KSCrashReportStore.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BSG_KSCrashReportStore.m; sourceTree = ""; };
0089692D2486DAD000DC48C2 /* BSG_KSCrash.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BSG_KSCrash.h; sourceTree = ""; };
0089692E2486DAD000DC48C2 /* BSG_KSCrashC.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BSG_KSCrashC.h; sourceTree = ""; };
0089692F2486DAD000DC48C2 /* BSG_KSSystemInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BSG_KSSystemInfo.h; sourceTree = ""; };
@@ -1231,7 +1244,6 @@
008969362486DAD000DC48C2 /* BSG_KSCrash.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BSG_KSCrash.m; sourceTree = ""; };
008969372486DAD000DC48C2 /* BSG_KSCrashReportVersion.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BSG_KSCrashReportVersion.h; sourceTree = ""; };
008969382486DAD000DC48C2 /* BSG_KSCrashAdvanced.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BSG_KSCrashAdvanced.h; sourceTree = ""; };
- 008969392486DAD000DC48C2 /* BSG_KSCrashReportStore.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BSG_KSCrashReportStore.h; sourceTree = ""; };
0089693B2486DAD000DC48C2 /* BSG_KSCrashSentry_NSException.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BSG_KSCrashSentry_NSException.m; sourceTree = ""; };
0089693C2486DAD000DC48C2 /* BSG_KSCrashSentry_MachException.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BSG_KSCrashSentry_MachException.h; sourceTree = ""; };
0089693D2486DAD000DC48C2 /* BSG_KSCrashSentry_Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BSG_KSCrashSentry_Private.h; sourceTree = ""; };
@@ -1262,8 +1274,6 @@
00AD1CD124869C2400A27979 /* Bugsnag-tvOSTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "Bugsnag-tvOSTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; };
00AD1CE424869C6C00A27979 /* libBugsnagStatic.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libBugsnagStatic.a; sourceTree = BUILT_PRODUCTS_DIR; };
00AD1EF82486A17700A27979 /* BugsnagSessionTracker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BugsnagSessionTracker.h; sourceTree = ""; };
- 00AD1EF92486A17700A27979 /* BugsnagErrorReportSink.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BugsnagErrorReportSink.m; sourceTree = ""; };
- 00AD1EFD2486A17800A27979 /* BugsnagErrorReportSink.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BugsnagErrorReportSink.h; sourceTree = ""; };
00AD1EFE2486A17800A27979 /* Bugsnag.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Bugsnag.m; sourceTree = ""; };
00AD1EFF2486A17900A27979 /* BugsnagCrashSentry.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BugsnagCrashSentry.m; sourceTree = ""; };
00AD1F002486A17900A27979 /* BugsnagCrashSentry.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BugsnagCrashSentry.h; sourceTree = ""; };
@@ -1279,6 +1289,8 @@
00E636C02487031D006CBF1A /* Bugsnag.podspec.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = Bugsnag.podspec.json; sourceTree = SOURCE_ROOT; };
00E636C12487031D006CBF1A /* docker-compose.yml */ = {isa = PBXFileReference; lastKnownFileType = text.yaml; path = "docker-compose.yml"; sourceTree = SOURCE_ROOT; };
00E636C324878FFC006CBF1A /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
+ 010FF28225ED2A8D00E4F2B0 /* BSGAppHangDetector.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = BSGAppHangDetector.h; sourceTree = ""; };
+ 010FF28325ED2A8D00E4F2B0 /* BSGAppHangDetector.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = BSGAppHangDetector.m; sourceTree = ""; };
01210B7C25CD661800D683BB /* BugsnagThread+Recording.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "BugsnagThread+Recording.h"; sourceTree = ""; };
01210B8725CD665000D683BB /* BugsnagThread+Recording.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "BugsnagThread+Recording.m"; sourceTree = ""; };
012482A225627B51003F7243 /* UIKitTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = UIKitTests.m; sourceTree = ""; };
@@ -1289,6 +1301,16 @@
0126DF1A257A92860031A70C /* BugsnagSession+Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "BugsnagSession+Private.h"; sourceTree = ""; };
0126DF2C257A92D70031A70C /* BugsnagStacktrace+Private.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "BugsnagStacktrace+Private.h"; sourceTree = ""; };
0126DF34257A94740031A70C /* BugsnagUser+Private.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "BugsnagUser+Private.h"; sourceTree = ""; };
+ 0126F78925DD508C008483C2 /* BSGEventUploadOperation.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = BSGEventUploadOperation.h; sourceTree = ""; };
+ 0126F78A25DD508C008483C2 /* BSGEventUploadOperation.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = BSGEventUploadOperation.m; sourceTree = ""; };
+ 0126F79925DD510E008483C2 /* BSGEventUploadObjectOperation.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = BSGEventUploadObjectOperation.h; sourceTree = ""; };
+ 0126F79A25DD510E008483C2 /* BSGEventUploadObjectOperation.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = BSGEventUploadObjectOperation.m; sourceTree = ""; };
+ 0126F7A925DD5118008483C2 /* BSGEventUploadFileOperation.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = BSGEventUploadFileOperation.h; sourceTree = ""; };
+ 0126F7AA25DD5118008483C2 /* BSGEventUploadFileOperation.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = BSGEventUploadFileOperation.m; sourceTree = ""; };
+ 0126F7B925DD512B008483C2 /* BSGEventUploadKSCrashReportOperation.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = BSGEventUploadKSCrashReportOperation.h; sourceTree = ""; };
+ 0126F7BA25DD512B008483C2 /* BSGEventUploadKSCrashReportOperation.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = BSGEventUploadKSCrashReportOperation.m; sourceTree = ""; };
+ 0127149025F6171000D3500A /* BugsnagClient+AppHangs.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "BugsnagClient+AppHangs.h"; sourceTree = ""; };
+ 0127149125F6171000D3500A /* BugsnagClient+AppHangs.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "BugsnagClient+AppHangs.m"; sourceTree = ""; };
0134524A256BCF7C0088C548 /* BugsnagError+Private.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "BugsnagError+Private.h"; sourceTree = ""; };
0134524B256BD00A0088C548 /* BugsnagThread+Private.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "BugsnagThread+Private.h"; sourceTree = ""; };
0140D24725765F8F00FD0306 /* BSGUIKit.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = BSGUIKit.h; sourceTree = ""; };
@@ -1298,15 +1320,20 @@
0163BF5825823D8D008DC28B /* NotificationBreadcrumbTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = NotificationBreadcrumbTests.m; sourceTree = ""; };
016875C4258D003200DFFF69 /* NSUserDefaultsStub.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = NSUserDefaultsStub.h; sourceTree = ""; };
016875C5258D003200DFFF69 /* NSUserDefaultsStub.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = NSUserDefaultsStub.m; sourceTree = ""; };
+ 01840B6D25DC26E200F95648 /* BSGEventUploader.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = BSGEventUploader.h; sourceTree = ""; };
+ 01840B6E25DC26E200F95648 /* BSGEventUploader.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = BSGEventUploader.m; sourceTree = ""; };
01937CF9257A7B4C00F2DE31 /* Bugsnag+Private.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Bugsnag+Private.h"; sourceTree = ""; };
- 01937D01257A7E0E00F2DE31 /* BugsnagErrorReportSink+Private.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "BugsnagErrorReportSink+Private.h"; sourceTree = ""; };
01937D09257A7ED000F2DE31 /* BugsnagSessionTracker+Private.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "BugsnagSessionTracker+Private.h"; sourceTree = ""; };
01937D11257A814D00F2DE31 /* BugsnagMetadata+Private.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "BugsnagMetadata+Private.h"; sourceTree = ""; };
01937D2E257A83A900F2DE31 /* BugsnagApp+Private.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "BugsnagApp+Private.h"; sourceTree = ""; };
0195FC3B256BC81400DE6646 /* BugsnagEvent+Private.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "BugsnagEvent+Private.h"; sourceTree = ""; };
0198762E2567D5AB000A7AF3 /* BugsnagStackframe+Private.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "BugsnagStackframe+Private.h"; sourceTree = ""; };
01B14C55251CE55F00118748 /* report-react-native-promise-rejection.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = "report-react-native-promise-rejection.json"; sourceTree = ""; };
+ 01BDB1CE25DEBF4600A91FAF /* BSGEventUploadKSCrashReportOperationTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = BSGEventUploadKSCrashReportOperationTests.m; sourceTree = ""; };
+ 01BDB21425DEC02900A91FAF /* Data */ = {isa = PBXFileReference; lastKnownFileType = folder; path = Data; sourceTree = ""; };
01C17AE62542ED7F00C102C9 /* KSCrashReportWriterTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = KSCrashReportWriterTests.m; sourceTree = ""; };
+ 01C2769B2601F44D006901EA /* CHANGELOG.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = CHANGELOG.md; sourceTree = ""; };
+ 01C2769C2601F455006901EA /* CONTRIBUTING.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = CONTRIBUTING.md; sourceTree = ""; };
01CCAEE825D414D60057268D /* BugsnagLastRunInfo.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = BugsnagLastRunInfo.h; sourceTree = ""; };
01CCAEE925D414D60057268D /* BugsnagLastRunInfo.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = BugsnagLastRunInfo.m; sourceTree = ""; };
01CCAEFF25D4151C0057268D /* BugsnagLastRunInfo+Private.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "BugsnagLastRunInfo+Private.h"; sourceTree = ""; };
@@ -1458,8 +1485,6 @@
008966D62486D43700DC48C2 /* FileBasedTestCase.h */,
008966E42486D43700DC48C2 /* FileBasedTestCase.m */,
008966E92486D43700DC48C2 /* KSCrashIdentifierTests.m */,
- 008966DF2486D43700DC48C2 /* KSCrashReportConverter_Tests.m */,
- 008966DE2486D43700DC48C2 /* KSCrashReportStore_Tests.m */,
01C17AE62542ED7F00C102C9 /* KSCrashReportWriterTests.m */,
008966DD2486D43700DC48C2 /* KSCrashSentry_NSException_Tests.m */,
008966E72486D43700DC48C2 /* KSCrashSentry_Signal_Tests.m */,
@@ -1542,8 +1567,6 @@
008969492486DAD000DC48C2 /* BSG_KSCrashReport.c */,
008969322486DAD000DC48C2 /* BSG_KSCrashReport.h */,
008969342486DAD000DC48C2 /* BSG_KSCrashReportFields.h */,
- 008969392486DAD000DC48C2 /* BSG_KSCrashReportStore.h */,
- 0089692C2486DAD000DC48C2 /* BSG_KSCrashReportStore.m */,
008969372486DAD000DC48C2 /* BSG_KSCrashReportVersion.h */,
008969352486DAD000DC48C2 /* BSG_KSCrashState.h */,
008969292486DAD000DC48C2 /* BSG_KSCrashState.m */,
@@ -1623,6 +1646,8 @@
00AD1C6824869B0E00A27979 = {
isa = PBXGroup;
children = (
+ 01C2769B2601F44D006901EA /* CHANGELOG.md */,
+ 01C2769C2601F455006901EA /* CONTRIBUTING.md */,
00E636B2248702A1006CBF1A /* README.md */,
00E636B3248702A1006CBF1A /* LICENSE.txt */,
00AD1C7424869B0E00A27979 /* Bugsnag */,
@@ -1654,9 +1679,6 @@
01937CF9257A7B4C00F2DE31 /* Bugsnag+Private.h */,
00AD1F002486A17900A27979 /* BugsnagCrashSentry.h */,
00AD1EFF2486A17900A27979 /* BugsnagCrashSentry.m */,
- 00AD1EFD2486A17800A27979 /* BugsnagErrorReportSink.h */,
- 00AD1EF92486A17700A27979 /* BugsnagErrorReportSink.m */,
- 01937D01257A7E0E00F2DE31 /* BugsnagErrorReportSink+Private.h */,
01CCAEE925D414D60057268D /* BugsnagLastRunInfo.m */,
01CCAEFF25D4151C0057268D /* BugsnagLastRunInfo+Private.h */,
00AD1EF82486A17700A27979 /* BugsnagSessionTracker.h */,
@@ -1684,6 +1706,7 @@
children = (
00896A3F2486DBDD00DC48C2 /* BSGConfigurationBuilderTests.m */,
008966C62486D43600DC48C2 /* BSGConnectivityTest.m */,
+ 01BDB1CE25DEBF4600A91FAF /* BSGEventUploadKSCrashReportOperationTests.m */,
CBCF77AA250142E0004AF22A /* BSGJSONSerializationTests.m */,
008966C82486D43600DC48C2 /* BSGOutOfMemoryTests.m */,
CB6419AA25A73E8C00613D25 /* BSGStorageMigratorTests.m */,
@@ -1698,7 +1721,6 @@
00896A432486DBF000DC48C2 /* BugsnagConfigurationTests.m */,
008966A42486D43400DC48C2 /* BugsnagDeviceTest.m */,
008966CB2486D43600DC48C2 /* BugsnagEnabledBreadcrumbTest.m */,
- 008966B82486D43500DC48C2 /* BugsnagErrorReportSinkTests.m */,
008966B52486D43500DC48C2 /* BugsnagErrorTest.m */,
008966C02486D43600DC48C2 /* BugsnagEventFromKSCrashReportTest.m */,
008966AC2486D43500DC48C2 /* BugsnagEventPersistLoadTest.m */,
@@ -1727,6 +1749,7 @@
008966C52486D43600DC48C2 /* BugsnagUserTest.m */,
E701FAA62490EF77008D842F /* ClientApiValidationTest.m */,
E701FAAE2490EFE8008D842F /* ConfigurationApiValidationTest.m */,
+ 01BDB21425DEC02900A91FAF /* Data */,
E701FAAA2490EFD9008D842F /* EventApiValidationTest.m */,
00E636C324878FFC006CBF1A /* Info.plist */,
008966D32486D43700DC48C2 /* KSCrash */,
@@ -1761,6 +1784,8 @@
isa = PBXGroup;
children = (
008967BB2486DA1900DC48C2 /* BugsnagClient.m */,
+ 0127149025F6171000D3500A /* BugsnagClient+AppHangs.h */,
+ 0127149125F6171000D3500A /* BugsnagClient+AppHangs.m */,
008967BC2486DA1900DC48C2 /* BugsnagClient+Private.h */,
);
path = Client;
@@ -1784,10 +1809,18 @@
children = (
008967F22486DA4500DC48C2 /* BSGConnectivity.h */,
008967F02486DA4500DC48C2 /* BSGConnectivity.m */,
+ 01840B6D25DC26E200F95648 /* BSGEventUploader.h */,
+ 01840B6E25DC26E200F95648 /* BSGEventUploader.m */,
+ 0126F7A925DD5118008483C2 /* BSGEventUploadFileOperation.h */,
+ 0126F7AA25DD5118008483C2 /* BSGEventUploadFileOperation.m */,
+ 0126F7B925DD512B008483C2 /* BSGEventUploadKSCrashReportOperation.h */,
+ 0126F7BA25DD512B008483C2 /* BSGEventUploadKSCrashReportOperation.m */,
+ 0126F79925DD510E008483C2 /* BSGEventUploadObjectOperation.h */,
+ 0126F79A25DD510E008483C2 /* BSGEventUploadObjectOperation.m */,
+ 0126F78925DD508C008483C2 /* BSGEventUploadOperation.h */,
+ 0126F78A25DD508C008483C2 /* BSGEventUploadOperation.m */,
008967ED2486DA4400DC48C2 /* BugsnagApiClient.h */,
008967EE2486DA4400DC48C2 /* BugsnagApiClient.m */,
- 008967F32486DA4500DC48C2 /* BugsnagErrorReportApiClient.h */,
- 008967F12486DA4500DC48C2 /* BugsnagErrorReportApiClient.m */,
008967EC2486DA4400DC48C2 /* BugsnagSessionTrackingApiClient.h */,
008967EF2486DA4500DC48C2 /* BugsnagSessionTrackingApiClient.m */,
);
@@ -1799,6 +1832,8 @@
children = (
008969272486DAD000DC48C2 /* BSG_RFC3339DateTool.h */,
008969142486DAD000DC48C2 /* BSG_RFC3339DateTool.m */,
+ 010FF28225ED2A8D00E4F2B0 /* BSGAppHangDetector.h */,
+ 010FF28325ED2A8D00E4F2B0 /* BSGAppHangDetector.m */,
CBCF77A125010648004AF22A /* BSGJSONSerialization.h */,
CBCF77A225010648004AF22A /* BSGJSONSerialization.m */,
008968112486DA5600DC48C2 /* BSGSerialization.h */,
@@ -1981,13 +2016,16 @@
3A700A9824A63AC60068CD1B /* BugsnagEndpointConfiguration.h in Headers */,
CBB092902519F891007698BC /* BugsnagSystemState.h in Headers */,
3A700A9924A63AC60068CD1B /* BugsnagBreadcrumb.h in Headers */,
+ 0126F7AB25DD5118008483C2 /* BSGEventUploadFileOperation.h in Headers */,
3A700A9A24A63AC60068CD1B /* BSG_KSCrashReportWriter.h in Headers */,
3A700A9B24A63AC60068CD1B /* BugsnagErrorTypes.h in Headers */,
+ 01840B6F25DC26E200F95648 /* BSGEventUploader.h in Headers */,
3A700A9C24A63AC60068CD1B /* BugsnagEvent.h in Headers */,
3A700A9D24A63AC60068CD1B /* BugsnagClient.h in Headers */,
3A700A9E24A63AC60068CD1B /* BugsnagUser.h in Headers */,
3A700A9F24A63ADC0068CD1B /* BugsnagAppWithState.h in Headers */,
3A700AA024A63ADC0068CD1B /* Bugsnag.h in Headers */,
+ 0126F78B25DD508C008483C2 /* BSGEventUploadOperation.h in Headers */,
3A700AA124A63ADC0068CD1B /* BugsnagConfiguration.h in Headers */,
3A700AA224A63ADC0068CD1B /* BugsnagPlugin.h in Headers */,
3A700AA324A63ADC0068CD1B /* BugsnagDevice.h in Headers */,
@@ -2001,6 +2039,7 @@
008968282486DA5600DC48C2 /* BugsnagKeys.h in Headers */,
CBCAF6FA25A457F90095771F /* BSGFileLocations.h in Headers */,
008969BD2486DAD100DC48C2 /* BSG_KSMachHeaders.h in Headers */,
+ 0126F7BB25DD512B008483C2 /* BSGEventUploadKSCrashReportOperation.h in Headers */,
008968DE2486DAA700DC48C2 /* BugsnagPluginClient.h in Headers */,
008969EA2486DAD100DC48C2 /* BSG_KSCrashReport.h in Headers */,
008969F02486DAD100DC48C2 /* BSG_KSCrashReportFields.h in Headers */,
@@ -2014,11 +2053,12 @@
008969E72486DAD100DC48C2 /* BSG_KSSystemInfoC.h in Headers */,
008968A42486DA9600DC48C2 /* BugsnagSessionTrackingPayload.h in Headers */,
CBAA6ABB250BA70E00713376 /* BugsnagKVStore.h in Headers */,
- E75A5CDB248A5D97005D2C74 /* BugsnagErrorReportSink.h in Headers */,
00AD1F102486A17900A27979 /* BugsnagSessionTracker.h in Headers */,
+ 0126F79B25DD510E008483C2 /* BSGEventUploadObjectOperation.h in Headers */,
008968F42486DAB800DC48C2 /* BugsnagSessionFileStore.h in Headers */,
008968882486DA9600DC48C2 /* BugsnagHandledState.h in Headers */,
CBCF77A325010648004AF22A /* BSGJSONSerialization.h in Headers */,
+ 0127149225F6171000D3500A /* BugsnagClient+AppHangs.h in Headers */,
00896A082486DAD100DC48C2 /* BSG_KSCrashSentry_Private.h in Headers */,
008969722486DAD000DC48C2 /* BSG_KSSignalInfo.h in Headers */,
008967C22486DA1900DC48C2 /* BugsnagClient+Private.h in Headers */,
@@ -2029,10 +2069,10 @@
00AD1F2B2486A17900A27979 /* BugsnagCrashSentry.h in Headers */,
00896A1D2486DAD100DC48C2 /* BSG_KSCrashSentry_NSException.h in Headers */,
0089695A2486DAD000DC48C2 /* BSG_KSBacktrace.h in Headers */,
- 0089680D2486DA4500DC48C2 /* BugsnagErrorReportApiClient.h in Headers */,
0089688B2486DA9600DC48C2 /* BugsnagStacktrace.h in Headers */,
0089681E2486DA5600DC48C2 /* BugsnagPlatformConditional.h in Headers */,
008969602486DAD000DC48C2 /* BSG_KSSysCtl.h in Headers */,
+ 010FF28425ED2A8D00E4F2B0 /* BSGAppHangDetector.h in Headers */,
008967F42486DA4500DC48C2 /* BugsnagSessionTrackingApiClient.h in Headers */,
0126DF1B257A92860031A70C /* BugsnagSession+Private.h in Headers */,
008969E12486DAD100DC48C2 /* BSG_KSSystemInfo.h in Headers */,
@@ -2060,7 +2100,6 @@
0089696F2486DAD000DC48C2 /* BSG_KSFileUtils.h in Headers */,
008969512486DAD000DC48C2 /* BSGOnErrorSentBlock.h in Headers */,
00896A052486DAD100DC48C2 /* BSG_KSCrashSentry_MachException.h in Headers */,
- 008969FF2486DAD100DC48C2 /* BSG_KSCrashReportStore.h in Headers */,
008968CF2486DA9600DC48C2 /* BugsnagNotifier.h in Headers */,
008969872486DAD100DC48C2 /* BSG_KSMachApple.h in Headers */,
008969C92486DAD100DC48C2 /* BSG_RFC3339DateTool.h in Headers */,
@@ -2080,13 +2119,16 @@
3A700AAC24A63CFD0068CD1B /* BugsnagEndpointConfiguration.h in Headers */,
CBB092912519F891007698BC /* BugsnagSystemState.h in Headers */,
3A700AAD24A63CFD0068CD1B /* BugsnagBreadcrumb.h in Headers */,
+ 0126F7AC25DD5118008483C2 /* BSGEventUploadFileOperation.h in Headers */,
3A700AAE24A63CFD0068CD1B /* BSG_KSCrashReportWriter.h in Headers */,
3A700AAF24A63CFD0068CD1B /* BugsnagErrorTypes.h in Headers */,
+ 01840B7025DC26E200F95648 /* BSGEventUploader.h in Headers */,
3A700AB024A63CFD0068CD1B /* BugsnagEvent.h in Headers */,
3A700AB124A63CFD0068CD1B /* BugsnagClient.h in Headers */,
3A700AB224A63CFD0068CD1B /* BugsnagUser.h in Headers */,
3A700AB324A63CFD0068CD1B /* BugsnagAppWithState.h in Headers */,
3A700AB424A63CFD0068CD1B /* Bugsnag.h in Headers */,
+ 0126F78C25DD508C008483C2 /* BSGEventUploadOperation.h in Headers */,
3A700AB524A63CFD0068CD1B /* BugsnagConfiguration.h in Headers */,
3A700AB624A63CFD0068CD1B /* BugsnagPlugin.h in Headers */,
3A700AB724A63CFD0068CD1B /* BugsnagDevice.h in Headers */,
@@ -2100,6 +2142,7 @@
008968292486DA5600DC48C2 /* BugsnagKeys.h in Headers */,
CBCAF6FB25A457F90095771F /* BSGFileLocations.h in Headers */,
008969BE2486DAD100DC48C2 /* BSG_KSMachHeaders.h in Headers */,
+ 0126F7BC25DD512B008483C2 /* BSGEventUploadKSCrashReportOperation.h in Headers */,
008968DF2486DAA700DC48C2 /* BugsnagPluginClient.h in Headers */,
008969EB2486DAD100DC48C2 /* BSG_KSCrashReport.h in Headers */,
008969F12486DAD100DC48C2 /* BSG_KSCrashReportFields.h in Headers */,
@@ -2115,8 +2158,10 @@
CBAA6ABC250BA70E00713376 /* BugsnagKVStore.h in Headers */,
00AD1F112486A17900A27979 /* BugsnagSessionTracker.h in Headers */,
008968F52486DAB800DC48C2 /* BugsnagSessionFileStore.h in Headers */,
+ 0126F79C25DD510E008483C2 /* BSGEventUploadObjectOperation.h in Headers */,
008968892486DA9600DC48C2 /* BugsnagHandledState.h in Headers */,
00896A092486DAD100DC48C2 /* BSG_KSCrashSentry_Private.h in Headers */,
+ 0127149325F6171000D3500A /* BugsnagClient+AppHangs.h in Headers */,
CBCF77A425010648004AF22A /* BSGJSONSerialization.h in Headers */,
008969732486DAD000DC48C2 /* BSG_KSSignalInfo.h in Headers */,
008967C32486DA1900DC48C2 /* BugsnagClient+Private.h in Headers */,
@@ -2127,11 +2172,11 @@
00AD1F2C2486A17900A27979 /* BugsnagCrashSentry.h in Headers */,
00896A1E2486DAD100DC48C2 /* BSG_KSCrashSentry_NSException.h in Headers */,
0089695B2486DAD000DC48C2 /* BSG_KSBacktrace.h in Headers */,
- 0089680E2486DA4500DC48C2 /* BugsnagErrorReportApiClient.h in Headers */,
0089688C2486DA9600DC48C2 /* BugsnagStacktrace.h in Headers */,
0089681F2486DA5600DC48C2 /* BugsnagPlatformConditional.h in Headers */,
008969612486DAD000DC48C2 /* BSG_KSSysCtl.h in Headers */,
008967F52486DA4500DC48C2 /* BugsnagSessionTrackingApiClient.h in Headers */,
+ 010FF28525ED2A8D00E4F2B0 /* BSGAppHangDetector.h in Headers */,
008969E22486DAD100DC48C2 /* BSG_KSSystemInfo.h in Headers */,
0126DF1C257A92860031A70C /* BugsnagSession+Private.h in Headers */,
00896A0F2486DAD100DC48C2 /* BSG_KSCrashSentry.h in Headers */,
@@ -2158,12 +2203,10 @@
008969702486DAD000DC48C2 /* BSG_KSFileUtils.h in Headers */,
008969522486DAD000DC48C2 /* BSGOnErrorSentBlock.h in Headers */,
00896A062486DAD100DC48C2 /* BSG_KSCrashSentry_MachException.h in Headers */,
- 00896A002486DAD100DC48C2 /* BSG_KSCrashReportStore.h in Headers */,
008968D02486DA9600DC48C2 /* BugsnagNotifier.h in Headers */,
008969882486DAD100DC48C2 /* BSG_KSMachApple.h in Headers */,
008969CA2486DAD100DC48C2 /* BSG_RFC3339DateTool.h in Headers */,
008969F42486DAD100DC48C2 /* BSG_KSCrashState.h in Headers */,
- 00AD1F212486A17900A27979 /* BugsnagErrorReportSink.h in Headers */,
008969792486DAD100DC48C2 /* NSError+BSG_SimpleConstructor.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
@@ -2179,13 +2222,16 @@
3A700AC024A63D110068CD1B /* BugsnagEndpointConfiguration.h in Headers */,
CBB092922519F891007698BC /* BugsnagSystemState.h in Headers */,
3A700AC124A63D110068CD1B /* BugsnagBreadcrumb.h in Headers */,
+ 0126F7AD25DD5118008483C2 /* BSGEventUploadFileOperation.h in Headers */,
3A700AC224A63D110068CD1B /* BSG_KSCrashReportWriter.h in Headers */,
3A700AC324A63D110068CD1B /* BugsnagErrorTypes.h in Headers */,
+ 01840B7125DC26E200F95648 /* BSGEventUploader.h in Headers */,
3A700AC424A63D110068CD1B /* BugsnagEvent.h in Headers */,
3A700AC524A63D110068CD1B /* BugsnagClient.h in Headers */,
3A700AC624A63D110068CD1B /* BugsnagUser.h in Headers */,
3A700AC724A63D110068CD1B /* BugsnagAppWithState.h in Headers */,
3A700AC824A63D110068CD1B /* Bugsnag.h in Headers */,
+ 0126F78D25DD508C008483C2 /* BSGEventUploadOperation.h in Headers */,
3A700AC924A63D110068CD1B /* BugsnagConfiguration.h in Headers */,
3A700ACA24A63D110068CD1B /* BugsnagPlugin.h in Headers */,
3A700ACB24A63D110068CD1B /* BugsnagDevice.h in Headers */,
@@ -2199,6 +2245,7 @@
0089682A2486DA5600DC48C2 /* BugsnagKeys.h in Headers */,
CBCAF6FC25A457F90095771F /* BSGFileLocations.h in Headers */,
008969BF2486DAD100DC48C2 /* BSG_KSMachHeaders.h in Headers */,
+ 0126F7BD25DD512B008483C2 /* BSGEventUploadKSCrashReportOperation.h in Headers */,
008968E02486DAA700DC48C2 /* BugsnagPluginClient.h in Headers */,
008969EC2486DAD100DC48C2 /* BSG_KSCrashReport.h in Headers */,
008969F22486DAD100DC48C2 /* BSG_KSCrashReportFields.h in Headers */,
@@ -2214,8 +2261,10 @@
CBAA6ABD250BA70F00713376 /* BugsnagKVStore.h in Headers */,
00AD1F122486A17900A27979 /* BugsnagSessionTracker.h in Headers */,
008968F62486DAB800DC48C2 /* BugsnagSessionFileStore.h in Headers */,
+ 0126F79D25DD510E008483C2 /* BSGEventUploadObjectOperation.h in Headers */,
0089688A2486DA9600DC48C2 /* BugsnagHandledState.h in Headers */,
00896A0A2486DAD100DC48C2 /* BSG_KSCrashSentry_Private.h in Headers */,
+ 0127149425F6171000D3500A /* BugsnagClient+AppHangs.h in Headers */,
CBCF77A525010648004AF22A /* BSGJSONSerialization.h in Headers */,
008969742486DAD100DC48C2 /* BSG_KSSignalInfo.h in Headers */,
008967C42486DA1900DC48C2 /* BugsnagClient+Private.h in Headers */,
@@ -2226,11 +2275,11 @@
00AD1F2D2486A17900A27979 /* BugsnagCrashSentry.h in Headers */,
00896A1F2486DAD100DC48C2 /* BSG_KSCrashSentry_NSException.h in Headers */,
0089695C2486DAD000DC48C2 /* BSG_KSBacktrace.h in Headers */,
- 0089680F2486DA4500DC48C2 /* BugsnagErrorReportApiClient.h in Headers */,
0089688D2486DA9600DC48C2 /* BugsnagStacktrace.h in Headers */,
008968202486DA5600DC48C2 /* BugsnagPlatformConditional.h in Headers */,
008969622486DAD000DC48C2 /* BSG_KSSysCtl.h in Headers */,
008967F62486DA4500DC48C2 /* BugsnagSessionTrackingApiClient.h in Headers */,
+ 010FF28625ED2A8D00E4F2B0 /* BSGAppHangDetector.h in Headers */,
008969E32486DAD100DC48C2 /* BSG_KSSystemInfo.h in Headers */,
0126DF1D257A92860031A70C /* BugsnagSession+Private.h in Headers */,
00896A102486DAD100DC48C2 /* BSG_KSCrashSentry.h in Headers */,
@@ -2257,12 +2306,10 @@
008969712486DAD000DC48C2 /* BSG_KSFileUtils.h in Headers */,
008969532486DAD000DC48C2 /* BSGOnErrorSentBlock.h in Headers */,
00896A072486DAD100DC48C2 /* BSG_KSCrashSentry_MachException.h in Headers */,
- 00896A012486DAD100DC48C2 /* BSG_KSCrashReportStore.h in Headers */,
008968D12486DA9600DC48C2 /* BugsnagNotifier.h in Headers */,
008969892486DAD100DC48C2 /* BSG_KSMachApple.h in Headers */,
008969CB2486DAD100DC48C2 /* BSG_RFC3339DateTool.h in Headers */,
008969F52486DAD100DC48C2 /* BSG_KSCrashState.h in Headers */,
- 00AD1F222486A17900A27979 /* BugsnagErrorReportSink.h in Headers */,
0089697A2486DAD100DC48C2 /* NSError+BSG_SimpleConstructor.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
@@ -2467,6 +2514,7 @@
files = (
01B14C56251CE55F00118748 /* report-react-native-promise-rejection.json in Resources */,
0089671E2486D43700DC48C2 /* report.json in Resources */,
+ 01BDB21525DEC02900A91FAF /* Data in Resources */,
CB6419B425A7419400613D25 /* v0_files in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
@@ -2486,6 +2534,7 @@
files = (
01B14C57251CE55F00118748 /* report-react-native-promise-rejection.json in Resources */,
0089671F2486D43700DC48C2 /* report.json in Resources */,
+ 01BDB21625DEC02900A91FAF /* Data in Resources */,
CB6419B525A7419400613D25 /* v0_files in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
@@ -2505,6 +2554,7 @@
files = (
01B14C58251CE55F00118748 /* report-react-native-promise-rejection.json in Resources */,
008967202486D43700DC48C2 /* report.json in Resources */,
+ 01BDB21725DEC02900A91FAF /* Data in Resources */,
CB6419B625A7419400613D25 /* v0_files in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
@@ -2517,9 +2567,9 @@
buildActionMask = 2147483647;
files = (
CBAA6AB5250BA01D00713376 /* BugsnagKVStore.c in Sources */,
- E75A5CDC248A5DA2005D2C74 /* BugsnagErrorReportSink.m in Sources */,
008969992486DAD100DC48C2 /* BSG_KSMach_Arm64.c in Sources */,
008967E82486DA2D00DC48C2 /* BugsnagErrorTypes.m in Sources */,
+ 0126F7AE25DD5118008483C2 /* BSGEventUploadFileOperation.m in Sources */,
008968722486DA9500DC48C2 /* BugsnagDevice.m in Sources */,
008969842486DAD100DC48C2 /* BSG_KSMachHeaders.c in Sources */,
00896A322486DAD100DC48C2 /* BSG_KSCrashC.c in Sources */,
@@ -2539,6 +2589,7 @@
008967B42486D9D800DC48C2 /* BugsnagBreadcrumbs.m in Sources */,
00AD1F2E2486A17900A27979 /* BugsnagSessionTracker.m in Sources */,
008968212486DA5600DC48C2 /* BugsnagKeys.m in Sources */,
+ 0126F7BE25DD512B008483C2 /* BSGEventUploadKSCrashReportOperation.m in Sources */,
008969B12486DAD100DC48C2 /* BSG_KSMach_x86_64.c in Sources */,
0089696C2486DAD000DC48C2 /* BSG_KSJSONCodecObjC.m in Sources */,
0089689D2486DA9600DC48C2 /* BugsnagSessionTrackingPayload.m in Sources */,
@@ -2565,12 +2616,14 @@
008969692486DAD000DC48C2 /* BSG_KSMach_Arm.c in Sources */,
008969C62486DAD100DC48C2 /* BSG_KSLogger.m in Sources */,
008969662486DAD000DC48C2 /* BSG_KSDynamicLinker.c in Sources */,
+ 0127149525F6171000D3500A /* BugsnagClient+AppHangs.m in Sources */,
008969C02486DAD100DC48C2 /* BSG_KSString.c in Sources */,
- 008968062486DA4500DC48C2 /* BugsnagErrorReportApiClient.m in Sources */,
+ 0126F79E25DD510E008483C2 /* BSGEventUploadObjectOperation.m in Sources */,
0089682B2486DA5600DC48C2 /* BSGSerialization.m in Sources */,
008968E92486DAB800DC48C2 /* BugsnagSessionFileStore.m in Sources */,
00896A172486DAD100DC48C2 /* BSG_KSCrashSentry_CPPException.mm in Sources */,
008969CF2486DAD100DC48C2 /* BSG_KSCrashState.m in Sources */,
+ 01840B7225DC26E200F95648 /* BSGEventUploader.m in Sources */,
008968C32486DA9600DC48C2 /* BugsnagUser.m in Sources */,
CBAB4DD82510D2460092CBAA /* BugsnagKVStoreObjC.m in Sources */,
008968A72486DA9600DC48C2 /* BugsnagSession.m in Sources */,
@@ -2583,8 +2636,10 @@
015F528425C15BB7000D1915 /* MRCCanary.m in Sources */,
008969AE2486DAD100DC48C2 /* NSError+BSG_SimpleConstructor.m in Sources */,
008968CB2486DA9600DC48C2 /* BugsnagThread.m in Sources */,
+ 0126F78E25DD508C008483C2 /* BSGEventUploadOperation.m in Sources */,
008968022486DA4500DC48C2 /* BSGConnectivity.m in Sources */,
CBE9062D25A34DAB0045B965 /* BSGStorageMigratorV0V1.m in Sources */,
+ 010FF28725ED2A8D00E4F2B0 /* BSGAppHangDetector.m in Sources */,
00896A352486DAD100DC48C2 /* BSG_KSSystemInfo.m in Sources */,
008969E42486DAD100DC48C2 /* BSG_KSCrashIdentifier.m in Sources */,
008967DA2486DA2D00DC48C2 /* BugsnagConfiguration.m in Sources */,
@@ -2594,7 +2649,6 @@
008968B22486DA9600DC48C2 /* BugsnagDeviceWithState.m in Sources */,
00896A0B2486DAD100DC48C2 /* BSG_KSCrashSentry_User.c in Sources */,
0089682F2486DA5600DC48C2 /* BugsnagCollections.m in Sources */,
- 008969D82486DAD100DC48C2 /* BSG_KSCrashReportStore.m in Sources */,
0089698D2486DAD100DC48C2 /* BSG_KSMach.c in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
@@ -2613,7 +2667,6 @@
008967A22486D43700DC48C2 /* KSCrashSentry_Signal_Tests.m in Sources */,
008967272486D43700DC48C2 /* BugsnagStackframeTest.m in Sources */,
008967302486D43700DC48C2 /* BugsnagStateEventTest.m in Sources */,
- 0089678A2486D43700DC48C2 /* KSCrashReportStore_Tests.m in Sources */,
E701FAAB2490EFD9008D842F /* EventApiValidationTest.m in Sources */,
0089677E2486D43700DC48C2 /* KSLogger_Tests.m in Sources */,
012482A325627B51003F7243 /* UIKitTests.m in Sources */,
@@ -2644,6 +2697,7 @@
008967872486D43700DC48C2 /* KSCrashSentry_NSException_Tests.m in Sources */,
0089679C2486D43700DC48C2 /* KSFileUtils_Tests.m in Sources */,
008966EE2486D43700DC48C2 /* BugsnagClientPayloadInfoTest.m in Sources */,
+ 01BDB1F525DEBFB200A91FAF /* BSGEventUploadKSCrashReportOperationTests.m in Sources */,
008967782486D43700DC48C2 /* KSMachHeader_Tests.m in Sources */,
0089673F2486D43700DC48C2 /* BugsnagAppTest.m in Sources */,
0089675A2486D43700DC48C2 /* BugsnagEnabledBreadcrumbTest.m in Sources */,
@@ -2658,11 +2712,9 @@
01E8765E256684E700F4B70A /* URLSessionMock.m in Sources */,
008967AB2486D43700DC48C2 /* KSMach_Tests.m in Sources */,
0089672A2486D43700DC48C2 /* BugsnagStacktraceTest.m in Sources */,
- 0089678D2486D43700DC48C2 /* KSCrashReportConverter_Tests.m in Sources */,
0163BF5925823D8D008DC28B /* NotificationBreadcrumbTests.m in Sources */,
008967392486D43700DC48C2 /* BugsnagEventFromKSCrashReportTest.m in Sources */,
008967182486D43700DC48C2 /* BugsnagErrorTest.m in Sources */,
- 008967212486D43700DC48C2 /* BugsnagErrorReportSinkTests.m in Sources */,
004E35352487AFDC007FBAE4 /* BugsnagHandledStateTest.m in Sources */,
008967932486D43700DC48C2 /* KSSignalInfo_Tests.m in Sources */,
008967662486D43700DC48C2 /* BugsnagNotifierTest.m in Sources */,
@@ -2688,6 +2740,7 @@
0089699A2486DAD100DC48C2 /* BSG_KSMach_Arm64.c in Sources */,
008967E92486DA2D00DC48C2 /* BugsnagErrorTypes.m in Sources */,
008968732486DA9500DC48C2 /* BugsnagDevice.m in Sources */,
+ 0126F7AF25DD5118008483C2 /* BSGEventUploadFileOperation.m in Sources */,
008969852486DAD100DC48C2 /* BSG_KSMachHeaders.c in Sources */,
00896A332486DAD100DC48C2 /* BSG_KSCrashC.c in Sources */,
008969912486DAD100DC48C2 /* BSG_RFC3339DateTool.m in Sources */,
@@ -2707,7 +2760,7 @@
00AD1F2F2486A17900A27979 /* BugsnagSessionTracker.m in Sources */,
008968222486DA5600DC48C2 /* BugsnagKeys.m in Sources */,
008969B22486DAD100DC48C2 /* BSG_KSMach_x86_64.c in Sources */,
- 00AD1F142486A17900A27979 /* BugsnagErrorReportSink.m in Sources */,
+ 0126F7BF25DD512B008483C2 /* BSGEventUploadKSCrashReportOperation.m in Sources */,
0089696D2486DAD000DC48C2 /* BSG_KSJSONCodecObjC.m in Sources */,
0089689E2486DA9600DC48C2 /* BugsnagSessionTrackingPayload.m in Sources */,
008969B82486DAD100DC48C2 /* BSG_KSSignalInfo.c in Sources */,
@@ -2733,12 +2786,14 @@
0089696A2486DAD000DC48C2 /* BSG_KSMach_Arm.c in Sources */,
008969C72486DAD100DC48C2 /* BSG_KSLogger.m in Sources */,
008969672486DAD000DC48C2 /* BSG_KSDynamicLinker.c in Sources */,
+ 0127149625F6171000D3500A /* BugsnagClient+AppHangs.m in Sources */,
008969C12486DAD100DC48C2 /* BSG_KSString.c in Sources */,
- 008968072486DA4500DC48C2 /* BugsnagErrorReportApiClient.m in Sources */,
+ 0126F79F25DD510E008483C2 /* BSGEventUploadObjectOperation.m in Sources */,
0089682C2486DA5600DC48C2 /* BSGSerialization.m in Sources */,
008968EA2486DAB800DC48C2 /* BugsnagSessionFileStore.m in Sources */,
00896A182486DAD100DC48C2 /* BSG_KSCrashSentry_CPPException.mm in Sources */,
008969D02486DAD100DC48C2 /* BSG_KSCrashState.m in Sources */,
+ 01840B7325DC26E200F95648 /* BSGEventUploader.m in Sources */,
008968C42486DA9600DC48C2 /* BugsnagUser.m in Sources */,
CBAB4DD92510D2460092CBAA /* BugsnagKVStoreObjC.m in Sources */,
008968A82486DA9600DC48C2 /* BugsnagSession.m in Sources */,
@@ -2751,8 +2806,10 @@
015F528525C15BB7000D1915 /* MRCCanary.m in Sources */,
008969AF2486DAD100DC48C2 /* NSError+BSG_SimpleConstructor.m in Sources */,
008968CC2486DA9600DC48C2 /* BugsnagThread.m in Sources */,
+ 0126F78F25DD508C008483C2 /* BSGEventUploadOperation.m in Sources */,
008968032486DA4500DC48C2 /* BSGConnectivity.m in Sources */,
CBE9062E25A34DAB0045B965 /* BSGStorageMigratorV0V1.m in Sources */,
+ 010FF28825ED2A8D00E4F2B0 /* BSGAppHangDetector.m in Sources */,
00896A362486DAD100DC48C2 /* BSG_KSSystemInfo.m in Sources */,
008969E52486DAD100DC48C2 /* BSG_KSCrashIdentifier.m in Sources */,
008967DB2486DA2D00DC48C2 /* BugsnagConfiguration.m in Sources */,
@@ -2762,7 +2819,6 @@
008968B32486DA9600DC48C2 /* BugsnagDeviceWithState.m in Sources */,
00896A0C2486DAD100DC48C2 /* BSG_KSCrashSentry_User.c in Sources */,
008968302486DA5600DC48C2 /* BugsnagCollections.m in Sources */,
- 008969D92486DAD100DC48C2 /* BSG_KSCrashReportStore.m in Sources */,
0089698E2486DAD100DC48C2 /* BSG_KSMach.c in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
@@ -2776,7 +2832,6 @@
E701FAA02490EF4A008D842F /* BugsnagApiValidationTest.m in Sources */,
0089677F2486D43700DC48C2 /* KSLogger_Tests.m in Sources */,
008967342486D43700DC48C2 /* BugsnagClientTests.m in Sources */,
- 008967222486D43700DC48C2 /* BugsnagErrorReportSinkTests.m in Sources */,
CB10E540250BA8DF00AF5824 /* BugsnagKVStoreTest.m in Sources */,
CBCF77AC250142E0004AF22A /* BSGJSONSerializationTests.m in Sources */,
0089679A2486D43700DC48C2 /* FileBasedTestCase.m in Sources */,
@@ -2810,6 +2865,7 @@
0089671C2486D43700DC48C2 /* BugsnagSessionTest.m in Sources */,
008967AC2486D43700DC48C2 /* KSMach_Tests.m in Sources */,
0163BF5A25823D8D008DC28B /* NotificationBreadcrumbTests.m in Sources */,
+ 01BDB1FD25DEBFB300A91FAF /* BSGEventUploadKSCrashReportOperationTests.m in Sources */,
00896A452486DBF000DC48C2 /* BugsnagConfigurationTests.m in Sources */,
008967492486D43700DC48C2 /* BugsnagUserTest.m in Sources */,
0089673A2486D43700DC48C2 /* BugsnagEventFromKSCrashReportTest.m in Sources */,
@@ -2820,7 +2876,6 @@
008967282486D43700DC48C2 /* BugsnagStackframeTest.m in Sources */,
008967942486D43700DC48C2 /* KSSignalInfo_Tests.m in Sources */,
004E35402487B3BE007FBAE4 /* BugsnagSwiftConfigurationTests.swift in Sources */,
- 0089678E2486D43700DC48C2 /* KSCrashReportConverter_Tests.m in Sources */,
008966F52486D43700DC48C2 /* BugsnagThreadTests.m in Sources */,
0089679D2486D43700DC48C2 /* KSFileUtils_Tests.m in Sources */,
008967A32486D43700DC48C2 /* KSCrashSentry_Signal_Tests.m in Sources */,
@@ -2835,7 +2890,6 @@
008967312486D43700DC48C2 /* BugsnagStateEventTest.m in Sources */,
004E35362487AFF2007FBAE4 /* BugsnagHandledStateTest.m in Sources */,
01C17AE82542ED7F00C102C9 /* KSCrashReportWriterTests.m in Sources */,
- 0089678B2486D43700DC48C2 /* KSCrashReportStore_Tests.m in Sources */,
00896A412486DBDD00DC48C2 /* BSGConfigurationBuilderTests.m in Sources */,
008967672486D43700DC48C2 /* BugsnagNotifierTest.m in Sources */,
0089676D2486D43700DC48C2 /* BugsnagTestsDummyClass.m in Sources */,
@@ -2854,6 +2908,7 @@
0089699B2486DAD100DC48C2 /* BSG_KSMach_Arm64.c in Sources */,
008967EA2486DA2D00DC48C2 /* BugsnagErrorTypes.m in Sources */,
008968742486DA9500DC48C2 /* BugsnagDevice.m in Sources */,
+ 0126F7B025DD5118008483C2 /* BSGEventUploadFileOperation.m in Sources */,
008969862486DAD100DC48C2 /* BSG_KSMachHeaders.c in Sources */,
00896A342486DAD100DC48C2 /* BSG_KSCrashC.c in Sources */,
008969922486DAD100DC48C2 /* BSG_RFC3339DateTool.m in Sources */,
@@ -2873,7 +2928,7 @@
00AD1F302486A17900A27979 /* BugsnagSessionTracker.m in Sources */,
008968232486DA5600DC48C2 /* BugsnagKeys.m in Sources */,
008969B32486DAD100DC48C2 /* BSG_KSMach_x86_64.c in Sources */,
- 00AD1F152486A17900A27979 /* BugsnagErrorReportSink.m in Sources */,
+ 0126F7C025DD512B008483C2 /* BSGEventUploadKSCrashReportOperation.m in Sources */,
0089696E2486DAD000DC48C2 /* BSG_KSJSONCodecObjC.m in Sources */,
0089689F2486DA9600DC48C2 /* BugsnagSessionTrackingPayload.m in Sources */,
008969B92486DAD100DC48C2 /* BSG_KSSignalInfo.c in Sources */,
@@ -2899,12 +2954,14 @@
0089696B2486DAD000DC48C2 /* BSG_KSMach_Arm.c in Sources */,
008969C82486DAD100DC48C2 /* BSG_KSLogger.m in Sources */,
008969682486DAD000DC48C2 /* BSG_KSDynamicLinker.c in Sources */,
+ 0127149725F6171000D3500A /* BugsnagClient+AppHangs.m in Sources */,
008969C22486DAD100DC48C2 /* BSG_KSString.c in Sources */,
- 008968082486DA4500DC48C2 /* BugsnagErrorReportApiClient.m in Sources */,
+ 0126F7A025DD510E008483C2 /* BSGEventUploadObjectOperation.m in Sources */,
0089682D2486DA5600DC48C2 /* BSGSerialization.m in Sources */,
008968EB2486DAB800DC48C2 /* BugsnagSessionFileStore.m in Sources */,
00896A192486DAD100DC48C2 /* BSG_KSCrashSentry_CPPException.mm in Sources */,
008969D12486DAD100DC48C2 /* BSG_KSCrashState.m in Sources */,
+ 01840B7425DC26E200F95648 /* BSGEventUploader.m in Sources */,
008968C52486DA9600DC48C2 /* BugsnagUser.m in Sources */,
CBAB4DDA2510D2460092CBAA /* BugsnagKVStoreObjC.m in Sources */,
008968A92486DA9600DC48C2 /* BugsnagSession.m in Sources */,
@@ -2917,8 +2974,10 @@
015F528625C15BB7000D1915 /* MRCCanary.m in Sources */,
008969B02486DAD100DC48C2 /* NSError+BSG_SimpleConstructor.m in Sources */,
008968CD2486DA9600DC48C2 /* BugsnagThread.m in Sources */,
+ 0126F79025DD508C008483C2 /* BSGEventUploadOperation.m in Sources */,
008968042486DA4500DC48C2 /* BSGConnectivity.m in Sources */,
CBE9062F25A34DAB0045B965 /* BSGStorageMigratorV0V1.m in Sources */,
+ 010FF28925ED2A8D00E4F2B0 /* BSGAppHangDetector.m in Sources */,
00896A372486DAD100DC48C2 /* BSG_KSSystemInfo.m in Sources */,
008969E62486DAD100DC48C2 /* BSG_KSCrashIdentifier.m in Sources */,
008967DC2486DA2D00DC48C2 /* BugsnagConfiguration.m in Sources */,
@@ -2928,7 +2987,6 @@
008968B42486DA9600DC48C2 /* BugsnagDeviceWithState.m in Sources */,
00896A0D2486DAD100DC48C2 /* BSG_KSCrashSentry_User.c in Sources */,
008968312486DA5600DC48C2 /* BugsnagCollections.m in Sources */,
- 008969DA2486DAD100DC48C2 /* BSG_KSCrashReportStore.m in Sources */,
0089698F2486DAD100DC48C2 /* BSG_KSMach.c in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
@@ -2940,7 +2998,6 @@
008967892486D43700DC48C2 /* KSCrashSentry_NSException_Tests.m in Sources */,
008967802486D43700DC48C2 /* KSLogger_Tests.m in Sources */,
008967352486D43700DC48C2 /* BugsnagClientTests.m in Sources */,
- 008967232486D43700DC48C2 /* BugsnagErrorReportSinkTests.m in Sources */,
0089679B2486D43700DC48C2 /* FileBasedTestCase.m in Sources */,
CB10E541250BA8E000AF5824 /* BugsnagKVStoreTest.m in Sources */,
008967922486D43700DC48C2 /* KSJSONCodec_Tests.m in Sources */,
@@ -2976,13 +3033,13 @@
00896A462486DBF000DC48C2 /* BugsnagConfigurationTests.m in Sources */,
0089674A2486D43700DC48C2 /* BugsnagUserTest.m in Sources */,
0089673B2486D43700DC48C2 /* BugsnagEventFromKSCrashReportTest.m in Sources */,
+ 01BDB20525DEBFB300A91FAF /* BSGEventUploadKSCrashReportOperationTests.m in Sources */,
0089674D2486D43700DC48C2 /* BSGConnectivityTest.m in Sources */,
01E87660256684E700F4B70A /* URLSessionMock.m in Sources */,
008966F02486D43700DC48C2 /* BugsnagClientPayloadInfoTest.m in Sources */,
E701FAA92490EF77008D842F /* ClientApiValidationTest.m in Sources */,
008967292486D43700DC48C2 /* BugsnagStackframeTest.m in Sources */,
008967952486D43700DC48C2 /* KSSignalInfo_Tests.m in Sources */,
- 0089678F2486D43700DC48C2 /* KSCrashReportConverter_Tests.m in Sources */,
008966F62486D43700DC48C2 /* BugsnagThreadTests.m in Sources */,
0089679E2486D43700DC48C2 /* KSFileUtils_Tests.m in Sources */,
008967A42486D43700DC48C2 /* KSCrashSentry_Signal_Tests.m in Sources */,
@@ -2999,7 +3056,6 @@
CBA2249D251E429C00B87416 /* TestSupport.m in Sources */,
004E35372487AFF2007FBAE4 /* BugsnagHandledStateTest.m in Sources */,
016875C8258D003200DFFF69 /* NSUserDefaultsStub.m in Sources */,
- 0089678C2486D43700DC48C2 /* KSCrashReportStore_Tests.m in Sources */,
01C17AE92542ED7F00C102C9 /* KSCrashReportWriterTests.m in Sources */,
00896A422486DBDD00DC48C2 /* BSGConfigurationBuilderTests.m in Sources */,
008967682486D43700DC48C2 /* BugsnagNotifierTest.m in Sources */,
@@ -3020,6 +3076,7 @@
E7462909248907E500F92D67 /* BSG_KSMach_x86_32.c in Sources */,
E746290A248907E500F92D67 /* BSG_KSDynamicLinker.c in Sources */,
E746290B248907E500F92D67 /* BSG_KSMach_Arm.c in Sources */,
+ 0126F7B125DD5118008483C2 /* BSGEventUploadFileOperation.m in Sources */,
E746290C248907E500F92D67 /* BSG_KSJSONCodec.c in Sources */,
E746290D248907E500F92D67 /* BSG_KSMach.c in Sources */,
E746290E248907E500F92D67 /* BSG_KSMach_Arm64.c in Sources */,
@@ -3039,13 +3096,13 @@
E746291A248907E500F92D67 /* BSG_KSCrashSentry.c in Sources */,
E746291B248907E500F92D67 /* BSG_KSCrashReport.c in Sources */,
E746291C248907E500F92D67 /* BSG_KSCrashC.c in Sources */,
+ 0126F7C125DD512B008483C2 /* BSGEventUploadKSCrashReportOperation.m in Sources */,
E74628FC248907C100F92D67 /* BSG_KSCrashDoctor.m in Sources */,
E74628FD248907C100F92D67 /* BSG_KSJSONCodecObjC.m in Sources */,
E74628FF248907C100F92D67 /* BSG_KSMachHeaders.c in Sources */,
E7462900248907C100F92D67 /* NSError+BSG_SimpleConstructor.m in Sources */,
E7462901248907C100F92D67 /* BSG_KSLogger.m in Sources */,
E7462902248907C100F92D67 /* BSG_KSCrashState.m in Sources */,
- E7462903248907C100F92D67 /* BSG_KSCrashReportStore.m in Sources */,
E7462904248907C100F92D67 /* BSG_KSCrashIdentifier.m in Sources */,
CBCAF70025A457F90095771F /* BSGFileLocations.m in Sources */,
E7462905248907C100F92D67 /* BSG_KSCrash.m in Sources */,
@@ -3055,6 +3112,7 @@
008968CA2486DA9600DC48C2 /* BugsnagApp.m in Sources */,
008967C12486DA1900DC48C2 /* BugsnagClient.m in Sources */,
008968752486DA9500DC48C2 /* BugsnagDevice.m in Sources */,
+ 010FF28A25ED2A8D00E4F2B0 /* BSGAppHangDetector.m in Sources */,
00E636C224878D84006CBF1A /* BSG_RFC3339DateTool.m in Sources */,
0089687F2486DA9600DC48C2 /* BugsnagBreadcrumb.m in Sources */,
008968012486DA4500DC48C2 /* BugsnagSessionTrackingApiClient.m in Sources */,
@@ -3067,11 +3125,11 @@
CBAB4DDB2510D2460092CBAA /* BugsnagKVStoreObjC.m in Sources */,
00AD1F2A2486A17900A27979 /* BugsnagCrashSentry.m in Sources */,
008968052486DA4500DC48C2 /* BSGConnectivity.m in Sources */,
- 00AD1F162486A17900A27979 /* BugsnagErrorReportSink.m in Sources */,
+ 0126F7A125DD510E008483C2 /* BSGEventUploadObjectOperation.m in Sources */,
0089689C2486DA9600DC48C2 /* BugsnagStackframe.m in Sources */,
008967DD2486DA2D00DC48C2 /* BugsnagConfiguration.m in Sources */,
008968E42486DAA700DC48C2 /* BugsnagPluginClient.m in Sources */,
- 008968092486DA4500DC48C2 /* BugsnagErrorReportApiClient.m in Sources */,
+ 01840B7525DC26E200F95648 /* BSGEventUploader.m in Sources */,
008968BC2486DA9600DC48C2 /* BugsnagStacktrace.m in Sources */,
008968242486DA5600DC48C2 /* BugsnagKeys.m in Sources */,
008967B72486D9D800DC48C2 /* BugsnagBreadcrumbs.m in Sources */,
@@ -3082,9 +3140,11 @@
015F528725C15BB7000D1915 /* MRCCanary.m in Sources */,
008968A02486DA9600DC48C2 /* BugsnagSessionTrackingPayload.m in Sources */,
0089686E2486DA9500DC48C2 /* BugsnagEvent.m in Sources */,
+ 0126F79125DD508C008483C2 /* BSGEventUploadOperation.m in Sources */,
008967EB2486DA2D00DC48C2 /* BugsnagErrorTypes.m in Sources */,
008967D62486DA2D00DC48C2 /* BugsnagEndpointConfiguration.m in Sources */,
00AD1F262486A17900A27979 /* Bugsnag.m in Sources */,
+ 0127149825F6171000D3500A /* BugsnagClient+AppHangs.m in Sources */,
008968CE2486DA9600DC48C2 /* BugsnagThread.m in Sources */,
00AD1F312486A17900A27979 /* BugsnagSessionTracker.m in Sources */,
008968C62486DA9600DC48C2 /* BugsnagUser.m in Sources */,
diff --git a/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/BugsnagCrashSentry.h b/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/BugsnagCrashSentry.h
index 9bfc78f129..7a5f20e271 100644
--- a/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/BugsnagCrashSentry.h
+++ b/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/BugsnagCrashSentry.h
@@ -11,14 +11,12 @@
#import "BSG_KSCrashReportWriter.h"
#import "BSG_KSCrashType.h"
#import "BugsnagConfiguration.h"
-#import "BugsnagErrorReportApiClient.h"
@class BugsnagNotifier;
@interface BugsnagCrashSentry : NSObject
- (void)install:(BugsnagConfiguration *)config
- apiClient:(BugsnagErrorReportApiClient *)apiClient
notifier:(BugsnagNotifier *)notifier
onCrash:(BSGReportCallback)onCrash;
diff --git a/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/BugsnagCrashSentry.m b/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/BugsnagCrashSentry.m
index 9ecef255ea..fc23b5ccb2 100644
--- a/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/BugsnagCrashSentry.m
+++ b/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/BugsnagCrashSentry.m
@@ -9,24 +9,21 @@
#import "BugsnagCrashSentry.h"
+#import "BSGFileLocations.h"
#import "BSG_KSCrashAdvanced.h"
#import "BSG_KSCrashC.h"
#import "Bugsnag.h"
#import "BugsnagConfiguration.h"
-#import "BugsnagErrorReportSink.h"
#import "BugsnagErrorTypes.h"
#import "BugsnagLogger.h"
@implementation BugsnagCrashSentry
- (void)install:(BugsnagConfiguration *)config
- apiClient:(BugsnagErrorReportApiClient *)apiClient
notifier:(BugsnagNotifier *)notifier
onCrash:(BSGReportCallback)onCrash
{
- BugsnagErrorReportSink *sink = [[BugsnagErrorReportSink alloc] initWithApiClient:apiClient configuration:config notifier:notifier];
BSG_KSCrash *ksCrash = [BSG_KSCrash sharedInstance];
- ksCrash.sink = sink;
ksCrash.introspectMemory = NO;
ksCrash.onCrash = onCrash;
ksCrash.maxStoredReports = (int)config.maxPersistedEvents;
@@ -47,11 +44,9 @@ - (void)install:(BugsnagConfiguration *)config
bsg_kscrash_setHandlingCrashTypes(crashTypes);
- if ((![ksCrash install])) {
+ if ((![ksCrash install:[BSGFileLocations current].kscrashReports])) {
bsg_log_err(@"Failed to install crash handler. No exceptions will be reported!");
}
-
- [sink.apiClient flushPendingData];
}
/**
diff --git a/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/BugsnagErrorReportSink+Private.h b/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/BugsnagErrorReportSink+Private.h
deleted file mode 100644
index 1a4994be81..0000000000
--- a/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/BugsnagErrorReportSink+Private.h
+++ /dev/null
@@ -1,23 +0,0 @@
-//
-// BugsnagErrorReportSink+Private.h
-// Bugsnag
-//
-// Created by Nick Dowell on 04/12/2020.
-// Copyright © 2020 Bugsnag Inc. All rights reserved.
-//
-
-#import "BugsnagErrorReportSink.h"
-
-@class BugsnagEvent;
-
-NS_ASSUME_NONNULL_BEGIN
-
-@interface BugsnagErrorReportSink ()
-
-#pragma mark Methods
-
-- (NSDictionary *)prepareEventPayload:(BugsnagEvent *)event;
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/BugsnagErrorReportSink.h b/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/BugsnagErrorReportSink.h
deleted file mode 100644
index 2339e1bb84..0000000000
--- a/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/BugsnagErrorReportSink.h
+++ /dev/null
@@ -1,60 +0,0 @@
-//
-// BugsnagErrorReportSink.h
-//
-// Created by Conrad Irwin on 2014-10-01.
-//
-// Copyright (c) 2014 Bugsnag, Inc. All rights reserved.
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights
-// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-// copies of the Software, and to permit persons to whom the Software is
-// furnished to do so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall remain in place
-// in this source code.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-// THE SOFTWARE.
-//
-
-#import
-
-#import "BSGOnErrorSentBlock.h"
-
-@class BugsnagConfiguration;
-@class BugsnagErrorReportApiClient;
-@class BugsnagNotifier;
-
-NS_ASSUME_NONNULL_BEGIN
-
-@interface BugsnagErrorReportSink : NSObject
-
-- (instancetype)initWithApiClient:(BugsnagErrorReportApiClient *)apiClient
- configuration:(BugsnagConfiguration *)configuration
- notifier:(BugsnagNotifier *)notifier;
-
-@property (strong, nonatomic) BugsnagErrorReportApiClient *apiClient;
-
-@property (strong, nonatomic) BugsnagConfiguration *configuration;
-
-@property (strong, nonatomic) BugsnagNotifier *notifier;
-
-/**
- * Invoked when reports stored by KSCrash need to be delivered.
- *
- * @param ksCrashReports a map of KSCrash reports represented as dictionaries, with the filename as the key
- * @param block a block that is invoked when delivery of each file concludes
- */
-- (void)sendStoredReports:(NSDictionary *)ksCrashReports
- withBlock:(BSGOnErrorSentBlock)block;
-
-@end
-
-NS_ASSUME_NONNULL_END
diff --git a/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/BugsnagErrorReportSink.m b/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/BugsnagErrorReportSink.m
deleted file mode 100644
index b026907139..0000000000
--- a/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/BugsnagErrorReportSink.m
+++ /dev/null
@@ -1,169 +0,0 @@
-//
-// BugsnagSink.m
-//
-// Created by Conrad Irwin on 2014-10-01.
-//
-// Copyright (c) 2014 Bugsnag, Inc. All rights reserved.
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights
-// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-// copies of the Software, and to permit persons to whom the Software is
-// furnished to do so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall remain in place
-// in this source code.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-// THE SOFTWARE.
-//
-
-#import "BugsnagErrorReportSink+Private.h"
-
-#import "BSG_KSSystemInfo.h"
-#import "Bugsnag+Private.h"
-#import "BugsnagClient+Private.h"
-#import "BugsnagCollections.h"
-#import "BugsnagConfiguration+Private.h"
-#import "BugsnagErrorReportApiClient.h"
-#import "BugsnagEvent+Private.h"
-#import "BugsnagKeys.h"
-#import "BugsnagLogger.h"
-#import "BugsnagNotifier.h"
-
-@interface BugsnagErrorReportSink ()
-@property NSMutableSet *activeRequests;
-@end
-
-@implementation BugsnagErrorReportSink
-
-- (instancetype)initWithApiClient:(BugsnagErrorReportApiClient *)apiClient
- configuration:(BugsnagConfiguration *)configuration
- notifier:(BugsnagNotifier *)notifier {
- if ((self = [super init])) {
- _apiClient = apiClient;
- _activeRequests = [NSMutableSet new];
- _configuration = configuration;
- _notifier = notifier;
- }
- return self;
-}
-
-/**
- * Returns a list of filenames which have no ongoing request and need to be delivered to the error reporting API.
- *
- * To prevent duplicate reports filenames are recorded in an internal collection when they are
- * in the process of being sent in a request. This method adds any unqueued files to this internal collection.
- * Once the request has complete the filename should be removed via a separate method.
- */
-- (NSArray *)prepareNewRequests:(NSArray *)allRequests {
- NSMutableArray *newRequests = [allRequests mutableCopy];
- @synchronized (self.activeRequests) {
- NSArray *enqueuedRequests = [self.activeRequests allObjects];
- [newRequests removeObjectsInArray:enqueuedRequests];
- [self.activeRequests addObjectsFromArray:newRequests];
- }
- return newRequests;
-}
-
-- (void)finishActiveRequest:(nonnull NSString *)requestId
- completed:(BOOL)completed
- error:(NSError *)error
- block:(nonnull BSGOnErrorSentBlock)block {
- block(requestId, completed, error);
- @synchronized (self.activeRequests) {
- [self.activeRequests removeObject:requestId];
- }
-}
-
-- (void)sendStoredReports:(NSDictionary *)ksCrashReports
- withBlock:(BSGOnErrorSentBlock)block {
-
- // 1. check whether filenames are in the dictionary, if so add them
- // 2. If not, add them and enqueue a request
- // 3. If so, ignore them and perform no action
- // 4. When a request has completed and deleted the file, remove the files from the dictionary
- NSArray *keys = [self prepareNewRequests:[ksCrashReports allKeys]];
- NSMutableDictionary* storedEvents = [NSMutableDictionary new];
-
- // run user callbacks on events before enqueueing any requests, as
- // this way events can be discarded quickly. This frees up disk
- // space for any events which are captured in the meantime.
- for (NSString *fileKey in keys) {
- NSDictionary *report = ksCrashReports[fileKey];
- BugsnagEvent *event = [[BugsnagEvent alloc] initWithKSReport:report];
- event.redactedKeys = self.configuration.redactedKeys;
-
- NSString *errorClass = event.errors.firstObject.errorClass;
- if ([self.configuration shouldDiscardErrorClass:errorClass]) {
- bsg_log_info(@"Discarding event because errorClass \"%@\" matched configuration.discardClasses", errorClass);
- [self finishActiveRequest:fileKey completed:YES error:nil block:block];
- continue;
- }
-
- if (self.configuration.shouldSendReports && [event shouldBeSent] && [self runOnSendBlocksForEvent:event]) {
- storedEvents[fileKey] = event;
- } else { // delete the report as the user has discarded it
- [self finishActiveRequest:fileKey completed:YES error:nil block:block];
- }
- }
- [self deliverStoredEvents:storedEvents block:block];
-}
-
-- (void)deliverStoredEvents:(NSMutableDictionary *)storedEvents block:(BSGOnErrorSentBlock)block {
- for (NSString *filename in storedEvents) {
- BugsnagEvent *event = storedEvents[filename];
- NSDictionary *requestPayload = [self prepareEventPayload:event];
-
- NSMutableDictionary *apiHeaders = [self.configuration.errorApiHeaders mutableCopy];
- apiHeaders[BugsnagHTTPHeaderNameApiKey] = event.apiKey;
- apiHeaders[BugsnagHTTPHeaderNameStacktraceTypes] = [event.stacktraceTypes componentsJoinedByString:@","];
- [self.apiClient sendJSONPayload:requestPayload headers:apiHeaders toURL:self.configuration.notifyURL
- completionHandler:^(BugsnagApiClientDeliveryStatus status, NSError *error) {
- BOOL completed = status == BugsnagApiClientDeliveryStatusDelivered || status == BugsnagApiClientDeliveryStatusUndeliverable;
- [self finishActiveRequest:filename completed:completed error:error block:block];
- }];
- }
-}
-
-- (BOOL)runOnSendBlocksForEvent:(BugsnagEvent *)event {
- for (BugsnagOnSendErrorBlock onSendErrorBlock in self.configuration.onSendBlocks) {
- @try {
- if (!onSendErrorBlock(event)) {
- return false;
- }
- } @catch (NSException *exception) {
- bsg_log_err(@"Error from onSend callback: %@", exception);
- }
- }
- return true;
-}
-
-/**
- * Generates an Error Reporting API payload that can be sent to Bugsnag.
- * @param event a single BugsnagEvent
- * @return an Error Reporting API payload represented as a serializable dictionary
- */
-- (NSDictionary *)prepareEventPayload:(BugsnagEvent *)event {
- if (!event.app.type) {
- // Use current value for crashes from older notifier versions that didn't persist config.appType
- event.app.type = self.configuration.appType;
- }
- if (!event.apiKey) {
- event.apiKey = self.configuration.apiKey;
- }
- NSMutableDictionary *data = [[NSMutableDictionary alloc] init];
- data[BSGKeyNotifier] = [self.notifier toDict];
- data[BSGKeyApiKey] = event.apiKey;
- data[BSGKeyPayloadVersion] = @"4.0";
- data[BSGKeyEvents] = @[[event toJson]];
- return data;
-}
-
-@end
diff --git a/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Client/BugsnagClient+AppHangs.h b/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Client/BugsnagClient+AppHangs.h
new file mode 100644
index 0000000000..dc97ee04f4
--- /dev/null
+++ b/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Client/BugsnagClient+AppHangs.h
@@ -0,0 +1,23 @@
+//
+// BugsnagClient+AppHangs.h
+// Bugsnag
+//
+// Created by Nick Dowell on 08/03/2021.
+// Copyright © 2021 Bugsnag Inc. All rights reserved.
+//
+
+#import "BugsnagClient+Private.h"
+
+#import "BSGAppHangDetector.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface BugsnagClient (AppHangs)
+
+- (BOOL)lastRunEndedWithAppHang;
+
+- (void)startAppHangDetector;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Client/BugsnagClient+AppHangs.m b/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Client/BugsnagClient+AppHangs.m
new file mode 100644
index 0000000000..b524dbb1e8
--- /dev/null
+++ b/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Client/BugsnagClient+AppHangs.m
@@ -0,0 +1,113 @@
+//
+// BugsnagClient+AppHangs.m
+// Bugsnag
+//
+// Created by Nick Dowell on 08/03/2021.
+// Copyright © 2021 Bugsnag Inc. All rights reserved.
+//
+
+#import "BugsnagClient+AppHangs.h"
+
+#import "BSGEventUploader.h"
+#import "BSGFileLocations.h"
+#import "BSGJSONSerialization.h"
+#import "BSG_KSSystemInfo.h"
+#import "BugsnagBreadcrumbs.h"
+#import "BugsnagError+Private.h"
+#import "BugsnagEvent+Private.h"
+#import "BugsnagHandledState.h"
+#import "BugsnagLogger.h"
+#import "BugsnagSession+Private.h"
+#import "BugsnagSessionTracker.h"
+#import "BugsnagThread+Private.h"
+
+@implementation BugsnagClient (AppHangs)
+
+- (void)startAppHangDetector {
+ [NSFileManager.defaultManager removeItemAtPath:BSGFileLocations.current.appHangEvent error:nil];
+
+ self.appHangDetector = [[BSGAppHangDetector alloc] init];
+ [self.appHangDetector startWithDelegate:self];
+}
+
+- (void)appHangDetectedWithThreads:(nonnull NSArray *)threads {
+ NSDictionary *systemInfo = [BSG_KSSystemInfo systemInfo];
+
+ NSString *message = [NSString stringWithFormat:@"The app's main thread failed to respond to an event within %d milliseconds",
+ (int)self.configuration.appHangThresholdMillis];
+
+ BugsnagError *error =
+ [[BugsnagError alloc] initWithErrorClass:@"App Hang"
+ errorMessage:message
+ errorType:BSGErrorTypeCocoa
+ stacktrace:threads.firstObject.stacktrace];
+
+ BugsnagHandledState *handledState =
+ [[BugsnagHandledState alloc] initWithSeverityReason:AppHang
+ severity:BSGSeverityWarning
+ unhandled:NO
+ unhandledOverridden:NO
+ attrValue:nil];
+
+ self.appHangEvent =
+ [[BugsnagEvent alloc] initWithApp:[self generateAppWithState:systemInfo]
+ device:[self generateDeviceWithState:systemInfo]
+ handledState:handledState
+ user:self.configuration.user
+ metadata:[self.metadata deepCopy]
+ breadcrumbs:self.breadcrumbs.breadcrumbs
+ errors:@[error]
+ threads:threads
+ session:self.sessionTracker.runningSession];
+
+ NSError *writeError = nil;
+ NSDictionary *json = [self.appHangEvent toJsonWithRedactedKeys:self.configuration.redactedKeys];
+ if (![BSGJSONSerialization writeJSONObject:json toFile:BSGFileLocations.current.appHangEvent options:0 error:&writeError]) {
+ bsg_log_err(@"Could not write app_hang.json: %@", error);
+ }
+}
+
+- (void)appHangEnded {
+ NSError *error = nil;
+ if (![NSFileManager.defaultManager removeItemAtPath:BSGFileLocations.current.appHangEvent error:&error]) {
+ bsg_log_err(@"Could not delete app_hang.json: %@", error);
+ }
+
+ const BOOL fatalOnly = self.configuration.appHangThresholdMillis == BugsnagAppHangThresholdFatalOnly;
+ if (!fatalOnly && self.appHangEvent) {
+ [self notifyInternal:self.appHangEvent block:nil];
+ }
+ self.appHangEvent = nil;
+}
+
+- (BOOL)lastRunEndedWithAppHang {
+ NSError *error = nil;
+ NSDictionary *json = [BSGJSONSerialization JSONObjectWithContentsOfFile:BSGFileLocations.current.appHangEvent options:0 error:&error];
+ if (!json) {
+ if (!(error.domain == NSCocoaErrorDomain && error.code == NSFileReadNoSuchFileError)) {
+ bsg_log_err(@"Could not read app_hang.json: %@", error);
+ }
+ return NO;
+ }
+
+ BugsnagEvent *event = [[BugsnagEvent alloc] initWithJson:json];
+ if (!event) {
+ bsg_log_err(@"Could not parse app_hang.json");
+ return NO;
+ }
+
+ // Update event to reflect that the app hang was fatal.
+ event.errors.firstObject.errorMessage = @"The app was terminated while unresponsive";
+ // Cannot set event.severity directly because that sets severityReason.type to "userCallbackSetSeverity"
+ event.handledState = [[BugsnagHandledState alloc] initWithSeverityReason:AppHang
+ severity:BSGSeverityError
+ unhandled:YES
+ unhandledOverridden:NO
+ attrValue:nil];
+ event.session.unhandledCount++;
+
+ self.appHangEvent = event;
+ return YES;
+}
+
+@end
diff --git a/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Client/BugsnagClient+Private.h b/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Client/BugsnagClient+Private.h
index c54b3e930f..71e45d44c2 100644
--- a/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Client/BugsnagClient+Private.h
+++ b/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Client/BugsnagClient+Private.h
@@ -10,10 +10,13 @@
#import "BugsnagMetadata+Private.h" // For BugsnagObserverBlock
+@class BSGAppHangDetector;
+@class BSGEventUploader;
+@class BugsnagAppWithState;
@class BugsnagBreadcrumbs;
@class BugsnagConfiguration;
@class BugsnagCrashSentry;
-@class BugsnagErrorReportApiClient;
+@class BugsnagDeviceWithState;
@class BugsnagMetadata;
@class BugsnagNotifier;
@class BugsnagPluginClient;
@@ -28,6 +31,10 @@ NS_ASSUME_NONNULL_BEGIN
@property (nonatomic) BOOL appDidCrashLastLaunch;
+@property (nonatomic) BSGAppHangDetector *appHangDetector;
+
+@property (nullable, nonatomic) BugsnagEvent *appHangEvent;
+
@property (nullable, retain, nonatomic) BugsnagBreadcrumbs *breadcrumbs;
@property (nullable, nonatomic) NSString *codeBundleId;
@@ -40,7 +47,7 @@ NS_ASSUME_NONNULL_BEGIN
@property (strong, nonatomic) BugsnagCrashSentry *crashSentry;
-@property (strong, nonatomic) BugsnagErrorReportApiClient *errorReportApiClient;
+@property (strong, nonatomic) BSGEventUploader *eventUploader;
@property NSMutableDictionary *extraRuntimeInfo;
@@ -90,7 +97,11 @@ NS_ASSUME_NONNULL_BEGIN
- (NSArray *)collectThreads:(BOOL)unhandled; // Used in BugsnagReactNative
-- (void)notifyInternal:(BugsnagEvent *)event block:(BugsnagOnErrorBlock)block;
+- (BugsnagAppWithState *)generateAppWithState:(NSDictionary *)systemInfo;
+
+- (BugsnagDeviceWithState *)generateDeviceWithState:(NSDictionary *)systemInfo;
+
+- (void)notifyInternal:(BugsnagEvent *)event block:(nullable BugsnagOnErrorBlock)block;
- (void)removeObserverWithBlock:(BugsnagObserverBlock)block; // Used in BugsnagReactNative
diff --git a/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Client/BugsnagClient.m b/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Client/BugsnagClient.m
index 5f49ffb273..5e86da079e 100644
--- a/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Client/BugsnagClient.m
+++ b/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Client/BugsnagClient.m
@@ -29,6 +29,7 @@
#import "BugsnagClient+Private.h"
#import "BSGConnectivity.h"
+#import "BSGEventUploader.h"
#import "BSGFileLocations.h"
#import "BSGJSONSerialization.h"
#import "BSGNotificationBreadcrumbs.h"
@@ -46,6 +47,7 @@
#import "BugsnagAppWithState+Private.h"
#import "BugsnagBreadcrumb+Private.h"
#import "BugsnagBreadcrumbs.h"
+#import "BugsnagClient+AppHangs.h"
#import "BugsnagCollections.h"
#import "BugsnagConfiguration+Private.h"
#import "BugsnagCrashSentry.h"
@@ -221,12 +223,15 @@ void BSGWriteSessionCrashData(BugsnagSession *session) {
@interface BugsnagClient ()
@property BSGNotificationBreadcrumbs *notificationBreadcrumbs;
+
@property (weak) NSTimer *appLaunchTimer;
@end
+
#if __clang_major__ >= 11 // Xcode 10 does not like the following attribute
__attribute__((annotate("oclint:suppress[long class]")))
+__attribute__((annotate("oclint:suppress[too many methods]")))
#endif
@implementation BugsnagClient
@@ -265,7 +270,7 @@ - (instancetype)initWithConfiguration:(BugsnagConfiguration *)configuration {
self.stateEventBlocks = [NSMutableArray new];
self.extraRuntimeInfo = [NSMutableDictionary new];
self.crashSentry = [BugsnagCrashSentry new];
- self.errorReportApiClient = [[BugsnagErrorReportApiClient alloc] initWithSession:configuration.session queueName:@"Error API queue"];
+ _eventUploader = [[BSGEventUploader alloc] initWithConfiguration:_configuration notifier:_notifier];
bsg_g_bugsnag_data.onCrash = (void (*)(const BSG_KSCrashReportWriter *))self.configuration.onCrashHandler;
_notificationBreadcrumbs = [[BSGNotificationBreadcrumbs alloc] initWithConfiguration:configuration breadcrumbSink:self];
@@ -346,7 +351,7 @@ - (void)notifyObservers:(BugsnagStateEvent *)event {
- (void)start {
[self.configuration validate];
- [self.crashSentry install:self.configuration apiClient:self.errorReportApiClient notifier:self.notifier onCrash:&BSSerializeDataCrashHandler];
+ [self.crashSentry install:self.configuration notifier:self.notifier onCrash:&BSSerializeDataCrashHandler];
[self.systemState recordAppUUID]; // Needs to be called after crashSentry installed but before -computeDidCrashLastLaunch
[self computeDidCrashLastLaunch];
[self.breadcrumbs removeAllBreadcrumbs];
@@ -417,9 +422,23 @@ - (void)start {
userInfo:nil repeats:NO];
}
- if (self.lastRunInfo.crashedDuringLaunch && self.configuration.sendLaunchCrashesSynchronously) {
+ if (self.appHangEvent) {
+ [self.eventUploader uploadEvent:self.appHangEvent];
+ self.appHangEvent = nil;
+ } else if (self.lastRunInfo.crashedDuringLaunch && self.configuration.sendLaunchCrashesSynchronously) {
[self sendLaunchCrashSynchronously];
}
+
+ [self.eventUploader uploadStoredEvents];
+
+ // App hang detector deliberately started after sendLaunchCrashSynchronously (which by design may itself trigger an app hang)
+ if (self.configuration.enabledErrorTypes.appHangs) {
+ [self startAppHangDetector];
+ }
+
+ self.configMetadataFromLastLaunch = nil;
+ self.metadataFromLastLaunch = nil;
+ self.stateMetadataFromLastLaunch = nil;
}
- (void)appLaunchTimerFired:(NSTimer *)timer {
@@ -440,7 +459,7 @@ - (void)sendLaunchCrashSynchronously {
bsg_log_info(@"Sending launch crash synchronously.");
dispatch_time_t deadline = dispatch_time(DISPATCH_TIME_NOW, 2 * NSEC_PER_SEC);
dispatch_semaphore_t semaphore = dispatch_semaphore_create(0);
- [[BSG_KSCrash sharedInstance] sendLatestReport:^{
+ [self.eventUploader uploadLatestStoredEvent:^{
bsg_log_debug(@"Sent launch crash.");
dispatch_semaphore_signal(semaphore);
}];
@@ -532,12 +551,13 @@ - (void)addTerminationObserver:(NSString *)name {
}
- (void)computeDidCrashLastLaunch {
+ BOOL didCrash = NO;
+
const BSG_KSCrash_State *crashState = bsg_kscrashstate_currentState();
- BOOL didOOMLastLaunch = [self shouldReportOOM];
NSFileManager *manager = [NSFileManager defaultManager];
NSString *didCrashSentinelPath = [NSString stringWithUTF8String:crashSentinelPath];
BOOL appCrashSentinelExists = [manager fileExistsAtPath:didCrashSentinelPath];
- BOOL handledCrashLastLaunch = appCrashSentinelExists || crashState->crashedLastLaunch;
+ didCrash = appCrashSentinelExists || crashState->crashedLastLaunch;
if (appCrashSentinelExists) {
NSError *error = nil;
if (![manager removeItemAtPath:didCrashSentinelPath error:&error]) {
@@ -545,7 +565,19 @@ - (void)computeDidCrashLastLaunch {
unlink(crashSentinelPath);
}
}
- BOOL didCrash = handledCrashLastLaunch || didOOMLastLaunch;
+
+ // App hangs take precedence over OOMs.
+ if (!didCrash) {
+ // Avoid calling -lastRunEndedWithAppHang if the app crashed, to prevent self.appHangEvent being set and the hang being reported.
+ didCrash = [self lastRunEndedWithAppHang];
+ }
+
+ BOOL shouldReportOOM = NO;
+ if (!didCrash) {
+ shouldReportOOM = [self shouldReportOOM];
+ didCrash = shouldReportOOM;
+ }
+
self.appDidCrashLastLaunch = didCrash;
BOOL wasLaunching = [self.stateMetadataFromLastLaunch[BSGKeyApp][BSGKeyIsLaunching] boolValue];
@@ -560,25 +592,9 @@ - (void)computeDidCrashLastLaunch {
crashed:didCrash
crashedDuringLaunch:didCrashDuringLaunch];
- // Ignore potential false positive OOM if previous session crashed and was
- // reported. There are two checks in place:
- //
- // 1. crashState->crashedLastLaunch: Accurate unless the crash callback crashes
- //
- // 2. crash sentinel file exists: This file is written in the event of a crash
- // and insures against the crash callback crashing
-
- if (!handledCrashLastLaunch && didOOMLastLaunch) {
- void *onCrash = bsg_g_bugsnag_data.onCrash;
- // onCrash should not be called for OOMs
- bsg_g_bugsnag_data.onCrash = NULL;
+ if (shouldReportOOM) {
[self notifyOutOfMemoryEvent];
- bsg_g_bugsnag_data.onCrash = onCrash;
}
-
- self.configMetadataFromLastLaunch = nil;
- self.metadataFromLastLaunch = nil;
- self.stateMetadataFromLastLaunch = nil;
}
- (void)setCodeBundleId:(NSString *)codeBundleId {
@@ -652,10 +668,6 @@ - (BOOL)resumeSession {
return [self.sessionTracker resumeSession];
}
-- (void)flushPendingReports {
- [self.errorReportApiClient flushPendingData];
-}
-
/**
* Monitor the Bugsnag endpoint to detect changes in connectivity,
* flush pending events when (re)connected and report connectivity
@@ -673,7 +685,7 @@ - (void)setupConnectivityListener {
usingCallback:^(BOOL connected, NSString *connectionType) {
__strong typeof(weakSelf) strongSelf = weakSelf;
if (connected) {
- [strongSelf flushPendingReports];
+ [strongSelf.eventUploader uploadStoredEvents];
}
[strongSelf addAutoBreadcrumbOfType:BSGBreadcrumbTypeState
@@ -864,6 +876,11 @@ - (void)notifyOutOfMemoryEvent {
NSMutableDictionary *appState = [self.stateMetadataFromLastLaunch mutableCopy] ?: [NSMutableDictionary dictionary];
appState[@"didOOM"] = @YES;
appState[@"oom"] = lastLaunchInfo;
+
+ // onCrash should not be called for OOMs
+ void *onCrash = bsg_g_bugsnag_data.onCrash;
+ bsg_g_bugsnag_data.onCrash = NULL;
+
[self.crashSentry reportUserException:BSGOutOfMemoryErrorClass
reason:message
handledState:[handledState toJson]
@@ -872,6 +889,8 @@ - (void)notifyOutOfMemoryEvent {
eventOverrides:nil
metadata:self.metadataFromLastLaunch
config:self.configMetadataFromLastLaunch];
+
+ bsg_g_bugsnag_data.onCrash = onCrash;
}
- (void)notify:(NSException *)exception
@@ -940,10 +959,17 @@ - (void)notify:(NSException *)exception
- (void)notifyInternal:(BugsnagEvent *_Nonnull)event
block:(BugsnagOnErrorBlock)block
{
+ if ([self shouldNotifyEvent:event withOnErrorBlock:block]) {
+ [self deliverEvent:event];
+ [self addAutoBreadcrumbForEvent:event];
+ }
+}
+
+- (BOOL)shouldNotifyEvent:(nonnull BugsnagEvent *)event withOnErrorBlock:(nullable BugsnagOnErrorBlock)block {
NSString *errorClass = event.errors.firstObject.errorClass;
if ([self.configuration shouldDiscardErrorClass:errorClass]) {
bsg_log_info(@"Discarding event because errorClass \"%@\" matched configuration.discardClasses", errorClass);
- return;
+ return NO;
}
// enhance device information with additional metadata
@@ -956,7 +982,7 @@ - (void)notifyInternal:(BugsnagEvent *_Nonnull)event
BOOL originalUnhandledValue = event.unhandled;
@try {
if (block != nil && !block(event)) { // skip notifying if callback false
- return;
+ return NO;
}
} @catch (NSException *exception) {
bsg_log_err(@"Error from onError callback: %@", exception);
@@ -965,15 +991,25 @@ - (void)notifyInternal:(BugsnagEvent *_Nonnull)event
[event notifyUnhandledOverridden];
}
+ return YES;
+}
+
+- (void)deliverEvent:(BugsnagEvent *)event {
if (event.handledState.unhandled) {
[self.sessionTracker handleUnhandledErrorEvent];
} else {
[self.sessionTracker handleHandledErrorEvent];
}
+ // Temporary conditional until all (non-crash) events can be sent via -uploadEvent:
+ if (event == self.appHangEvent) {
+ [self.eventUploader uploadEvent:event];
+ return;
+ }
+
// apiKey not added to event JSON by default, need to add it here
// for when it is read next
- NSMutableDictionary *eventOverrides = [[event toJson] mutableCopy];
+ NSMutableDictionary *eventOverrides = [[event toJsonWithRedactedKeys:self.configuration.redactedKeys] mutableCopy];
eventOverrides[BSGKeyApiKey] = event.apiKey;
// handled errors should persist any information edited by the user
@@ -988,12 +1024,17 @@ - (void)notifyInternal:(BugsnagEvent *_Nonnull)event
metadata:[event.metadata toDictionary]
config:self.configuration.dictionaryRepresentation];
+ [self.eventUploader uploadStoredEvents];
+}
+
+// MARK: - Breadcrumbs
+
+- (void)addAutoBreadcrumbForEvent:(BugsnagEvent *)event {
// A basic set of event metadata
- NSMutableDictionary *metadata = [@{
- BSGKeyErrorClass : event.errors[0].errorClass,
- BSGKeyUnhandled : [[event handledState] unhandled] ? @YES : @NO,
- BSGKeySeverity : BSGFormatSeverity(event.severity)
- } mutableCopy];
+ NSMutableDictionary *metadata = [NSMutableDictionary dictionary];
+ metadata[BSGKeyErrorClass] = event.errors[0].errorClass;
+ metadata[BSGKeyUnhandled] = @(event.handledState.unhandled);
+ metadata[BSGKeySeverity] = BSGFormatSeverity(event.severity);
// Only include the eventMessage if it contains something
NSString *eventMessage = event.errors[0].errorMessage;
@@ -1004,12 +1045,8 @@ - (void)notifyInternal:(BugsnagEvent *_Nonnull)event
[self addAutoBreadcrumbOfType:BSGBreadcrumbTypeError
withMessage:event.errors[0].errorClass
andMetadata:metadata];
-
- [self flushPendingReports];
}
-// MARK: - Breadcrumbs
-
- (void)addBreadcrumbWithBlock:(void (^)(BugsnagBreadcrumb *))block {
[self.breadcrumbs addBreadcrumbWithBlock:block];
}
diff --git a/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Configuration/BugsnagConfiguration+Private.h b/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Configuration/BugsnagConfiguration+Private.h
index ecf30e8cea..4ecd91d96b 100644
--- a/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Configuration/BugsnagConfiguration+Private.h
+++ b/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Configuration/BugsnagConfiguration+Private.h
@@ -23,8 +23,6 @@ NS_ASSUME_NONNULL_BEGIN
@property (readonly) NSDictionary *dictionaryRepresentation;
-@property (readonly) NSDictionary *errorApiHeaders;
-
@property (readonly, copy, nonatomic) BugsnagMetadata *metadata;
@property (readonly, nullable, nonatomic) NSURL *notifyURL;
diff --git a/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Configuration/BugsnagConfiguration.m b/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Configuration/BugsnagConfiguration.m
index 2df2fec68d..58c421fb60 100644
--- a/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Configuration/BugsnagConfiguration.m
+++ b/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Configuration/BugsnagConfiguration.m
@@ -38,6 +38,8 @@
#import "BugsnagMetadata+Private.h"
#import "BugsnagUser+Private.h"
+const NSUInteger BugsnagAppHangThresholdFatalOnly = INT_MAX;
+
static const int BSGApiKeyLength = 32;
// User info persistence keys
@@ -78,6 +80,7 @@ + (instancetype)loadConfigFromOptions:(NSDictionary *)options {
- (nonnull id)copyWithZone:(nullable NSZone *)zone {
BugsnagConfiguration *copy = [[BugsnagConfiguration alloc] initWithApiKey:[self.apiKey copy]];
// Omit apiKey - it's set explicitly in the line above
+ [copy setAppHangThresholdMillis:self.appHangThresholdMillis];
[copy setAppType:self.appType];
[copy setAppVersion:self.appVersion];
[copy setAutoDetectErrors:self.autoDetectErrors];
@@ -168,6 +171,7 @@ - (instancetype)initWithApiKey:(NSString *)apiKey {
_endpoints = [BugsnagEndpointConfiguration new];
_sessionURL = [NSURL URLWithString:@"https://sessions.bugsnag.com"];
_autoDetectErrors = YES;
+ _appHangThresholdMillis = BugsnagAppHangThresholdFatalOnly;
_notifyURL = [NSURL URLWithString:BSGDefaultNotifyUrl];
_onSendBlocks = [NSMutableArray new];
_onSessionBlocks = [NSMutableArray new];
@@ -326,13 +330,6 @@ - (void)removeOnBreadcrumbBlock:(BugsnagOnBreadcrumbBlock _Nonnull)block {
[(NSMutableArray *)self.onBreadcrumbBlocks removeObject:block];
}
-- (NSDictionary *)errorApiHeaders {
- return @{BugsnagHTTPHeaderNameApiKey: self.apiKey ?: @"",
- BugsnagHTTPHeaderNamePayloadVersion: @"4.0",
- BugsnagHTTPHeaderNameSentAt: [BSG_RFC3339DateTool stringFromDate:[NSDate date]]
- };
-}
-
- (NSDictionary *)sessionApiHeaders {
return @{BugsnagHTTPHeaderNameApiKey: self.apiKey ?: @"",
BugsnagHTTPHeaderNamePayloadVersion: @"1.0",
@@ -445,6 +442,16 @@ -(void)deletePersistedUserData {
// MARK: - Properties: Getters and Setters
// -----------------------------------------------------------------------------
+- (void)setAppHangThresholdMillis:(NSUInteger)appHangThresholdMillis {
+ if (appHangThresholdMillis >= 250) {
+ _appHangThresholdMillis = appHangThresholdMillis;
+ } else {
+ bsg_log_err(@"Invalid configuration value detected. Option appHangThresholdMillis "
+ "should be greater than or equal to 250. Supplied value is %lu",
+ (unsigned long)appHangThresholdMillis);
+ }
+}
+
- (void)setMaxPersistedEvents:(NSUInteger)maxPersistedEvents {
@synchronized (self) {
if (maxPersistedEvents >= 1) {
diff --git a/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Configuration/BugsnagErrorTypes.m b/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Configuration/BugsnagErrorTypes.m
index 04cb5922f9..51bddb5bdf 100644
--- a/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Configuration/BugsnagErrorTypes.m
+++ b/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Configuration/BugsnagErrorTypes.m
@@ -12,12 +12,13 @@ @implementation BugsnagErrorTypes
- (instancetype)init {
if (self = [super init]) {
- _unhandledExceptions = true;
- _signals = true;
- _cppExceptions = true;
- _machExceptions = true;
- _unhandledRejections = true;
- _ooms = true;
+ _appHangs = YES;
+ _unhandledExceptions = YES;
+ _signals = YES;
+ _cppExceptions = YES;
+ _machExceptions = YES;
+ _unhandledRejections = YES;
+ _ooms = YES;
}
return self;
}
diff --git a/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Delivery/BSGEventUploadFileOperation.h b/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Delivery/BSGEventUploadFileOperation.h
new file mode 100644
index 0000000000..e48842b7bf
--- /dev/null
+++ b/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Delivery/BSGEventUploadFileOperation.h
@@ -0,0 +1,24 @@
+//
+// BSGEventUploadFileOperation.h
+// Bugsnag
+//
+// Created by Nick Dowell on 17/02/2021.
+// Copyright © 2021 Bugsnag Inc. All rights reserved.
+//
+
+#import "BSGEventUploadOperation.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+/**
+ * A concrete operation class for uploading an event that is stored on disk.
+ */
+@interface BSGEventUploadFileOperation : BSGEventUploadOperation
+
+- (instancetype)initWithFile:(NSString *)file delegate:(id)delegate;
+
+@property (copy, nonatomic) NSString *file;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Delivery/BSGEventUploadFileOperation.m b/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Delivery/BSGEventUploadFileOperation.m
new file mode 100644
index 0000000000..39cd67f88c
--- /dev/null
+++ b/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Delivery/BSGEventUploadFileOperation.m
@@ -0,0 +1,51 @@
+//
+// BSGEventUploadFileOperation.m
+// Bugsnag
+//
+// Created by Nick Dowell on 17/02/2021.
+// Copyright © 2021 Bugsnag Inc. All rights reserved.
+//
+
+#import "BSGEventUploadFileOperation.h"
+
+#import "BSGFileLocations.h"
+#import "BSGJSONSerialization.h"
+#import "BugsnagEvent+Private.h"
+#import "BugsnagLogger.h"
+
+
+@implementation BSGEventUploadFileOperation
+
+- (instancetype)initWithFile:(NSString *)file delegate:(id)delegate {
+ if (self = [super initWithDelegate:delegate]) {
+ _file = [file copy];
+ }
+ return self;
+}
+
+- (BugsnagEvent *)loadEventAndReturnError:(NSError **)errorPtr {
+ id json = [BSGJSONSerialization JSONObjectWithContentsOfFile:self.file options:0 error:errorPtr];
+ if (![json isKindOfClass:[NSDictionary class]]) {
+ return nil;
+ }
+ return [[BugsnagEvent alloc] initWithJson:json];
+}
+
+- (void)deleteEvent {
+ NSError *error = nil;
+ if ([NSFileManager.defaultManager removeItemAtPath:self.file error:&error]) {
+ bsg_log_debug(@"Deleted event %@", self.name);
+ } else {
+ bsg_log_err(@"%@", error);
+ }
+}
+
+- (void)storeEventPayload:(NSDictionary *)eventPayload {
+ // This event was loaded from disk, so nothing needs to be saved.
+}
+
+- (NSString *)name {
+ return self.file.lastPathComponent;
+}
+
+@end
diff --git a/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Delivery/BSGEventUploadKSCrashReportOperation.h b/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Delivery/BSGEventUploadKSCrashReportOperation.h
new file mode 100644
index 0000000000..c83382adf7
--- /dev/null
+++ b/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Delivery/BSGEventUploadKSCrashReportOperation.h
@@ -0,0 +1,20 @@
+//
+// BSGEventUploadKSCrashReportOperation.h
+// Bugsnag
+//
+// Created by Nick Dowell on 17/02/2021.
+// Copyright © 2021 Bugsnag Inc. All rights reserved.
+//
+
+#import "BSGEventUploadFileOperation.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+/**
+ * A concrete operation class for reading a KSCrashReport from disk, converting it into a BugsnagEvent, and uploading.
+ */
+@interface BSGEventUploadKSCrashReportOperation : BSGEventUploadFileOperation
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Delivery/BSGEventUploadKSCrashReportOperation.m b/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Delivery/BSGEventUploadKSCrashReportOperation.m
new file mode 100644
index 0000000000..f3566142b7
--- /dev/null
+++ b/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Delivery/BSGEventUploadKSCrashReportOperation.m
@@ -0,0 +1,114 @@
+//
+// BSGEventUploadKSCrashReportOperation.m
+// Bugsnag
+//
+// Created by Nick Dowell on 17/02/2021.
+// Copyright © 2021 Bugsnag Inc. All rights reserved.
+//
+
+#import "BSGEventUploadKSCrashReportOperation.h"
+
+#import "BSGJSONSerialization.h"
+#import "BSG_KSCrashDoctor.h"
+#import "BSG_KSCrashReportFields.h"
+#import "BSG_RFC3339DateTool.h"
+#import "BugsnagAppWithState.h"
+#import "BugsnagCollections.h"
+#import "BugsnagConfiguration.h"
+#import "BugsnagEvent+Private.h"
+#import "BugsnagLogger.h"
+
+
+@implementation BSGEventUploadKSCrashReportOperation
+
+- (BugsnagEvent *)loadEventAndReturnError:(NSError **)errorPtr {
+ id json = [BSGJSONSerialization JSONObjectWithContentsOfFile:self.file options:0 error:errorPtr];
+ if (!json) {
+ return nil;
+ }
+
+ json = [self fixupCrashReport:json];
+ if (!json) {
+ return nil;
+ }
+
+ BugsnagEvent *event = [[BugsnagEvent alloc] initWithKSReport:json];
+
+ if (!event.app.type) {
+ // Use current value for crashes from older notifier versions that didn't persist config.appType
+ event.app.type = self.delegate.configuration.appType;
+ }
+
+ return event;
+}
+
+// Methods below were copied from BSG_KSCrashReportStore.m
+
+- (NSMutableDictionary *)fixupCrashReport:(NSDictionary *)report {
+ if (![report isKindOfClass:[NSDictionary class]]) {
+ bsg_log_err(@"Report should be a dictionary, not %@", [report class]);
+ return nil;
+ }
+
+ NSMutableDictionary *mutableReport = [report mutableCopy];
+ NSMutableDictionary *mutableInfo =
+ [report[@BSG_KSCrashField_Report] mutableCopy];
+ mutableReport[@BSG_KSCrashField_Report] = mutableInfo;
+
+ // Timestamp gets stored as a unix timestamp. Convert it to rfc3339.
+ [self convertTimestamp:@BSG_KSCrashField_Timestamp inReport:mutableInfo];
+
+ [self mergeDictWithKey:@BSG_KSCrashField_SystemAtCrash
+ intoDictWithKey:@BSG_KSCrashField_System
+ inReport:mutableReport];
+
+ [self mergeDictWithKey:@BSG_KSCrashField_UserAtCrash
+ intoDictWithKey:@BSG_KSCrashField_User
+ inReport:mutableReport];
+
+ NSMutableDictionary *crashReport =
+ [report[@BSG_KSCrashField_Crash] mutableCopy];
+ mutableReport[@BSG_KSCrashField_Crash] = crashReport;
+ BSG_KSCrashDoctor *doctor = [BSG_KSCrashDoctor doctor];
+ crashReport[@BSG_KSCrashField_Diagnosis] = [doctor diagnoseCrash:report];
+
+ return mutableReport;
+}
+
+- (void)mergeDictWithKey:(NSString *)srcKey
+ intoDictWithKey:(NSString *)dstKey
+ inReport:(NSMutableDictionary *)report {
+ NSDictionary *srcDict = report[srcKey];
+ if (srcDict == nil) {
+ // It's OK if the source dict didn't exist.
+ return;
+ }
+
+ NSDictionary *dstDict = report[dstKey];
+ if (dstDict == nil) {
+ dstDict = @{};
+ }
+ if (![dstDict isKindOfClass:[NSDictionary class]]) {
+ bsg_log_err(@"'%@' should be a dictionary, not %@", dstKey,
+ [dstDict class]);
+ return;
+ }
+
+ report[dstKey] = BSGDictMerge(srcDict, dstDict);
+ [report removeObjectForKey:srcKey];
+}
+
+- (void)convertTimestamp:(NSString *)key
+ inReport:(NSMutableDictionary *)report {
+ NSNumber *timestamp = report[key];
+ if (timestamp == nil) {
+ bsg_log_err(@"entry '%@' not found", key);
+ return;
+ }
+ [report
+ setValue:[BSG_RFC3339DateTool
+ stringFromUNIXTimestamp:[timestamp unsignedLongLongValue]]
+ forKey:key];
+}
+
+@end
diff --git a/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Delivery/BSGEventUploadObjectOperation.h b/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Delivery/BSGEventUploadObjectOperation.h
new file mode 100644
index 0000000000..9729baaaaf
--- /dev/null
+++ b/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Delivery/BSGEventUploadObjectOperation.h
@@ -0,0 +1,26 @@
+//
+// BSGEventUploadObjectOperation.h
+// Bugsnag
+//
+// Created by Nick Dowell on 17/02/2021.
+// Copyright © 2021 Bugsnag Inc. All rights reserved.
+//
+
+#import "BSGEventUploadOperation.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+/**
+ * A concrete operation class for uploading an event object in memory.
+ *
+ * If the upload needs to be retried, the event will be persisted to disk.
+ */
+@interface BSGEventUploadObjectOperation : BSGEventUploadOperation
+
+- (instancetype)initWithEvent:(BugsnagEvent *)event delegate:(id)delegate;
+
+@property (nonatomic) BugsnagEvent *event;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Delivery/BSGEventUploadObjectOperation.m b/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Delivery/BSGEventUploadObjectOperation.m
new file mode 100644
index 0000000000..6ed204266e
--- /dev/null
+++ b/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Delivery/BSGEventUploadObjectOperation.m
@@ -0,0 +1,42 @@
+//
+// BSGEventUploadObjectOperation.m
+// Bugsnag
+//
+// Created by Nick Dowell on 17/02/2021.
+// Copyright © 2021 Bugsnag Inc. All rights reserved.
+//
+
+#import "BSGEventUploadObjectOperation.h"
+
+#import "BSGJSONSerialization.h"
+#import "BugsnagEvent.h"
+#import "BugsnagLogger.h"
+
+@implementation BSGEventUploadObjectOperation
+
+- (instancetype)initWithEvent:(BugsnagEvent *)event delegate:(id)delegate {
+ if (self = [super initWithDelegate:delegate]) {
+ _event = event;
+ }
+ return self;
+}
+
+- (BugsnagEvent *)loadEventAndReturnError:(NSError **)errorPtr {
+ return self.event;
+}
+
+- (void)storeEventPayload:(NSDictionary *)eventPayload inDirectory:(NSString *)directory {
+ NSString *file = [[directory stringByAppendingPathComponent:[NSUUID UUID].UUIDString] stringByAppendingPathExtension:@"json"];
+ NSError *error = nil;
+ if ([BSGJSONSerialization writeJSONObject:eventPayload toFile:file options:0 error:&error]) {
+ [self.delegate uploadOperationDidStoreEventPayload:self];
+ } else {
+ bsg_log_err(@"Error encountered while saving event payload for retry: %@", error);
+ }
+}
+
+- (NSString *)name {
+ return self.event.description;
+}
+
+@end
diff --git a/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Delivery/BSGEventUploadOperation.h b/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Delivery/BSGEventUploadOperation.h
new file mode 100644
index 0000000000..3818849569
--- /dev/null
+++ b/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Delivery/BSGEventUploadOperation.h
@@ -0,0 +1,65 @@
+//
+// BSGEventUploadOperation.h
+// Bugsnag
+//
+// Created by Nick Dowell on 17/02/2021.
+// Copyright © 2021 Bugsnag Inc. All rights reserved.
+//
+
+#import
+
+#import "BugsnagApiClient.h"
+
+@class BugsnagConfiguration;
+@class BugsnagEvent;
+@class BugsnagNotifier;
+
+NS_ASSUME_NONNULL_BEGIN
+
+@protocol BSGEventUploadOperationDelegate;
+
+/**
+ * The abstract base class for all event upload operations.
+ *
+ * Implements an asynchronous NSOperation and the core logic for checking whether an event should be sent, and uploading it.
+ */
+@interface BSGEventUploadOperation : NSOperation
+
+- (instancetype)init NS_UNAVAILABLE;
+
+- (instancetype)initWithDelegate:(id)delegate;
+
+@property (readonly, weak, nonatomic) id delegate;
+
+// MARK: Subclassing
+
+/// Must be implemented by all subclasses.
+- (nullable BugsnagEvent *)loadEventAndReturnError:(NSError **)errorPtr;
+
+/// Called if the event should not be sent or failed to upload in a non-retrable way.
+///
+/// To be implemented by subclasses that load their data from a file.
+- (void)deleteEvent;
+
+/// Called if the event upload failed but should be retried later.
+///
+/// To be implemented by subclasses that need to persist the payload for a future retry.
+- (void)storeEventPayload:(NSDictionary *)eventPayload inDirectory:(NSString *)directory;
+
+@end
+
+// MARK: -
+
+@protocol BSGEventUploadOperationDelegate
+
+@property (readonly, nonatomic) BugsnagApiClient *apiClient;
+
+@property (readonly, nonatomic) BugsnagConfiguration *configuration;
+
+@property (readonly, nonatomic) BugsnagNotifier *notifier;
+
+- (void)uploadOperationDidStoreEventPayload:(BSGEventUploadOperation *)uploadOperation;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Delivery/BSGEventUploadOperation.m b/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Delivery/BSGEventUploadOperation.m
new file mode 100644
index 0000000000..df8bf97336
--- /dev/null
+++ b/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Delivery/BSGEventUploadOperation.m
@@ -0,0 +1,195 @@
+//
+// BSGEventUploadOperation.m
+// Bugsnag
+//
+// Created by Nick Dowell on 17/02/2021.
+// Copyright © 2021 Bugsnag Inc. All rights reserved.
+//
+
+#import "BSGEventUploadOperation.h"
+
+#import "BSGFileLocations.h"
+#import "BSG_RFC3339DateTool.h"
+#import "BugsnagAppWithState+Private.h"
+#import "BugsnagConfiguration+Private.h"
+#import "BugsnagError+Private.h"
+#import "BugsnagEvent+Private.h"
+#import "BugsnagKeys.h"
+#import "BugsnagLogger.h"
+#import "BugsnagNotifier.h"
+
+
+static NSString * const EventPayloadVersion = @"4.0";
+
+typedef NS_ENUM(NSUInteger, BSGEventUploadOperationState) {
+ BSGEventUploadOperationStateReady,
+ BSGEventUploadOperationStateExecuting,
+ BSGEventUploadOperationStateFinished,
+};
+
+@interface BSGEventUploadOperation ()
+
+@property (nonatomic) BSGEventUploadOperationState state;
+
+@end
+
+// MARK: -
+
+@implementation BSGEventUploadOperation
+
+- (instancetype)initWithDelegate:(id)delegate {
+ if (self = [super init]) {
+ _delegate = delegate;
+ }
+ return self;
+}
+
+- (void)runWithDelegate:(id)delegate completionHandler:(nonnull void (^)(void))completionHandler {
+ bsg_log_debug(@"Preparing event %@", self.name);
+
+ NSError *error = nil;
+ BugsnagEvent *event = [self loadEventAndReturnError:&error];
+ if (!event) {
+ bsg_log_err(@"Failed to load event %@ due to error %@", self.name, error);
+ if (!(error.domain == NSCocoaErrorDomain && error.code == NSFileReadNoSuchFileError)) {
+ [self deleteEvent];
+ }
+ completionHandler();
+ return;
+ }
+
+ BugsnagConfiguration *configuration = delegate.configuration;
+
+ if (!configuration.shouldSendReports || ![event shouldBeSent]) {
+ bsg_log_info(@"Discarding event %@ because releaseStage not in enabledReleaseStages", self.name);
+ [self deleteEvent];
+ completionHandler();
+ return;
+ }
+
+ NSString *errorClass = event.errors.firstObject.errorClass;
+ if ([configuration shouldDiscardErrorClass:errorClass]) {
+ bsg_log_info(@"Discarding event %@ because errorClass \"%@\" matches configuration.discardClasses", self.name, errorClass);
+ [self deleteEvent];
+ completionHandler();
+ return;
+ }
+
+ for (BugsnagOnSendErrorBlock block in configuration.onSendBlocks) {
+ @try {
+ if (!block(event)) {
+ [self deleteEvent];
+ completionHandler();
+ return;
+ }
+ } @catch (NSException *exception) {
+ bsg_log_err(@"Ignoring exception thrown by onSend callback: %@", exception);
+ }
+ }
+
+ NSDictionary *eventPayload = [event toJsonWithRedactedKeys:configuration.redactedKeys];
+
+ NSString *apiKey = event.apiKey ?: configuration.apiKey;
+
+ NSMutableDictionary *requestPayload = [NSMutableDictionary dictionary];
+ requestPayload[BSGKeyApiKey] = apiKey;
+ requestPayload[BSGKeyEvents] = @[eventPayload];
+ requestPayload[BSGKeyNotifier] = [delegate.notifier toDict];
+ requestPayload[BSGKeyPayloadVersion] = EventPayloadVersion;
+
+ NSMutableDictionary *requestHeaders = [NSMutableDictionary dictionary];
+ requestHeaders[BugsnagHTTPHeaderNameApiKey] = apiKey;
+ requestHeaders[BugsnagHTTPHeaderNamePayloadVersion] = EventPayloadVersion;
+ requestHeaders[BugsnagHTTPHeaderNameSentAt] = [BSG_RFC3339DateTool stringFromDate:[NSDate date]];
+ requestHeaders[BugsnagHTTPHeaderNameStacktraceTypes] = [event.stacktraceTypes componentsJoinedByString:@","];
+
+ [delegate.apiClient sendJSONPayload:requestPayload headers:requestHeaders toURL:configuration.notifyURL
+ completionHandler:^(BugsnagApiClientDeliveryStatus status, NSError *error) {
+
+ switch (status) {
+ case BugsnagApiClientDeliveryStatusDelivered:
+ bsg_log_debug(@"Uploaded event %@", self.name);
+ [self deleteEvent];
+ break;
+
+ case BugsnagApiClientDeliveryStatusFailed:
+ bsg_log_debug(@"Upload failed; will retry event %@", self.name);
+ [self storeEventPayload:eventPayload inDirectory:[BSGFileLocations current].events];
+ break;
+
+ case BugsnagApiClientDeliveryStatusUndeliverable:
+ bsg_log_debug(@"Upload failed; will discard event %@", self.name);
+ [self deleteEvent];
+ break;
+ }
+
+ completionHandler();
+ }];
+}
+
+// MARK: Subclassing
+
+- (BugsnagEvent *)loadEventAndReturnError:(NSError **)errorPtr {
+ // Must be implemented by all subclasses
+ [self doesNotRecognizeSelector:_cmd];
+ return nil;
+}
+
+- (void)deleteEvent {
+}
+
+- (void)storeEventPayload:(NSDictionary *)eventPayload inDirectory:(NSString *)directory {
+}
+
+// MARK: Asynchronous NSOperation implementation
+
+- (void)start {
+ if ([self isCancelled]) {
+ [self setFinished];
+ return;
+ }
+
+ id delegate = self.delegate;
+ if (!delegate) {
+ bsg_log_err(@"Upload operation %@ has no delegate", self);
+ [self setFinished];
+ return;
+ }
+
+ [self willChangeValueForKey:NSStringFromSelector(@selector(isExecuting))];
+ self.state = BSGEventUploadOperationStateExecuting;
+ [self didChangeValueForKey:NSStringFromSelector(@selector(isExecuting))];
+
+ [self runWithDelegate:delegate completionHandler:^{
+ [self setFinished];
+ }];
+}
+
+- (void)setFinished {
+ if (self.state == BSGEventUploadOperationStateFinished) {
+ return;
+ }
+ [self willChangeValueForKey:NSStringFromSelector(@selector(isExecuting))];
+ [self willChangeValueForKey:NSStringFromSelector(@selector(isFinished))];
+ self.state = BSGEventUploadOperationStateFinished;
+ [self didChangeValueForKey:NSStringFromSelector(@selector(isExecuting))];
+ [self didChangeValueForKey:NSStringFromSelector(@selector(isFinished))];
+}
+
+- (BOOL)isAsynchronous {
+ return YES;
+}
+
+- (BOOL)isReady {
+ return self.state == BSGEventUploadOperationStateReady;
+}
+
+- (BOOL)isExecuting {
+ return self.state == BSGEventUploadOperationStateExecuting;
+}
+
+- (BOOL)isFinished {
+ return self.state == BSGEventUploadOperationStateFinished;
+}
+
+@end
diff --git a/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Delivery/BSGEventUploader.h b/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Delivery/BSGEventUploader.h
new file mode 100644
index 0000000000..4e69601ae3
--- /dev/null
+++ b/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Delivery/BSGEventUploader.h
@@ -0,0 +1,30 @@
+//
+// BSGEventUploader.h
+// Bugsnag
+//
+// Created by Nick Dowell on 16/02/2021.
+// Copyright © 2021 Bugsnag Inc. All rights reserved.
+//
+
+#import
+
+@class BugsnagApiClient;
+@class BugsnagConfiguration;
+@class BugsnagEvent;
+@class BugsnagNotifier;
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface BSGEventUploader : NSObject
+
+- (instancetype)initWithConfiguration:(BugsnagConfiguration *)configuration notifier:(BugsnagNotifier *)notifier;
+
+- (void)uploadEvent:(BugsnagEvent *)event;
+
+- (void)uploadStoredEvents;
+
+- (void)uploadLatestStoredEvent:(void (^)(void))completionHandler;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Delivery/BSGEventUploader.m b/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Delivery/BSGEventUploader.m
new file mode 100644
index 0000000000..e077f18ca8
--- /dev/null
+++ b/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Delivery/BSGEventUploader.m
@@ -0,0 +1,175 @@
+//
+// BSGEventUploader.m
+// Bugsnag
+//
+// Created by Nick Dowell on 17/02/2021.
+// Copyright © 2021 Bugsnag Inc. All rights reserved.
+//
+
+#import "BSGEventUploader.h"
+
+#import "BSGEventUploadKSCrashReportOperation.h"
+#import "BSGEventUploadObjectOperation.h"
+#import "BSGFileLocations.h"
+#import "BugsnagConfiguration.h"
+#import "BugsnagLogger.h"
+
+
+@interface BSGEventUploader ()
+
+@property (readonly, nonatomic) NSString *eventsDirectory;
+
+@property (readonly, nonatomic) NSString *kscrashReportsDirectory;
+
+@property (readonly, nonatomic) NSOperationQueue *scanQueue;
+
+@property (readonly, nonatomic) NSOperationQueue *uploadQueue;
+
+@end
+
+
+// MARK: -
+
+@implementation BSGEventUploader
+
+@synthesize apiClient = _apiClient;
+@synthesize configuration = _configuration;
+@synthesize notifier = _notifier;
+
+- (instancetype)initWithConfiguration:(BugsnagConfiguration *)configuration notifier:(BugsnagNotifier *)notifier {
+ if (self = [super init]) {
+ _apiClient = [[BugsnagApiClient alloc] initWithSession:configuration.session queueName:@""];
+ _configuration = configuration;
+ _eventsDirectory = [BSGFileLocations current].events;
+ _kscrashReportsDirectory = [BSGFileLocations current].kscrashReports;
+ _notifier = notifier;
+ _scanQueue = [[NSOperationQueue alloc] init];
+ _scanQueue.maxConcurrentOperationCount = 1;
+ _scanQueue.name = @"com.bugsnag.event-scanner";
+ _uploadQueue = [[NSOperationQueue alloc] init];
+ _uploadQueue.maxConcurrentOperationCount = 1;
+ _uploadQueue.name = @"com.bugsnag.event-uploader";
+ }
+ return self;
+}
+
+- (void)dealloc {
+ [_scanQueue cancelAllOperations];
+ [_uploadQueue cancelAllOperations];
+}
+
+// MARK: - Public API
+
+- (void)uploadEvent:(BugsnagEvent *)event {
+ [self.uploadQueue addOperation:[[BSGEventUploadObjectOperation alloc] initWithEvent:event delegate:self]];
+}
+
+- (void)uploadStoredEvents {
+ if (self.scanQueue.operationCount > 1) {
+ // Prevent too many scan operations being scheduled
+ return;
+ }
+ bsg_log_debug(@"Will scan stored events");
+ [self.scanQueue addOperationWithBlock:^{
+ NSMutableArray *sortedFiles = [self sortedEventFiles];
+ [self deleteExcessFiles:sortedFiles];
+ NSArray *operations = [self uploadOperationsWithFiles:sortedFiles];
+ bsg_log_debug(@"Uploading %lu stored events", (unsigned long)operations.count);
+ [self.uploadQueue addOperations:operations waitUntilFinished:NO];
+ }];
+}
+
+- (void)uploadLatestStoredEvent:(void (^)(void))completionHandler {
+ NSString *latestFile = [self sortedEventFiles].lastObject;
+ BSGEventUploadFileOperation *operation = latestFile ? [self uploadOperationsWithFiles:@[latestFile]].lastObject : nil;
+ if (!operation) {
+ bsg_log_warn(@"Could not find a stored event to upload");
+ completionHandler();
+ return;
+ }
+ operation.completionBlock = completionHandler;
+ [self.uploadQueue addOperation:operation];
+}
+
+// MARK: - Implementation
+
+/// Returns the stored event files sorted from oldest to most recent.
+- (NSMutableArray *)sortedEventFiles {
+ NSMutableArray *files = [NSMutableArray array];
+
+ NSMutableDictionary *creationDates = [NSMutableDictionary dictionary];
+
+ for (NSString *directory in @[self.eventsDirectory, self.kscrashReportsDirectory]) {
+ NSError *error = nil;
+ NSArray *entries = [NSFileManager.defaultManager contentsOfDirectoryAtPath:directory error:&error];
+ if (!entries) {
+ bsg_log_err(@"%@", error);
+ continue;
+ }
+
+ for (NSString *filename in entries) {
+ if (![filename.pathExtension isEqual:@"json"] || [filename hasSuffix:@"-CrashState.json"]) {
+ continue;
+ }
+
+ NSString *file = [directory stringByAppendingPathComponent:filename];
+ NSDictionary *attributes = [NSFileManager.defaultManager attributesOfItemAtPath:file error:nil];
+ creationDates[file] = attributes.fileCreationDate;
+ [files addObject:file];
+ }
+ }
+
+ [files sortUsingComparator:^NSComparisonResult(NSString *lhs, NSString *rhs) {
+ return [creationDates[lhs] compare:creationDates[rhs]];
+ }];
+
+ return files;
+}
+
+/// Deletes the oldest files until no more than `config.maxPersistedEvents` remain and removes them from the array.
+- (void)deleteExcessFiles:(NSMutableArray *)sortedEventFiles {
+ while (sortedEventFiles.count > self.configuration.maxPersistedEvents) {
+ NSString *file = sortedEventFiles[0];
+ NSError *error = nil;
+ if ([NSFileManager.defaultManager removeItemAtPath:file error:&error]) {
+ bsg_log_debug(@"Deleted %@ to comply with maxPersistedEvents", file);
+ } else {
+ bsg_log_err(@"Error while deleting file: %@", error);
+ }
+ [sortedEventFiles removeObject:file];
+ }
+}
+
+/// Creates an upload operation for each file that is not currently being uploaded
+- (NSArray *)uploadOperationsWithFiles:(NSArray *)files {
+ NSMutableArray *operations = [NSMutableArray array];
+
+ NSMutableSet *currentFiles = [NSMutableSet set];
+ for (id operation in self.uploadQueue.operations) {
+ if ([operation isKindOfClass:[BSGEventUploadFileOperation class]]) {
+ [currentFiles addObject:((BSGEventUploadFileOperation *)operation).file];
+ }
+ }
+
+ for (NSString *file in files) {
+ if ([currentFiles containsObject:file]) {
+ continue;
+ }
+ NSString *directory = file.stringByDeletingLastPathComponent;
+ if ([directory isEqualToString:self.kscrashReportsDirectory]) {
+ [operations addObject:[[BSGEventUploadKSCrashReportOperation alloc] initWithFile:file delegate:self]];
+ } else {
+ [operations addObject:[[BSGEventUploadFileOperation alloc] initWithFile:file delegate:self]];
+ }
+ }
+
+ return operations;
+}
+
+// MARK: - BSGEventUploadOperationDelegate
+
+- (void)uploadOperationDidStoreEventPayload:(BSGEventUploadOperation *)uploadOperation {
+ [self deleteExcessFiles:[self sortedEventFiles]];
+}
+
+@end
diff --git a/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Delivery/BugsnagErrorReportApiClient.h b/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Delivery/BugsnagErrorReportApiClient.h
deleted file mode 100644
index 5d3b62cb40..0000000000
--- a/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Delivery/BugsnagErrorReportApiClient.h
+++ /dev/null
@@ -1,18 +0,0 @@
-//
-// BugsnagErrorReportApiClient.h
-// Pods
-//
-// Created by Jamie Lynch on 11/08/2017.
-//
-//
-
-#import
-
-#import "BSGOnErrorSentBlock.h"
-#import "BugsnagEvent.h"
-#import "BugsnagConfiguration.h"
-#import "BugsnagApiClient.h"
-
-@interface BugsnagErrorReportApiClient : BugsnagApiClient
-
-@end
diff --git a/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Delivery/BugsnagErrorReportApiClient.m b/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Delivery/BugsnagErrorReportApiClient.m
deleted file mode 100644
index 859e6b00a8..0000000000
--- a/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Delivery/BugsnagErrorReportApiClient.m
+++ /dev/null
@@ -1,41 +0,0 @@
-//
-// BugsnagErrorReportApiClient.m
-// Pods
-//
-// Created by Jamie Lynch on 11/08/2017.
-//
-//
-
-#import "BugsnagErrorReportApiClient.h"
-
-#import "BSG_KSCrash.h"
-#import "Bugsnag.h"
-#import "BugsnagClient.h"
-#import "BugsnagErrorReportSink.h"
-#import "BugsnagKeys.h"
-#import "BugsnagLogger.h"
-
-
-@interface BSGDeliveryOperation : NSOperation
-@end
-
-@implementation BugsnagErrorReportApiClient
-
-- (NSOperation *)deliveryOperation {
- return [BSGDeliveryOperation new];
-}
-
-@end
-
-@implementation BSGDeliveryOperation
-
-- (void)main {
- @autoreleasepool {
- @try {
- [[BSG_KSCrash sharedInstance] sendAllReports];
- } @catch (NSException *e) {
- bsg_log_err(@"Could not send error report: %@", e);
- }
- }
-}
-@end
diff --git a/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Helpers/BSGAppHangDetector.h b/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Helpers/BSGAppHangDetector.h
new file mode 100644
index 0000000000..39eaacf3b7
--- /dev/null
+++ b/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Helpers/BSGAppHangDetector.h
@@ -0,0 +1,37 @@
+//
+// BSGAppHangDetector.h
+// Bugsnag
+//
+// Created by Nick Dowell on 01/03/2021.
+// Copyright © 2021 Bugsnag Inc. All rights reserved.
+//
+
+#import
+
+@class BugsnagConfiguration;
+@class BugsnagEvent;
+@class BugsnagThread;
+
+NS_ASSUME_NONNULL_BEGIN
+
+@protocol BSGAppHangDetectorDelegate;
+
+
+@interface BSGAppHangDetector : NSObject
+
+- (void)startWithDelegate:(id)delegate;
+
+@end
+
+
+@protocol BSGAppHangDetectorDelegate
+
+@property (readonly) BugsnagConfiguration *configuration;
+
+- (void)appHangDetectedWithThreads:(NSArray *)threads;
+
+- (void)appHangEnded;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Helpers/BSGAppHangDetector.m b/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Helpers/BSGAppHangDetector.m
new file mode 100644
index 0000000000..b12eb0fe1f
--- /dev/null
+++ b/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Helpers/BSGAppHangDetector.m
@@ -0,0 +1,125 @@
+//
+// BSGAppHangDetector.m
+// Bugsnag
+//
+// Created by Nick Dowell on 01/03/2021.
+// Copyright © 2021 Bugsnag Inc. All rights reserved.
+//
+
+#import "BSGAppHangDetector.h"
+
+#import
+#import
+
+#import "BugsnagLogger.h"
+#import "BugsnagThread+Recording.h"
+#import "BugsnagThread+Private.h"
+
+
+@interface BSGAppHangDetector ()
+
+@property (nonatomic) CFRunLoopObserverRef observer;
+
+@end
+
+
+@implementation BSGAppHangDetector
+
+- (void)dealloc {
+ if (_observer) {
+ CFRunLoopRemoveObserver(CFRunLoopGetMain(), _observer, kCFRunLoopCommonModes);
+ }
+}
+
+- (void)startWithDelegate:(id)delegate {
+ if (self.observer) {
+ bsg_log_err(@"Attempted to call %s more than once", __PRETTY_FUNCTION__);
+ return;
+ }
+
+ BugsnagConfiguration *configuration = delegate.configuration;
+ if (!configuration.enabledErrorTypes.appHangs) {
+ return;
+ }
+
+ if (NSProcessInfo.processInfo.environment[@"XCTestConfigurationFilePath"]) {
+ // Disable functionality during unit testing to avoid crashes that can occur due to there
+ // being many leaked BugsnagClient instances and BSGAppHangDetectors running while global
+ // shared data structures are being reinitialized.
+ return;
+ }
+
+ const BOOL fatalOnly = configuration.appHangThresholdMillis == BugsnagAppHangThresholdFatalOnly;
+ const BOOL recordAllThreads = configuration.sendThreads == BSGThreadSendPolicyAlways;
+ const NSTimeInterval threshold = fatalOnly ? 2 : configuration.appHangThresholdMillis / 1000.0;
+
+ bsg_log_debug(@"Starting App Hang detector with threshold = %g seconds", threshold);
+
+ dispatch_queue_t backgroundQueue;
+ __block dispatch_semaphore_t semaphore;
+ __weak typeof(delegate) weakDelegate = delegate;
+
+ backgroundQueue = dispatch_queue_create("com.bugsnag.app-hang-detector", DISPATCH_QUEUE_SERIAL);
+
+ void (^ observerBlock)(CFRunLoopObserverRef, CFRunLoopActivity) = ^(CFRunLoopObserverRef observer, CFRunLoopActivity activity) {
+ // "Inside the event processing loop after the run loop wakes up, but before processing the event that woke it up"
+ if (activity == kCFRunLoopAfterWaiting) {
+ if (!semaphore) {
+ semaphore = dispatch_semaphore_create(0);
+ }
+ dispatch_time_t now = dispatch_time(DISPATCH_TIME_NOW, 0);
+ // Using dispatch_after prevents our queue showing up in Instruments' Time Profiler until there is a hang.
+ // Schedule block slightly ahead of time to work around dispatch_after's leeway.
+ dispatch_time_t after = dispatch_time(now, (int64_t)((threshold * 0.95) * NSEC_PER_SEC));
+ dispatch_time_t timeout = dispatch_time(now, (int64_t)(threshold * NSEC_PER_SEC));
+ dispatch_after(after, backgroundQueue, ^{
+ if (dispatch_semaphore_wait(semaphore, timeout) != 0) {
+ bsg_log_info("App hang detected");
+
+ NSArray *threads = nil;
+ if (recordAllThreads) {
+ threads = [BugsnagThread allThreads:YES callStackReturnAddresses:NSThread.callStackReturnAddresses];
+ // By default the calling thread is marked as "Error reported from this thread", which is not correct case for app hangs.
+ [threads enumerateObjectsUsingBlock:^(BugsnagThread * _Nonnull thread, NSUInteger idx, BOOL * _Nonnull stop) {
+ thread.errorReportingThread = idx == 0;
+ }];
+ } else {
+ threads = [NSArray arrayWithObjects:[BugsnagThread mainThread], nil]; //!OCLint
+ }
+
+ [weakDelegate appHangDetectedWithThreads:threads];
+
+ dispatch_semaphore_wait(semaphore, DISPATCH_TIME_FOREVER);
+ bsg_log_info("App hang has ended");
+
+ [weakDelegate appHangEnded];
+ }
+ });
+ }
+
+ // "Inside the event processing loop before the run loop sleeps, waiting for a source or timer to fire"
+ if (activity == kCFRunLoopBeforeWaiting) {
+ if (semaphore) {
+ dispatch_semaphore_signal(semaphore);
+ }
+ }
+ };
+
+ // A high `order` is required to ensure our observer runs after others that may introduce an app hang.
+ // Once such culprit is -[UITableView tableView:didSelectRowAtIndexPath:] which is run in a
+ // _afterCACommitHandler, which is invoked via a CFRunLoopObserver.
+ CFIndex order = INT_MAX;
+ self.observer = CFRunLoopObserverCreateWithHandler(NULL, kCFRunLoopAfterWaiting | kCFRunLoopBeforeWaiting, true, order, observerBlock);
+
+ CFRunLoopMode runLoopMode = CFRunLoopCopyCurrentMode(CFRunLoopGetCurrent());
+ // The run loop mode will be NULL if called before the run loop has started; e.g. in a +load method.
+ if (runLoopMode) {
+ // If we are already in the run loop (e.g. in app delegate) start monitoring immediately so that app hangs during app launch are detected.
+ observerBlock(self.observer, kCFRunLoopAfterWaiting);
+ CFRelease(runLoopMode);
+ }
+
+ CFRunLoopAddObserver(CFRunLoopGetMain(), self.observer, kCFRunLoopCommonModes);
+}
+
+@end
diff --git a/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Helpers/BugsnagCollections.h b/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Helpers/BugsnagCollections.h
index da61650937..374c4a1153 100644
--- a/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Helpers/BugsnagCollections.h
+++ b/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Helpers/BugsnagCollections.h
@@ -21,6 +21,11 @@
#import
+NS_ASSUME_NONNULL_BEGIN
+
+/// Returns an array containing the results of mapping the given block over the array's elements
+NSArray * BSGArrayMap(NSArray *array, id (^ transform)(id));
+
/// Returns a new array containing the elements starting at position `index`, or
/// an empty array if `index` is beyond the array's range range of elements.
NSArray * BSGArraySubarrayFromIndex(NSArray *array, NSUInteger index);
@@ -37,3 +42,5 @@ NSDictionary *BSGDictMerge(NSDictionary *source, NSDictionary *destination);
/// Any dictionary keys that are not strings will be ignored.
/// Any values that are not valid JSON will be replaced by a string description.
NSDictionary * BSGJSONDictionary(NSDictionary *dictionary);
+
+NS_ASSUME_NONNULL_END
diff --git a/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Helpers/BugsnagCollections.m b/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Helpers/BugsnagCollections.m
index 2f8bf668ac..7e08d0b11e 100644
--- a/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Helpers/BugsnagCollections.m
+++ b/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Helpers/BugsnagCollections.m
@@ -23,6 +23,17 @@
#import "BSGJSONSerialization.h"
+NSArray * BSGArrayMap(NSArray *array, id (^ transform)(id)) {
+ NSMutableArray *mappedArray = [NSMutableArray array];
+ for (id object in array) {
+ id mapped = transform(object);
+ if (mapped) {
+ [mappedArray addObject:mapped];
+ }
+ }
+ return mappedArray;
+}
+
NSArray * BSGArraySubarrayFromIndex(NSArray *array, NSUInteger index) {
if (index >= array.count) {
return @[];
diff --git a/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/KSCrash/Source/KSCrash/Recording/BSG_Jailbreak.h b/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/KSCrash/Source/KSCrash/Recording/BSG_Jailbreak.h
index 6e83a41fe4..a837d9e2cf 100644
--- a/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/KSCrash/Source/KSCrash/Recording/BSG_Jailbreak.h
+++ b/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/KSCrash/Source/KSCrash/Recording/BSG_Jailbreak.h
@@ -49,10 +49,17 @@
extern char **environ;
static inline bool bsg_local_is_insert_libraries_env_var(const char* str) {
+ if (str == NULL) {
+ return false;
+ }
+
// DYLD_INSERT_LIBRARIES lets you override functions by loading other libraries first.
// This is a common technique used for defeating detection.
// See: https://opensource.apple.com/source/dyld/dyld-832.7.3/doc/man/man1/dyld.1
const char insert[] = "DYLD_INSERT_LIBRARIES";
+ if (strlen(str) < sizeof(insert)) {
+ return false;
+ }
return __builtin_memcmp(str, insert, sizeof(insert)) == 0;
}
diff --git a/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/KSCrash/Source/KSCrash/Recording/BSG_KSCrash.h b/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/KSCrash/Source/KSCrash/Recording/BSG_KSCrash.h
index cdc8a7d58e..224673a555 100644
--- a/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/KSCrash/Source/KSCrash/Recording/BSG_KSCrash.h
+++ b/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/KSCrash/Source/KSCrash/Recording/BSG_KSCrash.h
@@ -26,11 +26,8 @@
#import
-#import "BugsnagErrorReportSink.h"
-#import "BSGOnErrorSentBlock.h"
#import "BSG_KSCrashReportWriter.h"
#import "BSG_KSCrashType.h"
-#import "BugsnagConfiguration.h"
/**
* Reports any crashes that occur in the application.
@@ -72,22 +69,7 @@
*
* @return YES if the reporter successfully installed.
*/
-- (BOOL)install;
-
-/** Send any outstanding crash reports to the current sink.
- * It will only attempt to send the most recent 5 reports. All others will be
- * deleted. Once the reports are successfully sent to the server, they may be
- * deleted locally.
- *
- * Note: property "sink" MUST be set or else this method will call the block
- * with an error.
- */
-- (void)sendAllReports;
-
-/**
- * Send the most recent crash report to the current sink.
- */
-- (void)sendLatestReport:(dispatch_block_t)completionHander;
+- (BOOL)install:(NSString *)directory;
/** Report a custom, user defined exception.
* This can be useful when dealing with scripting languages.
diff --git a/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/KSCrash/Source/KSCrash/Recording/BSG_KSCrash.m b/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/KSCrash/Source/KSCrash/Recording/BSG_KSCrash.m
index 4b5502ea41..ff0ccae75b 100644
--- a/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/KSCrash/Source/KSCrash/Recording/BSG_KSCrash.m
+++ b/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/KSCrash/Source/KSCrash/Recording/BSG_KSCrash.m
@@ -40,8 +40,8 @@
#import "BSGSerialization.h"
#import "Bugsnag.h"
#import "BugsnagCollections.h"
+#import "BSG_KSCrashIdentifier.h"
#import "BSG_KSCrashReportFields.h"
-#import "BSGFileLocations.h"
#if BSG_HAS_UIKIT
#import "BSGUIKit.h"
@@ -73,15 +73,9 @@ @interface BSG_KSCrash ()
@property(nonatomic, readwrite, retain) NSString *bundleName;
@property(nonatomic, readwrite, retain) NSString *nextCrashID;
-@property(nonatomic, readonly, retain) NSString *crashReportPath;
-@property(nonatomic, readonly, retain) NSString *recrashReportPath;
-@property(nonatomic, readonly, retain) NSString *stateFilePath;
// Mirrored from BSG_KSCrashAdvanced.h to provide ivars
-@property(nonatomic, readwrite, retain) BugsnagErrorReportSink *sink;
@property(nonatomic, readwrite, retain) NSString *logFilePath;
-@property(nonatomic, readwrite, retain)
- BSG_KSCrashReportStore *crashReportStore;
@property(nonatomic, readwrite, assign) BSGReportCallback onCrash;
@property(nonatomic, readwrite, assign) bool printTraceToStdout;
@property(nonatomic, readwrite, assign) int maxStoredReports;
@@ -94,12 +88,10 @@ @implementation BSG_KSCrash
#pragma mark - Properties -
// ============================================================================
-@synthesize sink = _sink;
@synthesize userInfo = _userInfo;
@synthesize handlingCrashTypes = _handlingCrashTypes;
@synthesize printTraceToStdout = _printTraceToStdout;
@synthesize onCrash = _onCrash;
-@synthesize crashReportStore = _crashReportStore;
@synthesize bundleName = _bundleName;
@synthesize logFilePath = _logFilePath;
@synthesize nextCrashID = _nextCrashID;
@@ -127,7 +119,6 @@ - (instancetype)init {
if ((self = [super init])) {
self.bundleName = [[NSBundle mainBundle] infoDictionary][@"CFBundleName"];
self.nextCrashID = [NSUUID UUID].UUIDString;
- self.crashReportStore = [BSG_KSCrashReportStore storeWithPath:[BSGFileLocations current].kscrashReports];
self.introspectMemory = YES;
self.maxStoredReports = 5;
@@ -195,26 +186,20 @@ - (void)setWriteBinaryImagesForUserReported:
writeBinaryImagesForUserReported);
}
-- (NSString *)crashReportPath {
- return [self.crashReportStore pathToFileWithId:self.nextCrashID];
-}
-
-- (NSString *)recrashReportPath {
- return [self.crashReportStore pathToRecrashReportWithID:self.nextCrashID];
-}
-
-- (NSString *)stateFilePath {
- NSString *stateFilename = [NSString
- stringWithFormat:@"%@" BSG_kCrashStateFilenameSuffix, self.bundleName];
- return [self.crashReportStore.path
- stringByAppendingPathComponent:stateFilename];
-}
-
-- (BOOL)install {
-
+- (BOOL)install:(NSString *)directory {
+ bsg_kscrash_generate_report_initialize(directory.fileSystemRepresentation, self.bundleName.UTF8String);
+ char *crashReportPath = (char *)bsg_kscrash_generate_report_path(self.nextCrashID.UTF8String, false);
+ char *recrashReportPath = (char *)bsg_kscrash_generate_report_path(self.nextCrashID.UTF8String, true);
+ NSString *stateFilePath = [directory stringByAppendingPathComponent:
+ [self.bundleName stringByAppendingString:@BSG_kCrashStateFilenameSuffix]];
+
self.handlingCrashTypes = bsg_kscrash_install(
- [self.crashReportPath UTF8String], [self.recrashReportPath UTF8String],
- [self.stateFilePath UTF8String], [self.nextCrashID UTF8String]);
+ crashReportPath, recrashReportPath,
+ [stateFilePath UTF8String], [self.nextCrashID UTF8String]);
+
+ free(crashReportPath);
+ free(recrashReportPath);
+
if (self.handlingCrashTypes == 0) {
return false;
}
@@ -260,60 +245,6 @@ - (BOOL)install {
return true;
}
-- (void)sendAllReports {
- [self.crashReportStore pruneFilesLeaving:self.maxStoredReports];
-
- NSDictionary *reports = [self allReportsByFilename];
- if (!reports.count) {
- return;
- }
-
- [self sendReports:reports completionHander:nil];
-}
-
-- (void)sendLatestReport:(dispatch_block_t)completionHander {
- [self.crashReportStore pruneFilesLeaving:self.maxStoredReports];
-
- NSString *fileId = [self.crashReportStore fileIds].lastObject;
- if (!fileId) {
- if (completionHander) {
- completionHander();
- }
- return;
- }
-
- NSDictionary *contents = [self.crashReportStore fileWithId:fileId];
- if (!contents) {
- if (completionHander) {
- completionHander();
- }
- return;
- }
-
- [self sendReports:@{fileId: contents} completionHander:completionHander];
-}
-
-- (void)sendReports:(NSDictionary *)reports
- completionHander:(dispatch_block_t)completionHander {
- BSG_KSLOG_INFO(@"Sending %lu crash reports", (unsigned long)reports.count);
-
- [self sendReports:reports
- withBlock:^(NSString *filename, BOOL completed,
- NSError *error) {
- BSG_KSLOG_DEBUG(@"Sending finished with completion: %d", completed);
- if (error != nil) {
- BSG_KSLOG_ERROR(@"Failed to send reports: %@", error);
- }
- if (completed && filename != nil) {
- BSG_KSLOG_DEBUG(@"Deleting KSCrashReport %@", filename);
- [self.crashReportStore deleteFileWithId:filename];
- }
- if (completionHander) {
- completionHander();
- }
- }];
-}
-
- (NSDictionary *)captureAppStats {
BSG_KSCrash_State state = crashContext()->state;
bsg_kscrashstate_updateDurationStats(&state);
@@ -366,39 +297,6 @@ -(TYPE)NAME { \
BSG_SYNTHESIZE_CRASH_STATE_PROPERTY(int, sessionsSinceLaunch)
BSG_SYNTHESIZE_CRASH_STATE_PROPERTY(BOOL, crashedLastLaunch)
-- (NSUInteger)reportCount {
- return [self.crashReportStore fileCount];
-}
-
-- (NSString *)crashReportsPath {
- return self.crashReportStore.path;
-}
-
-- (void)sendReports:(NSDictionary *)reports
- withBlock:(BSGOnErrorSentBlock)block {
- if ([reports count] == 0) {
- if (block) {
- block(nil, YES, nil);
- }
- return;
- }
-
- if (self.sink == nil) {
- if (block) {
- block(nil, NO, [NSError bsg_errorWithDomain:[[self class] description]
- code:0
- description:@"No sink set. Crash reports not sent."]);
- }
- return;
- }
- [self.sink sendStoredReports:reports
- withBlock:block];
-}
-
-- (NSDictionary *)allReportsByFilename {
- return [self.crashReportStore allFilesByName];
-}
-
- (BOOL)redirectConsoleLogsToFile:(NSString *)fullPath
overwrite:(BOOL)overwrite {
if (bsg_kslog_setLogFilename([fullPath UTF8String], overwrite)) {
@@ -408,18 +306,6 @@ - (BOOL)redirectConsoleLogsToFile:(NSString *)fullPath
return NO;
}
-- (BOOL)redirectConsoleLogsToDefaultFile {
- NSString *logFilename = [NSString
- stringWithFormat:@"%@" BSG_kCrashLogFilenameSuffix, self.bundleName];
- NSString *logFilePath =
- [self.crashReportStore.path stringByAppendingPathComponent:logFilename];
- if (![self redirectConsoleLogsToFile:logFilePath overwrite:YES]) {
- BSG_KSLOG_ERROR(@"Could not redirect logs to %@", logFilePath);
- return NO;
- }
- return YES;
-}
-
// ============================================================================
#pragma mark - Utility -
// ============================================================================
diff --git a/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/KSCrash/Source/KSCrash/Recording/BSG_KSCrashAdvanced.h b/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/KSCrash/Source/KSCrash/Recording/BSG_KSCrashAdvanced.h
index 0589640bfc..bfe2fef962 100644
--- a/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/KSCrash/Source/KSCrash/Recording/BSG_KSCrashAdvanced.h
+++ b/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/KSCrash/Source/KSCrash/Recording/BSG_KSCrashAdvanced.h
@@ -25,9 +25,6 @@
//
#import "BSG_KSCrash.h"
-#import "BSG_KSCrashReportStore.h"
-
-@class BugsnagErrorReportSink;
/**
* Advanced interface to the BSG_KSCrash system.
@@ -67,36 +64,8 @@
* (default 5) */
@property(nonatomic, readwrite, assign) int maxStoredReports;
-/** The total number of unsent reports. Note: This is an expensive operation.
- */
-- (NSUInteger)reportCount;
-
-/** Get all reports, with data types corrected, as dictionaries.
- */
-- (NSArray *)allReports;
-
-/** Get all reports as dictionaries, indexed by file name.
- */
-- (NSDictionary *)allReportsByFilename;
-
#pragma mark - Configuration -
-/** Init BSG_KSCrash instance with custom report files directory path. */
-- (instancetype)initWithReportFilesDirectory:(NSString *)reportFilesDirectory;
-
-/** Store containing all crash reports. */
-@property(nonatomic, readwrite, retain)
- BSG_KSCrashReportStore *crashReportStore;
-
-/** The report sink where reports get sent.
- * This MUST be set or else the reporter will not send reports (although it will
- * still record them).
- *
- * Note: If you use an installation, it will automatically set this property.
- * Do not modify it in such a case.
- */
-@property(nonatomic, readwrite, retain) BugsnagErrorReportSink *sink;
-
/** C Function to call during a crash report to give the callee an opportunity
* to add to the report. NULL = ignore.
*
@@ -124,14 +93,6 @@
*/
@property(nonatomic, readwrite, assign) bool printTraceToStdout;
-/** Sets logFilePath to the default log file location
- * (Library/Caches/KSCrashReports/-CrashLog.txt).
- * If the file exists, it will be overwritten.
- *
- * @return true if the operation was successful.
- */
-- (BOOL)redirectConsoleLogsToDefaultFile;
-
/** Redirect the log of BSG_KSCrash's activities from the console to the
* specified log file.
*
@@ -143,14 +104,4 @@
- (BOOL)redirectConsoleLogsToFile:(NSString *)fullPath
overwrite:(BOOL)overwrite;
-#pragma mark - Operations -
-
-/** Send the specified reports to the current sink.
- *
- * @param reports The reports to send.
- * @param block Called when sending is complete (nil = ignore).
- */
-- (void)sendReports:(NSDictionary *)reports
- withBlock:(BSGOnErrorSentBlock)block;
-
@end
diff --git a/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/KSCrash/Source/KSCrash/Recording/BSG_KSCrashIdentifier.h b/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/KSCrash/Source/KSCrash/Recording/BSG_KSCrashIdentifier.h
index efb6137870..5db0c76061 100644
--- a/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/KSCrash/Source/KSCrash/Recording/BSG_KSCrashIdentifier.h
+++ b/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/KSCrash/Source/KSCrash/Recording/BSG_KSCrashIdentifier.h
@@ -6,6 +6,8 @@
extern "C" {
#endif
+void bsg_kscrash_generate_report_initialize(const char *directory, const char *bundleName);
+
/**
* Generates a new UUID. Not async signal safe. Caller responsible for
* freeing allocated string.
diff --git a/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/KSCrash/Source/KSCrash/Recording/BSG_KSCrashIdentifier.m b/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/KSCrash/Source/KSCrash/Recording/BSG_KSCrashIdentifier.m
index 5b88051384..0de0172fdb 100644
--- a/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/KSCrash/Source/KSCrash/Recording/BSG_KSCrashIdentifier.m
+++ b/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/KSCrash/Source/KSCrash/Recording/BSG_KSCrashIdentifier.m
@@ -1,7 +1,19 @@
#import "BSG_KSCrashIdentifier.h"
+
#import "BSG_KSCrashAdvanced.h"
+
#import
-#import
+
+#include
+#include
+
+static char *report_directory;
+static char *bundle_name;
+
+void bsg_kscrash_generate_report_initialize(const char *directory, const char *bundleName) {
+ report_directory = directory ? strdup(directory) : NULL;
+ bundle_name = bundleName ? strdup(bundleName) : NULL;
+}
const char *bsg_kscrash_generate_report_identifier(void) {
return strdup([[[NSUUID UUID] UUIDString] UTF8String]);
@@ -12,12 +24,8 @@
if (identifier == NULL) {
return NULL;
}
- BSG_KSCrashReportStore *store = [[BSG_KSCrash sharedInstance] crashReportStore];
- NSString *reportID = [NSString stringWithUTF8String:identifier];
-
- if (is_recrash_report) {
- return strdup([[store pathToRecrashReportWithID:reportID] UTF8String]);
- } else {
- return strdup([[store pathToFileWithId:reportID] UTF8String]);
- }
+ char *type = is_recrash_report ? "RecrashReport" : "CrashReport";
+ char *path = NULL;
+ asprintf(&path, "%s/%s-%s-%s.json", report_directory, bundle_name, type, identifier);
+ return path;
}
diff --git a/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/KSCrash/Source/KSCrash/Recording/BSG_KSCrashReportStore.h b/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/KSCrash/Source/KSCrash/Recording/BSG_KSCrashReportStore.h
deleted file mode 100644
index 4b7dc3969c..0000000000
--- a/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/KSCrash/Source/KSCrash/Recording/BSG_KSCrashReportStore.h
+++ /dev/null
@@ -1,47 +0,0 @@
-//
-// BSG_KSCrashReportStore.h
-//
-// Created by Karl Stenerud on 2012-02-05.
-//
-// Copyright (c) 2012 Karl Stenerud. All rights reserved.
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights
-// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-// copies of the Software, and to permit persons to whom the Software is
-// furnished to do so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall remain in place
-// in this source code.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-// THE SOFTWARE.
-//
-
-#import
-
-#import "BugsnagFileStore.h"
-
-/**
- * Manages a store of crash reports.
- */
-@interface BSG_KSCrashReportStore : BugsnagFileStore
-
-+ (BSG_KSCrashReportStore *)storeWithPath:(NSString *)path;
-
-
-/** Full path to the recrash report with the specified ID.
- *
- * @param reportID The report ID
- *
- * @return The full path.
- */
-- (NSString *)pathToRecrashReportWithID:(NSString *)reportID;
-
-@end
diff --git a/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/KSCrash/Source/KSCrash/Recording/BSG_KSCrashReportStore.m b/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/KSCrash/Source/KSCrash/Recording/BSG_KSCrashReportStore.m
deleted file mode 100644
index 56b47fa720..0000000000
--- a/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/KSCrash/Source/KSCrash/Recording/BSG_KSCrashReportStore.m
+++ /dev/null
@@ -1,177 +0,0 @@
-//
-// BSG_KSCrashReportStore.m
-//
-// Created by Karl Stenerud on 2012-02-05.
-//
-// Copyright (c) 2012 Karl Stenerud. All rights reserved.
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights
-// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-// copies of the Software, and to permit persons to whom the Software is
-// furnished to do so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall remain in place
-// in this source code.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-// THE SOFTWARE.
-//
-
-#import "BSG_KSCrashReportStore.h"
-
-#import "BSG_KSCrashDoctor.h"
-#import "BSG_KSCrashReportFields.h"
-#import "BSG_RFC3339DateTool.h"
-#import "BSG_KSLogger.h"
-#import "BugsnagCollections.h"
-
-static NSString *const kCrashReportSuffix = @"-CrashReport-";
-#define BSG_kRecrashReportSuffix @"-RecrashReport-"
-
-@implementation BSG_KSCrashReportStore
-
-#pragma mark Properties
-
-+ (BSG_KSCrashReportStore *)storeWithPath:(NSString *)path {
- return [[self alloc] initWithPath:path
- filenameSuffix:kCrashReportSuffix];
-}
-
-- (NSString *)recrashReportFilenameWithID:(NSString *)reportID {
- return [NSString stringWithFormat:@"%@"
- BSG_kRecrashReportSuffix
- "%@.json",
- self.bundleName, reportID];
-}
-
-- (NSString *)pathToRecrashReportWithID:(NSString *)reportID {
- NSString *filename = [self recrashReportFilenameWithID:reportID];
- return [self.path stringByAppendingPathComponent:filename];
-}
-
-- (NSString *)getReportType:(NSDictionary *)report {
- NSDictionary *reportSection = report[@BSG_KSCrashField_Report];
- if (reportSection) {
- return reportSection[@BSG_KSCrashField_Type];
- }
- BSG_KSLOG_ERROR(@"Expected a report section in the report.");
- return nil;
-}
-
-
-- (void)deleteFileWithId:(NSString *)fileId {
- [super deleteFileWithId:fileId];
- NSError *error = nil;
-
- // Don't care if this succeeds or not since it may not exist.
- [[NSFileManager defaultManager]
- removeItemAtPath:[self pathToRecrashReportWithID:fileId]
- error:&error];
-}
-
-
-- (NSDictionary *)fileWithId:(NSString *)fileId {
- NSDictionary *dict = [super fileWithId:fileId];
-
- if (dict != nil) {
- return dict;
- } else {
- NSError *error = nil;
- NSMutableDictionary *fileContents = [NSMutableDictionary new];
- NSMutableDictionary *recrashReport =
- [self readFile:[self pathToRecrashReportWithID:fileId] error:&error];
- fileContents[@BSG_KSCrashField_RecrashReport] = recrashReport;
- return fileContents;
- }
-}
-
-
-- (NSMutableDictionary *)fixupCrashReport:(NSDictionary *)report {
- if (![report isKindOfClass:[NSDictionary class]]) {
- BSG_KSLOG_ERROR(@"Report should be a dictionary, not %@",
- [report class]);
- return nil;
- }
-
- NSMutableDictionary *mutableReport = [report mutableCopy];
- NSMutableDictionary *mutableInfo =
- [report[@BSG_KSCrashField_Report] mutableCopy];
- mutableReport[@BSG_KSCrashField_Report] = mutableInfo;
-
- // Timestamp gets stored as a unix timestamp. Convert it to rfc3339.
- [self convertTimestamp:@BSG_KSCrashField_Timestamp inReport:mutableInfo];
-
- [self mergeDictWithKey:@BSG_KSCrashField_SystemAtCrash
- intoDictWithKey:@BSG_KSCrashField_System
- inReport:mutableReport];
-
- [self mergeDictWithKey:@BSG_KSCrashField_UserAtCrash
- intoDictWithKey:@BSG_KSCrashField_User
- inReport:mutableReport];
-
- NSMutableDictionary *crashReport =
- [report[@BSG_KSCrashField_Crash] mutableCopy];
- mutableReport[@BSG_KSCrashField_Crash] = crashReport;
- BSG_KSCrashDoctor *doctor = [BSG_KSCrashDoctor doctor];
- crashReport[@BSG_KSCrashField_Diagnosis] = [doctor diagnoseCrash:report];
-
- return mutableReport;
-}
-
-- (void)mergeDictWithKey:(NSString *)srcKey
- intoDictWithKey:(NSString *)dstKey
- inReport:(NSMutableDictionary *)report {
- NSDictionary *srcDict = report[srcKey];
- if (srcDict == nil) {
- // It's OK if the source dict didn't exist.
- return;
- }
-
- NSDictionary *dstDict = report[dstKey];
- if (dstDict == nil) {
- dstDict = @{};
- }
- if (![dstDict isKindOfClass:[NSDictionary class]]) {
- BSG_KSLOG_ERROR(@"'%@' should be a dictionary, not %@", dstKey,
- [dstDict class]);
- return;
- }
-
- report[dstKey] = BSGDictMerge(srcDict, dstDict);
- [report removeObjectForKey:srcKey];
-}
-
-- (void)convertTimestamp:(NSString *)key
- inReport:(NSMutableDictionary *)report {
- NSNumber *timestamp = report[key];
- if (timestamp == nil) {
- BSG_KSLOG_ERROR(@"entry '%@' not found", key);
- return;
- }
- [report
- setValue:[BSG_RFC3339DateTool
- stringFromUNIXTimestamp:[timestamp unsignedLongLongValue]]
- forKey:key];
-}
-
-- (NSMutableDictionary *)readFile:(NSString *)path
- error:(NSError *__autoreleasing *)error {
- NSMutableDictionary *report = [super readFile:path error:error];
-
- NSString *reportType = [self getReportType:report];
- if ([reportType isEqualToString:@BSG_KSCrashReportType_Standard] ||
- [reportType isEqualToString:@BSG_KSCrashReportType_Minimal]) {
- report = [self fixupCrashReport:report];
- }
-
- return report;
-}
-
-@end
diff --git a/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/KSCrash/Source/KSCrash/Recording/Sentry/BSG_KSCrashSentry_CPPException.mm b/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/KSCrash/Source/KSCrash/Recording/Sentry/BSG_KSCrashSentry_CPPException.mm
index 08283c7102..1b1b6daca8 100644
--- a/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/KSCrash/Source/KSCrash/Recording/Sentry/BSG_KSCrashSentry_CPPException.mm
+++ b/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/KSCrash/Source/KSCrash/Recording/Sentry/BSG_KSCrashSentry_CPPException.mm
@@ -201,7 +201,6 @@ static void CPPExceptionTerminate(void) {
BSG_KSLOG_DEBUG(@"Installing C++ exception handler.");
if (bsg_g_installed) {
- BSG_KSLOG_DEBUG(@"C++ exception handler already installed.");
return true;
}
bsg_g_installed = 1;
@@ -216,7 +215,6 @@ static void CPPExceptionTerminate(void) {
extern "C" void bsg_kscrashsentry_uninstallCPPExceptionHandler(void) {
BSG_KSLOG_DEBUG(@"Uninstalling C++ exception handler.");
if (!bsg_g_installed) {
- BSG_KSLOG_DEBUG(@"C++ exception handler already uninstalled.");
return;
}
diff --git a/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/KSCrash/Source/KSCrash/Recording/Sentry/BSG_KSCrashSentry_MachException.c b/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/KSCrash/Source/KSCrash/Recording/Sentry/BSG_KSCrashSentry_MachException.c
index 5444bbcda3..4e0e7cd3e5 100644
--- a/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/KSCrash/Source/KSCrash/Recording/Sentry/BSG_KSCrashSentry_MachException.c
+++ b/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/KSCrash/Source/KSCrash/Recording/Sentry/BSG_KSCrashSentry_MachException.c
@@ -336,7 +336,6 @@ bool bsg_kscrashsentry_installMachHandler(
EXC_MASK_BREAKPOINT;
if (bsg_g_installed) {
- BSG_KSLOG_DEBUG("Exception handler already installed.");
return true;
}
bsg_g_installed = 1;
@@ -435,7 +434,6 @@ void bsg_kscrashsentry_uninstallMachHandler(void) {
BSG_KSLOG_DEBUG("Uninstalling mach exception handler.");
if (!bsg_g_installed) {
- BSG_KSLOG_DEBUG("Mach exception handler was already uninstalled.");
return;
}
diff --git a/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/KSCrash/Source/KSCrash/Recording/Sentry/BSG_KSCrashSentry_NSException.m b/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/KSCrash/Source/KSCrash/Recording/Sentry/BSG_KSCrashSentry_NSException.m
index 6330ba8fe7..cf181a03e0 100644
--- a/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/KSCrash/Source/KSCrash/Recording/Sentry/BSG_KSCrashSentry_NSException.m
+++ b/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/KSCrash/Source/KSCrash/Recording/Sentry/BSG_KSCrashSentry_NSException.m
@@ -141,7 +141,6 @@ bool bsg_kscrashsentry_installNSExceptionHandler(
BSG_KSCrash_SentryContext *const context) {
BSG_KSLOG_DEBUG(@"Installing NSException handler.");
if (bsg_g_installed) {
- BSG_KSLOG_DEBUG(@"NSException handler already installed.");
return true;
}
bsg_g_installed = 1;
@@ -160,7 +159,6 @@ bool bsg_kscrashsentry_installNSExceptionHandler(
void bsg_kscrashsentry_uninstallNSExceptionHandler(void) {
BSG_KSLOG_DEBUG(@"Uninstalling NSException handler.");
if (!bsg_g_installed) {
- BSG_KSLOG_DEBUG(@"NSException handler was already uninstalled.");
return;
}
diff --git a/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/KSCrash/Source/KSCrash/Recording/Sentry/BSG_KSCrashSentry_Signal.c b/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/KSCrash/Source/KSCrash/Recording/Sentry/BSG_KSCrashSentry_Signal.c
index 4e49197a2b..470145a38c 100644
--- a/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/KSCrash/Source/KSCrash/Recording/Sentry/BSG_KSCrashSentry_Signal.c
+++ b/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/KSCrash/Source/KSCrash/Recording/Sentry/BSG_KSCrashSentry_Signal.c
@@ -166,7 +166,6 @@ bool bsg_kscrashsentry_installSignalHandler(
BSG_KSLOG_DEBUG("Signal handlers enabled.");
}
if (bsg_g_installed) {
- BSG_KSLOG_DEBUG("Signal handler already installed.");
return true;
}
bsg_g_installed = 1;
@@ -249,7 +248,6 @@ void bsg_kscrashsentry_uninstallSignalHandler(void) {
// handling. The installed signal handlers still chains the signal even when
// not handling.
if (!bsg_g_enabled) {
- BSG_KSLOG_DEBUG("Signal handlers were already disabled.");
return;
}
diff --git a/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/KSCrash/Source/KSCrash/Recording/Tools/BSG_KSJSONCodec.c b/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/KSCrash/Source/KSCrash/Recording/Tools/BSG_KSJSONCodec.c
index e08d4ed5ac..4619bd3974 100644
--- a/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/KSCrash/Source/KSCrash/Recording/Tools/BSG_KSJSONCodec.c
+++ b/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/KSCrash/Source/KSCrash/Recording/Tools/BSG_KSJSONCodec.c
@@ -26,8 +26,9 @@
#include "BSG_KSJSONCodec.h"
-#include
-#include
+#include
+#include
+#include
#include
// ============================================================================
@@ -53,6 +54,12 @@
#define BSG_KSJSONCODEC_WorkBufferSize 512
#endif
+/**
+ * The maximum number of significant digits when printing floats.
+ * 7 (6 + 1 whole digit in exp form) is the default used by the old sprintf code.
+ */
+#define MAX_SIGNIFICANT_DIGITS 7
+
// ============================================================================
#pragma mark - Helpers -
// ============================================================================
@@ -80,6 +87,171 @@ const char *bsg_ksjsonstringForError(const int error) {
}
}
+// Max uint64 is 18446744073709551615
+#define MAX_UINT64_DIGITS 20
+
+/**
+ * Convert an unsigned integer to a string.
+ * This will write a maximum of 21 characters (including the NUL) to dst.
+ *
+ * Returns the length of the string written to dst (not including the NUL).
+ */
+static size_t uint64_to_string(uint64_t value, char* dst) {
+ if(value == 0) {
+ dst[0] = '0';
+ dst[1] = 0;
+ return 1;
+ }
+
+ char buff[MAX_UINT64_DIGITS+1];
+ buff[sizeof(buff)-1] = 0;
+ int index = sizeof(buff) - 2;
+ for(;;) {
+ buff[index] = (value%10) + '0';
+ value /= 10;
+ if (value == 0) {
+ break;
+ }
+ index--;
+ }
+
+ size_t length = sizeof(buff) - index;
+ memcpy(dst, buff+index, length);
+ return length - 1;
+}
+
+/**
+ * Convert an integer to a string.
+ * This will write a maximum of 22 characters (including the null terminator) to dst.
+ *
+ * Returns the length of the string written to dst (not including the null termination byte).
+ */
+static size_t int64_to_string(int64_t value, char* dst) {
+ if (value < 0) {
+ dst[0] = '-';
+ return uint64_to_string(-value, dst+1) + 1;
+ }
+ return uint64_to_string(value, dst);
+}
+
+/**
+ * Convert a positive double to a string, allowing up to max_sig_digits.
+ * To reduce the complexity of this algorithm, values with an exponent
+ * other than 0 are always printed in exponential form.
+ *
+ * Values are rounded half-up.
+ *
+ * This function makes use of compiler intrinsic functions which, though not
+ * officially async-safe, are actually async-safe (no allocations, locks, etc).
+ *
+ * This function will write a maximum of 21 characters (including the NUL) to dst.
+ *
+ * Returns the length of the string written to dst (not including the NUL).
+ */
+static size_t positive_double_to_string(const double value, char* dst, const int max_sig_digits) {
+ const char* const orig_dst = dst;
+
+ if(value == 0) {
+ dst[0] = '0';
+ dst[1] = 0;
+ return 1;
+ }
+
+ // isnan() is basically ((x) != (x))
+ if(isnan(value)) {
+ strcpy(dst, "nan");
+ return 3;
+ }
+
+ // isinf() is a compiler intrinsic.
+ if(isinf(value)) {
+ strcpy(dst, "inf");
+ return 3;
+ }
+
+ // log10() is a compiler intrinsic.
+ int exponent = log10(value);
+ // Values < 1.0 must subtract 1 from exponent to handle zero wraparound.
+ if (value < 1.0) {
+ exponent--;
+ }
+
+ // pow() is a compiler intrinsic.
+ double normalized = value / pow(10, exponent);
+ // Special case for 0.1, 0.01, 0.001, etc giving a normalized value of 10.xyz.
+ // We use 9.999... because 10.0 converts to a value > 10 in ieee754 binary floats.
+ if (normalized > 9.99999999999999822364316059975) {
+ exponent++;
+ normalized = value / pow(10, exponent);
+ }
+
+ // Put all of the digits we'll use into an integer.
+ double digits_and_remainder = normalized * pow(10, max_sig_digits-1);
+ uint64_t digits = digits_and_remainder;
+ // Also round up if necessary (note: 0.5 is exact in both binary and decimal).
+ if (digits_and_remainder - digits >= 0.5) {
+ digits++;
+ // Special case: Adding one bumps us to next magnitude.
+ if (digits >= (uint64_t)pow(10, max_sig_digits)) {
+ exponent++;
+ digits /= 10;
+ }
+ }
+
+ // Extract the fractional digits.
+ for (int i = max_sig_digits; i > 1; i--) {
+ dst[i] = digits % 10 + '0';
+ digits /= 10;
+ }
+ // Extract the single-digit whole part.
+ dst[0] = digits + '0';
+ dst[1] = '.';
+
+ // Strip off trailing zeroes, and also the '.' if there is no fractional part.
+ int e_offset = max_sig_digits;
+ for (int i = max_sig_digits; i > 0; i--) {
+ if (dst[i] != '0') {
+ if (dst[i] == '.') {
+ e_offset = i;
+ } else {
+ e_offset = i + 1;
+ }
+ break;
+ }
+ }
+ dst += e_offset;
+
+ // Add the exponent if it's not 0.
+ if (exponent != 0) {
+ *dst++ = 'e';
+ if (exponent >= 0) {
+ *dst++ = '+';
+ }
+ dst += int64_to_string(exponent, dst);
+ } else {
+ *dst = 0;
+ }
+
+ return dst - orig_dst;
+}
+
+/**
+ * Convert a positive double to a string, allowing up to max_sig_digits. See
+ * positive_double_to_string() for important information about how this
+ * algorithm differs from sprintf.
+ *
+ * This function will write a maximum of 22 characters (including the NUL) to dst.
+ *
+ * Returns the length of the string written to dst (not including the NUL).
+ */
+static size_t double_to_string(double value, char* dst, int max_sig_digits) {
+ if (value < 0) {
+ dst[0] = '-';
+ return positive_double_to_string(-value, dst+1, max_sig_digits) + 1;
+ }
+ return positive_double_to_string(value, dst, max_sig_digits);
+}
+
// ============================================================================
#pragma mark - Encode -
// ============================================================================
@@ -320,7 +492,7 @@ int bsg_ksjsonaddFloatingPointElement(BSG_KSJSONEncodeContext *const context,
int result = bsg_ksjsonbeginElement(context, name);
unlikely_if(result != BSG_KSJSON_OK) { return result; }
char buff[30];
- sprintf(buff, "%lg", value);
+ double_to_string(value, buff, MAX_SIGNIFICANT_DIGITS);
return addJSONData(context, buff, strlen(buff));
}
@@ -329,7 +501,7 @@ int bsg_ksjsonaddIntegerElement(BSG_KSJSONEncodeContext *const context,
int result = bsg_ksjsonbeginElement(context, name);
unlikely_if(result != BSG_KSJSON_OK) { return result; }
char buff[30];
- sprintf(buff, "%lld", value);
+ int64_to_string(value, buff);
return addJSONData(context, buff, strlen(buff));
}
@@ -339,7 +511,7 @@ int bsg_ksjsonaddUIntegerElement(BSG_KSJSONEncodeContext *const context,
int result = bsg_ksjsonbeginElement(context, name);
unlikely_if(result != BSG_KSJSON_OK) { return result; }
char buff[30];
- sprintf(buff, "%llu", value);
+ uint64_to_string(value, buff);
return addJSONData(context, buff, (int)strlen(buff));
}
diff --git a/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/KSCrash/Source/KSCrash/Recording/Tools/BSG_KSJSONCodec.h b/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/KSCrash/Source/KSCrash/Recording/Tools/BSG_KSJSONCodec.h
index 0b66f10535..a7d10ffb11 100644
--- a/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/KSCrash/Source/KSCrash/Recording/Tools/BSG_KSJSONCodec.h
+++ b/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/KSCrash/Source/KSCrash/Recording/Tools/BSG_KSJSONCodec.h
@@ -35,7 +35,6 @@ extern "C" {
#endif
#include
-#include
#include
/* Tells the encoder to automatically determine the length of a field value.
diff --git a/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Payload/BugsnagEvent+Private.h b/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Payload/BugsnagEvent+Private.h
index 6440c9b403..d13229e880 100644
--- a/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Payload/BugsnagEvent+Private.h
+++ b/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Payload/BugsnagEvent+Private.h
@@ -30,15 +30,13 @@ NS_ASSUME_NONNULL_BEGIN
@property (readwrite, copy, nullable) NSDictionary *error;
/// The event state (whether the error is handled/unhandled.)
-@property (readonly) BugsnagHandledState *handledState;
+@property (readwrite, nonatomic) BugsnagHandledState *handledState;
@property (strong, nonatomic) BugsnagMetadata *metadata;
/// Property overrides.
@property (readonly, nonatomic) NSDictionary *overrides;
-@property NSSet *redactedKeys;
-
/// The release stage of the application
@property (readwrite, copy, nullable) NSString *releaseStage;
@@ -59,6 +57,8 @@ NS_ASSUME_NONNULL_BEGIN
threads:(NSArray *)threads
session:(nullable BugsnagSession *)session;
+- (instancetype)initWithJson:(NSDictionary *)json;
+
- (instancetype)initWithKSReport:(NSDictionary *)KSReport;
- (instancetype)initWithUserData:(NSDictionary *)event;
@@ -70,7 +70,7 @@ NS_ASSUME_NONNULL_BEGIN
- (void)setOverrideProperty:(NSString *)key value:(id)value;
-- (NSDictionary *)toJson;
+- (NSDictionary *)toJsonWithRedactedKeys:(nullable NSSet *)redactedKeys;
- (void)notifyUnhandledOverridden;
diff --git a/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Payload/BugsnagEvent.m b/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Payload/BugsnagEvent.m
index 9d4a709d62..b4756a80a1 100644
--- a/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Payload/BugsnagEvent.m
+++ b/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Payload/BugsnagEvent.m
@@ -182,6 +182,22 @@ - (instancetype)initWithApp:(BugsnagAppWithState *)app
return self;
}
+- (instancetype)initWithJson:(NSDictionary *)json {
+ if (self = [super init]) {
+ _app = [BugsnagAppWithState appFromJson:json[BSGKeyApp]];
+ _breadcrumbs = BSGArrayMap(json[BSGKeyBreadcrumbs], ^id (NSDictionary *json) { return [BugsnagBreadcrumb breadcrumbFromDict:json]; });
+ _device = [BugsnagDeviceWithState deviceFromJson:json[BSGKeyDevice]];
+ _error = json[BSGKeyMetadata][BSGKeyError];
+ _errors = BSGArrayMap(json[BSGKeyExceptions], ^id (NSDictionary *json) { return [BugsnagError errorFromJson:json]; });
+ _handledState = [BugsnagHandledState handledStateFromJson:json];
+ _metadata = [[BugsnagMetadata alloc] initWithDictionary:json[BSGKeyMetadata]];
+ _session = [BugsnagSession fromJson:json[BSGKeySession]];
+ _threads = BSGArrayMap(json[BSGKeyThreads], ^id (NSDictionary *json) { return [BugsnagThread threadFromJson:json]; });
+ _user = [[BugsnagUser alloc] initWithDictionary:json[BSGKeyUser]];
+ }
+ return self;
+}
+
/**
* Creates a BugsnagEvent from a JSON crash report generated by KSCrash. A KSCrash
* report can come in 3 variants, which needs to be deserialized separately:
@@ -612,7 +628,7 @@ - (void)notifyUnhandledOverridden {
self.handledState.unhandledOverridden = YES;
}
-- (NSDictionary *)toJson {
+- (NSDictionary *)toJsonWithRedactedKeys:(NSSet *)redactedKeys {
NSMutableDictionary *event = [NSMutableDictionary dictionary];
event[BSGKeyExceptions] = ({
@@ -635,7 +651,7 @@ - (NSDictionary *)toJson {
// add metadata
NSMutableDictionary *metadata = [[[self metadata] toDictionary] mutableCopy];
- event[BSGKeyMetadata] = [self sanitiseMetadata:metadata];
+ event[BSGKeyMetadata] = [self sanitiseMetadata:metadata redactedKeys:redactedKeys];
event[BSGKeyDevice] = [self.device toDictionary];
event[BSGKeyApp] = [self.app toDict];
@@ -675,28 +691,28 @@ - (NSDictionary *)toJson {
return event;
}
-- (NSMutableDictionary *)sanitiseMetadata:(NSMutableDictionary *)metadata {
+- (NSMutableDictionary *)sanitiseMetadata:(NSMutableDictionary *)metadata redactedKeys:(NSSet *)redactedKeys {
for (NSString *sectionKey in [metadata allKeys]) {
metadata[sectionKey] = [metadata[sectionKey] mutableCopy];
NSMutableDictionary *section = metadata[sectionKey];
if (section != nil) { // redact sensitive metadata values
for (NSString *objKey in [section allKeys]) {
- section[objKey] = [self sanitiseMetadataValue:section[objKey] key:objKey];
+ section[objKey] = [self sanitiseMetadataValue:section[objKey] key:objKey redactedKeys:redactedKeys];
}
}
}
return metadata;
}
-- (id)sanitiseMetadataValue:(id)value key:(NSString *)key {
- if ([self isRedactedKey:key]) {
+- (id)sanitiseMetadataValue:(id)value key:(NSString *)key redactedKeys:(NSSet *)redactedKeys {
+ if ([self isRedactedKey:key redactedKeys:redactedKeys]) {
return BSGKeyRedaction;
} else if ([value isKindOfClass:[NSDictionary class]]) {
NSMutableDictionary *nestedDict = [(NSDictionary *)value mutableCopy];
for (NSString *nestedKey in [nestedDict allKeys]) {
- nestedDict[nestedKey] = [self sanitiseMetadataValue:nestedDict[nestedKey] key:nestedKey];
+ nestedDict[nestedKey] = [self sanitiseMetadataValue:nestedDict[nestedKey] key:nestedKey redactedKeys:redactedKeys];
}
return nestedDict;
} else {
@@ -704,8 +720,8 @@ - (id)sanitiseMetadataValue:(id)value key:(NSString *)key {
}
}
-- (BOOL)isRedactedKey:(NSString *)key {
- for (id obj in self.redactedKeys) {
+- (BOOL)isRedactedKey:(NSString *)key redactedKeys:(NSSet *)redactedKeys {
+ for (id obj in redactedKeys) {
if ([obj isKindOfClass:[NSString class]]) {
if ([[key lowercaseString] isEqualToString:[obj lowercaseString]]) {
return true;
@@ -787,7 +803,7 @@ - (void)clearMetadataFromSection:(NSString *_Nonnull)sectionName
// The error in self.errors is not always the error that will be sent; this is the case when used in React Native.
// Using [self toJson] to ensure this uses the same logic of reading from self.customException instead.
- NSDictionary *json = [self toJson];
+ NSDictionary *json = [self toJsonWithRedactedKeys:nil];
NSArray *exceptions = json[BSGKeyExceptions];
for (NSDictionary *exception in exceptions) {
BugsnagError *error = [BugsnagError errorFromJson:exception];
diff --git a/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Payload/BugsnagHandledState.h b/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Payload/BugsnagHandledState.h
index 218007b1fe..94b6a025ce 100644
--- a/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Payload/BugsnagHandledState.h
+++ b/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Payload/BugsnagHandledState.h
@@ -19,6 +19,7 @@ typedef NS_ENUM(NSUInteger, SeverityReasonType) {
PromiseRejection,
LogMessage,
LikelyOutOfMemory,
+ AppHang,
};
/**
diff --git a/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Payload/BugsnagHandledState.m b/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Payload/BugsnagHandledState.m
index 357832070c..aaa2b0cc4a 100644
--- a/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Payload/BugsnagHandledState.m
+++ b/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Payload/BugsnagHandledState.m
@@ -36,6 +36,7 @@ BSGSeverity BSGParseSeverity(NSString *severity) {
static NSString *const kAttrValue = @"attrValue";
static NSString *const kAttrKey = @"attrKey";
+static NSString *const kAppHang = @"appHang";
static NSString *const kUnhandledException = @"unhandledException";
static NSString *const kSignal = @"signal";
static NSString *const kPromiseRejection = @"unhandledPromiseRejection";
@@ -106,6 +107,10 @@ + (instancetype)handledStateWithSeverityReason:
severity = BSGSeverityError;
unhandled = YES;
break;
+ case AppHang:
+ severity = BSGSeverityError;
+ unhandled = NO;
+ break;
}
return [[BugsnagHandledState alloc] initWithSeverityReason:severityReason
@@ -176,6 +181,8 @@ + (NSString *)stringFromSeverityReason:(SeverityReasonType)severityReason {
return kUnhandledException;
case LikelyOutOfMemory:
return kLikelyOutOfMemory;
+ case AppHang:
+ return kAppHang;
}
}
@@ -198,6 +205,8 @@ + (SeverityReasonType)severityReasonFromString:(NSString *)string {
return PromiseRejection;
} else if ([kLikelyOutOfMemory isEqualToString:string]) {
return LikelyOutOfMemory;
+ } else if ([kAppHang isEqualToString:string]) {
+ return AppHang;
} else {
return UnhandledException;
}
diff --git a/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Payload/BugsnagNotifier.m b/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Payload/BugsnagNotifier.m
index d600ea3a22..569028705b 100644
--- a/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Payload/BugsnagNotifier.m
+++ b/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Payload/BugsnagNotifier.m
@@ -23,7 +23,7 @@ - (instancetype)init {
#else
self.name = @"Bugsnag Objective-C";
#endif
- self.version = @"6.7.1";
+ self.version = @"6.8.0";
self.url = @"https://github.com/bugsnag/bugsnag-cocoa";
self.dependencies = [NSMutableArray new];
}
diff --git a/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Payload/BugsnagStackframe.m b/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Payload/BugsnagStackframe.m
index c3b610b495..a3964348d1 100644
--- a/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Payload/BugsnagStackframe.m
+++ b/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Payload/BugsnagStackframe.m
@@ -120,7 +120,7 @@ + (BugsnagStackframe *)frameFromDict:(NSDictionary *)dict
+ (NSArray *)stackframesWithCallStackSymbols:(NSArray *)callStackSymbols {
NSString *pattern = (@"^(\\d+)" // Capture the leading frame number
@" +" // Skip whitespace
- @"(\\S+)" // Image name
+ @"([\\S ]+?)" // Image name (may contain spaces)
@" +" // Skip whitespace
@"(0x[0-9a-fA-F]+)" // Capture the frame address
@"(" // Start optional group
diff --git a/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Payload/BugsnagThread+Private.h b/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Payload/BugsnagThread+Private.h
index b262681cfe..42b9481a3f 100644
--- a/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Payload/BugsnagThread+Private.h
+++ b/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Payload/BugsnagThread+Private.h
@@ -24,6 +24,8 @@ NS_ASSUME_NONNULL_BEGIN
@property (readonly) NSString *crashInfoMessage;
+@property (readwrite, nonatomic) BOOL errorReportingThread;
+
+ (NSDictionary *)enhanceThreadInfo:(NSDictionary *)thread
depth:(NSUInteger)depth
errorType:(nullable NSString *)errorType;
diff --git a/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Storage/BSGFileLocations.h b/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Storage/BSGFileLocations.h
index 648531369d..bfe2a9f222 100644
--- a/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Storage/BSGFileLocations.h
+++ b/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Storage/BSGFileLocations.h
@@ -14,9 +14,15 @@ NS_ASSUME_NONNULL_BEGIN
@property (readonly, nonatomic) NSString *kvStore;
@property (readonly, nonatomic) NSString *breadcrumbs;
+@property (readonly, nonatomic) NSString *events;
@property (readonly, nonatomic) NSString *kscrashReports;
@property (readonly, nonatomic) NSString *sessions;
+/**
+ * File containing details of the current app hang (if the app is hung)
+ */
+@property (readonly, nonatomic) NSString *appHangEvent;
+
/**
* File whose presence indicates that the libary at least attempted to handle the last
* crash (in case it crashed before writing enough information).
diff --git a/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Storage/BSGFileLocations.m b/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Storage/BSGFileLocations.m
index 3f29de3c36..22da673493 100644
--- a/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Storage/BSGFileLocations.m
+++ b/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Storage/BSGFileLocations.m
@@ -81,10 +81,12 @@ + (instancetype) v1 {
- (instancetype)initWithVersion1 {
if (self = [super init]) {
NSString *root = rootDirectory(@"v1");
+ _events = getAndCreateSubdir(root, @"events");
_sessions = getAndCreateSubdir(root, @"sessions");
_breadcrumbs = getAndCreateSubdir(root, @"breadcrumbs");
_kscrashReports = getAndCreateSubdir(root, @"KSCrashReports");
_kvStore = getAndCreateSubdir(root, @"kvstore");
+ _appHangEvent = [root stringByAppendingPathComponent:@"app_hang.json"];
_flagHandledCrash = [root stringByAppendingPathComponent:@"bugsnag_handled_crash.txt"];
_configuration = [root stringByAppendingPathComponent:@"config.json"];
_metadata = [root stringByAppendingPathComponent:@"metadata.json"];
diff --git a/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Storage/BugsnagFileStore.m b/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Storage/BugsnagFileStore.m
index 250586869f..599194b3a1 100644
--- a/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Storage/BugsnagFileStore.m
+++ b/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/Storage/BugsnagFileStore.m
@@ -18,26 +18,26 @@
* Metadata class to hold name and creation date for a file, with
* default comparison based on the creation date (ascending).
*/
-@interface FileStoreInfo : NSObject
+@interface BSGFileStoreInfo : NSObject
@property(nonatomic, readonly, retain) NSString *fileId;
@property(nonatomic, readonly, retain) NSDate *creationDate;
-+ (FileStoreInfo *)fileStoreInfoWithId:(NSString *)fileId
++ (BSGFileStoreInfo *)fileStoreInfoWithId:(NSString *)fileId
creationDate:(NSDate *)creationDate;
- (instancetype)initWithId:(NSString *)fileId creationDate:(NSDate *)creationDate;
-- (NSComparisonResult)compare:(FileStoreInfo *)other;
+- (NSComparisonResult)compare:(BSGFileStoreInfo *)other;
@end
-@implementation FileStoreInfo
+@implementation BSGFileStoreInfo
@synthesize fileId = _fileId;
@synthesize creationDate = _creationDate;
-+ (FileStoreInfo *)fileStoreInfoWithId:(NSString *)fileId
++ (BSGFileStoreInfo *)fileStoreInfoWithId:(NSString *)fileId
creationDate:(NSDate *)creationDate {
return [[self alloc] initWithId:fileId creationDate:creationDate];
}
@@ -50,7 +50,7 @@ - (instancetype)initWithId:(NSString *)fileId creationDate:(NSDate *)creationDat
return self;
}
-- (NSComparisonResult)compare:(FileStoreInfo *)other {
+- (NSComparisonResult)compare:(BSGFileStoreInfo *)other {
return [_creationDate compare:other->_creationDate];
}
@@ -110,7 +110,7 @@ - (NSArray *)fileIds {
bsg_log_err(@"Could not read file attributes for %@: %@",
fullPath, error);
} else {
- FileStoreInfo *info = [FileStoreInfo fileStoreInfoWithId:fileId
+ BSGFileStoreInfo *info = [BSGFileStoreInfo fileStoreInfoWithId:fileId
creationDate:[fileAttribs valueForKey:NSFileCreationDate]];
[files addObject:info];
}
@@ -120,7 +120,7 @@ - (NSArray *)fileIds {
NSMutableArray *sortedIDs =
[NSMutableArray arrayWithCapacity:[files count]];
- for (FileStoreInfo *info in files) {
+ for (BSGFileStoreInfo *info in files) {
[sortedIDs addObject:info.fileId];
}
return sortedIDs;
diff --git a/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/include/Bugsnag/BugsnagConfiguration.h b/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/include/Bugsnag/BugsnagConfiguration.h
index 4967162a35..8448efe667 100644
--- a/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/include/Bugsnag/BugsnagConfiguration.h
+++ b/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/include/Bugsnag/BugsnagConfiguration.h
@@ -61,6 +61,12 @@ typedef NS_ENUM(NSInteger, BSGThreadSendPolicy) {
BSGThreadSendPolicyNever = 2
};
+/**
+ * Setting `BugsnagConfiguration.appHangThresholdMillis` to this value disables the reporting of
+ * app hangs that ended before the app was terminated.
+ */
+extern const NSUInteger BugsnagAppHangThresholdFatalOnly;
+
/**
* A configuration block for modifying an error report
*
@@ -202,6 +208,18 @@ typedef BOOL (^BugsnagOnSessionBlock)(BugsnagSession *_Nonnull session);
*/
@property BOOL autoDetectErrors;
+/**
+ * The minimum number of milliseconds of main thread unresponsiveness that will trigger the
+ * detection and reporting of an app hang.
+ *
+ * Set to `BugsnagAppHangThresholdFatalOnly` to disable reporting of app hangs that did not
+ * end with the app being force quit by the user or terminated by the system watchdog.
+ *
+ * By default this is `BugsnagAppHangThresholdFatalOnly`, and can be set to a minimum of 250
+ * milliseconds.
+ */
+@property (nonatomic) NSUInteger appHangThresholdMillis;
+
/**
* Determines whether app sessions should be tracked automatically. By default this value is true.
* If this value is updated after +[Bugsnag start] is called, only subsequent automatic sessions
diff --git a/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/include/Bugsnag/BugsnagErrorTypes.h b/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/include/Bugsnag/BugsnagErrorTypes.h
index 05035162e7..8d9a767dd4 100644
--- a/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/include/Bugsnag/BugsnagErrorTypes.h
+++ b/packages/react-native/ios/vendor/bugsnag-cocoa/Bugsnag/include/Bugsnag/BugsnagErrorTypes.h
@@ -13,6 +13,13 @@
*/
@interface BugsnagErrorTypes : NSObject
+/**
+ * Determines whether App Hang events should be reported to bugsnag.
+ *
+ * This flag is true by default.
+ */
+@property BOOL appHangs;
+
/**
* Determines whether Out of Memory events should be reported to bugsnag.
*
diff --git a/packages/react-native/ios/vendor/bugsnag-cocoa/CHANGELOG.md b/packages/react-native/ios/vendor/bugsnag-cocoa/CHANGELOG.md
index 62ca9f20fa..b678f69ff5 100644
--- a/packages/react-native/ios/vendor/bugsnag-cocoa/CHANGELOG.md
+++ b/packages/react-native/ios/vendor/bugsnag-cocoa/CHANGELOG.md
@@ -1,6 +1,27 @@
Changelog
=========
+## 6.8.0 (2021-03-18)
+
+### Enhancements
+
+* Bugsnag now detects app hangs (when the main thread is unresponsive for a period of time), alerting you of issues with your app’s responsiveness.
+ By default, only fatal app hangs (those that end with termination by the system watchdog or being force-quit by the user) will be reported.
+ This behaviour can be configured using the new `appHangThresholdMillis` configuration option.
+ For more information see [the documentation](https://docs.bugsnag.com/platforms/ios/reporting-app-hangs/).
+ [#1039](https://github.com/bugsnag/bugsnag-cocoa/pull/1039)
+
+### Bug fixes
+
+* Fix a heap buffer overflow reported by Address Sanitizer.
+ [#1043](https://github.com/bugsnag/bugsnag-cocoa/pull/1043)
+
+* Fix parsing of `callStackSymbols` where the image name contains spaces.
+ [#1036](https://github.com/bugsnag/bugsnag-cocoa/pull/1036)
+
+* Fix a possible deadlock when writing crash reports for unhandled errors.
+ [#1034](https://github.com/bugsnag/bugsnag-cocoa/pull/1034)
+
## 6.7.1 (2021-03-10)
### Bug fixes
diff --git a/packages/react-native/ios/vendor/bugsnag-cocoa/Framework/Info.plist b/packages/react-native/ios/vendor/bugsnag-cocoa/Framework/Info.plist
index e6e276efbe..a986734050 100644
--- a/packages/react-native/ios/vendor/bugsnag-cocoa/Framework/Info.plist
+++ b/packages/react-native/ios/vendor/bugsnag-cocoa/Framework/Info.plist
@@ -15,7 +15,7 @@
CFBundlePackageType
FMWK
CFBundleShortVersionString
- 6.7.1
+ 6.8.0
CFBundleVersion
1
diff --git a/packages/react-native/ios/vendor/bugsnag-cocoa/VERSION b/packages/react-native/ios/vendor/bugsnag-cocoa/VERSION
index 06a765991f..e029aa99b7 100644
--- a/packages/react-native/ios/vendor/bugsnag-cocoa/VERSION
+++ b/packages/react-native/ios/vendor/bugsnag-cocoa/VERSION
@@ -1 +1 @@
-6.7.1
+6.8.0
diff --git a/test/react-native-cli/scripts/init-and-build-test.sh b/test/react-native-cli/scripts/init-and-build-test.sh
index 15565ccc82..78d999db70 100755
--- a/test/react-native-cli/scripts/init-and-build-test.sh
+++ b/test/react-native-cli/scripts/init-and-build-test.sh
@@ -13,6 +13,8 @@ xcrun --log xcodebuild -exportArchive -archivePath "${VERSION}/${VERSION}.xcarch
# Clear the archive away
rm -rf ${VERSION}/${VERSION}.xcarchive
-# Copy file to build directory0
+# Copy file to build directory, ensuring the exit code bubbles up
cp output/${VERSION}.ipa ../../../../build
+STATUS=$?
popd
+exit $STATUS