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