From 1233265b28f70bde3845629b74b35f3dbe8550ba Mon Sep 17 00:00:00 2001
From: Raymond Jacobson <ray@audius.co>
Date: Wed, 8 Jan 2025 17:10:30 -0800
Subject: [PATCH 1/7] Fix usage of sentry cli in CI

---
 .circleci/src/commands/@mobile-commands.yml             | 5 -----
 .circleci/src/jobs/@web-jobs.yml                        | 6 +++---
 package-lock.json                                       | 1 +
 packages/mobile/ios/Podfile.lock                        | 4 ++--
 packages/mobile/ios/scripts/uploadSentryDebugSymbols.sh | 2 +-
 packages/mobile/package.json                            | 4 +++-
 packages/web/package.json                               | 1 +
 7 files changed, 11 insertions(+), 12 deletions(-)

diff --git a/.circleci/src/commands/@mobile-commands.yml b/.circleci/src/commands/@mobile-commands.yml
index 7ca3757e08b..c73371ae304 100644
--- a/.circleci/src/commands/@mobile-commands.yml
+++ b/.circleci/src/commands/@mobile-commands.yml
@@ -62,11 +62,6 @@ mobile-prepare-ios:
         key: pods-{{ checksum "packages/mobile/ios/Podfile.lock" }}
         paths:
           - packages/mobile/ios/pods
-    - run:
-        name: Install Sentry CLI
-        command: |
-          curl -sL https://sentry.io/get-cli/ | bash
-          echo export SENTRY_BINARY=/usr/local/bin/sentry-cli >> "$BASH_ENV"
     - run:
         name: Build dependencies
         command: npx turbo run build --filter=@audius/mobile
diff --git a/.circleci/src/jobs/@web-jobs.yml b/.circleci/src/jobs/@web-jobs.yml
index bfc9f6d4f9d..6f36d527f2f 100644
--- a/.circleci/src/jobs/@web-jobs.yml
+++ b/.circleci/src/jobs/@web-jobs.yml
@@ -270,17 +270,17 @@ web-deploy-sentry-sourcemaps:
         name: cut-sentry-release
         command: |
           cd packages/web
-          ../../node_modules/.bin/sentry-cli --auth-token ${SENTRY_AUTH_TOKEN} releases --org audius --project audius-client new ${CIRCLE_SHA1}
+          npm run sentry-cli -- --auth-token ${SENTRY_AUTH_TOKEN} releases --org audius --project audius-client new ${CIRCLE_SHA1}
     - run:
         name: upload-sourcemaps
         command: |
           cd packages/web
-          ../../node_modules/.bin/sentry-cli --auth-token ${SENTRY_AUTH_TOKEN} releases --org audius --project audius-client files ${CIRCLE_SHA1} upload-sourcemaps --no-rewrite build-production/static/js
+          npm run sentry-cli -- --auth-token ${SENTRY_AUTH_TOKEN} releases --org audius --project audius-client files ${CIRCLE_SHA1} upload-sourcemaps --no-rewrite build-production/static/js
     - run:
         name: finalize-release
         command: |
           cd packages/web
-          ../../node_modules/.bin/sentry-cli --auth-token ${SENTRY_AUTH_TOKEN} releases --org audius --project audius-client finalize ${CIRCLE_SHA1}
+          npm run sentry-cli -- --auth-token ${SENTRY_AUTH_TOKEN} releases --org audius --project audius-client finalize ${CIRCLE_SHA1}
 
 web-dist-mac-staging:
   working_directory: ~/audius-protocol
diff --git a/package-lock.json b/package-lock.json
index b618cdb5474..2eda351d26d 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -136865,6 +136865,7 @@
         "@react-native/metro-config": "0.75.4",
         "@react-native/typescript-config": "0.75.4",
         "@redux-devtools/cli": "4.0.0",
+        "@sentry/cli": "2.38.2",
         "@storybook/addon-actions": "6.5.16",
         "@storybook/addon-controls": "6.5.16",
         "@storybook/addon-ondevice-actions": "6.5.7",
diff --git a/packages/mobile/ios/Podfile.lock b/packages/mobile/ios/Podfile.lock
index 5043a6df366..38233ac3d09 100644
--- a/packages/mobile/ios/Podfile.lock
+++ b/packages/mobile/ios/Podfile.lock
@@ -2294,7 +2294,7 @@ SPEC CHECKSUMS:
   ffmpeg-kit-react-native: 3cea88c9c5cfad62e1465279ea7d800dfbba3b00
   FingerprintPro: c6444f5a00d1126446da664124529e754475f198
   fmt: 4c2741a687cc09f0634a2e2c72a838b99f1ff120
-  glog: fdfdfe5479092de0c4bdbebedd9056951f092c4f
+  glog: 69ef571f3de08433d766d614c73a9838a06bf7eb
   google-cast-sdk-dynamic-xcframework-no-bluetooth: 1fa9e267df3fd6f8a1c6e3345142ca5286297968
   hermes-engine: ea92f60f37dba025e293cbe4b4a548fd26b610a0
   JWT: ef71dfb03e1f842081e64dc42eef0e164f35d251
@@ -2303,7 +2303,7 @@ SPEC CHECKSUMS:
   lottie-react-native: e23d9bcc85c8730e79e96bdf589a1996d7d388a9
   nSure: ce410631caf715d7080838c00a42169427847a01
   PromisesObjC: f5707f49cb48b9636751c5b2e7d227e43fba9f47
-  RCT-Folly: 02617c592a293bd6d418e0a88ff4ee1f88329b47
+  RCT-Folly: 4464f4d875961fce86008d45f4ecf6cef6de0740
   RCTDeprecation: 726d24248aeab6d7180dac71a936bbca6a994ed1
   RCTRequired: a94e7febda6db0345d207e854323c37e3a31d93b
   RCTTypeSafety: 28e24a6e44f5cbf912c66dde6ab7e07d1059a205
diff --git a/packages/mobile/ios/scripts/uploadSentryDebugSymbols.sh b/packages/mobile/ios/scripts/uploadSentryDebugSymbols.sh
index d50d27f6006..59d62eb27bc 100755
--- a/packages/mobile/ios/scripts/uploadSentryDebugSymbols.sh
+++ b/packages/mobile/ios/scripts/uploadSentryDebugSymbols.sh
@@ -1,4 +1,4 @@
 export NODE_BINARY=node
 export SENTRY_PROPERTIES=sentry.properties
 
-sentry-cli upload-dsym
\ No newline at end of file
+npm --prefix ../ run sentry-cli upload-dsym
diff --git a/packages/mobile/package.json b/packages/mobile/package.json
index 570b1851421..db032a8e89f 100644
--- a/packages/mobile/package.json
+++ b/packages/mobile/package.json
@@ -50,7 +50,8 @@
     "typecheck": "tsc",
     "upgrade": "react-native upgrade",
     "upload:ios": "xcrun altool --upload-app -type ios --file build/AudiusReactNative.ipa --username $APPLE_ID --password $APPLE_ID_PASSWORD",
-    "verify": "concurrently \"npm:typecheck\" \"npm:lint\" \"npm:lint:env\""
+    "verify": "concurrently \"npm:typecheck\" \"npm:lint\" \"npm:lint:env\"",
+    "sentry-cli": "sentry-cli"
   },
   "dependencies": {
     "@amplitude/react-native": "2.17.2",
@@ -200,6 +201,7 @@
     "@react-native/metro-config": "0.75.4",
     "@react-native/typescript-config": "0.75.4",
     "@redux-devtools/cli": "4.0.0",
+    "@sentry/cli": "2.38.2",
     "@storybook/addon-actions": "6.5.16",
     "@storybook/addon-controls": "6.5.16",
     "@storybook/addon-ondevice-actions": "6.5.7",
diff --git a/packages/web/package.json b/packages/web/package.json
index d8071e25003..03eb192dba7 100644
--- a/packages/web/package.json
+++ b/packages/web/package.json
@@ -48,6 +48,7 @@
     "write-sha": "./scripts/writeSHA.sh",
     "pw-ui": "npx playwright test --ui",
     "pw": "npx playwright test",
+    "sentry-cli": "sentry-cli",
     "ELECTRON========================================": "",
     "dist-publish-production": "npm run dist -- --mac --win --linux --publish always --env production",
     "dist-publish": "npm run dist -- --mac --win --linux --publish always",

From 0232e9496ad56353ecd730eca9e874c96db7e3b1 Mon Sep 17 00:00:00 2001
From: Raymond Jacobson <ray@audius.co>
Date: Wed, 8 Jan 2025 17:14:08 -0800
Subject: [PATCH 2/7] Fix other mobile usage

---
 packages/mobile/ios/scripts/bundleReactNative.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/packages/mobile/ios/scripts/bundleReactNative.sh b/packages/mobile/ios/scripts/bundleReactNative.sh
index 201d708762d..c9270cb4cab 100755
--- a/packages/mobile/ios/scripts/bundleReactNative.sh
+++ b/packages/mobile/ios/scripts/bundleReactNative.sh
@@ -3,4 +3,4 @@ export SENTRY_PROPERTIES=sentry.properties
 export EXTRA_PACKAGER_ARGS=\"--sourcemap-output $DERIVED_FILE_DIR/main.jsbundle.map\" 
 export PROJECT_ROOT=$PWD/.. 
  
-sentry-cli react-native xcode ../../../node_modules/react-native/scripts/react-native-xcode.sh 
\ No newline at end of file
+npm --prefix ../ run sentry-cli react-native xcode ../../../node_modules/react-native/scripts/react-native-xcode.sh 
\ No newline at end of file

From 126da28567e649eb6bf6c1fe4da1f53a9e4bf469 Mon Sep 17 00:00:00 2001
From: Raymond Jacobson <ray@audius.co>
Date: Wed, 8 Jan 2025 17:16:15 -0800
Subject: [PATCH 3/7] Fix web install

---
 package-lock.json         | 311 +++++++++++++++++++++-----------------
 packages/web/package.json |   1 +
 2 files changed, 176 insertions(+), 136 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index 2eda351d26d..30dbe9d7391 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -22582,6 +22582,180 @@
         "node": ">= 14"
       }
     },
+    "node_modules/@sentry/cli": {
+      "version": "2.38.2",
+      "resolved": "https://registry.npmjs.org/@sentry/cli/-/cli-2.38.2.tgz",
+      "integrity": "sha512-CR0oujpAnhegK2pBAv6ZReMqbFTuNJLDZLvoD1B+syrKZX+R+oxkgT2e1htsBbht+wGxAsluVWsIAydSws1GAA==",
+      "hasInstallScript": true,
+      "dependencies": {
+        "https-proxy-agent": "^5.0.0",
+        "node-fetch": "^2.6.7",
+        "progress": "^2.0.3",
+        "proxy-from-env": "^1.1.0",
+        "which": "^2.0.2"
+      },
+      "bin": {
+        "sentry-cli": "bin/sentry-cli"
+      },
+      "engines": {
+        "node": ">= 10"
+      },
+      "optionalDependencies": {
+        "@sentry/cli-darwin": "2.38.2",
+        "@sentry/cli-linux-arm": "2.38.2",
+        "@sentry/cli-linux-arm64": "2.38.2",
+        "@sentry/cli-linux-i686": "2.38.2",
+        "@sentry/cli-linux-x64": "2.38.2",
+        "@sentry/cli-win32-i686": "2.38.2",
+        "@sentry/cli-win32-x64": "2.38.2"
+      }
+    },
+    "node_modules/@sentry/cli-darwin": {
+      "version": "2.38.2",
+      "resolved": "https://registry.npmjs.org/@sentry/cli-darwin/-/cli-darwin-2.38.2.tgz",
+      "integrity": "sha512-21ywIcJCCFrCTyiF1o1PaT7rbelFC2fWmayKYgFElnQ55IzNYkcn8BYhbh/QknE0l1NBRaeWMXwTTdeoqETCCg==",
+      "optional": true,
+      "os": [
+        "darwin"
+      ],
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/@sentry/cli-linux-arm": {
+      "version": "2.38.2",
+      "resolved": "https://registry.npmjs.org/@sentry/cli-linux-arm/-/cli-linux-arm-2.38.2.tgz",
+      "integrity": "sha512-+AiKDBQKIdQe4NhBiHSHGl0KR+b//HHTrnfK1SaTrOm9HtM4ELXAkjkRF3bmbpSzSQCS5WzcbIxxCJOeaUaO0A==",
+      "cpu": [
+        "arm"
+      ],
+      "optional": true,
+      "os": [
+        "linux",
+        "freebsd"
+      ],
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/@sentry/cli-linux-arm64": {
+      "version": "2.38.2",
+      "resolved": "https://registry.npmjs.org/@sentry/cli-linux-arm64/-/cli-linux-arm64-2.38.2.tgz",
+      "integrity": "sha512-4Fp/jjQpNZj4Th+ZckMQvldAuuP0ZcyJ9tJCP1CCOn5poIKPYtY6zcbTP036R7Te14PS4ALOcDNX3VNKfpsifA==",
+      "cpu": [
+        "arm64"
+      ],
+      "optional": true,
+      "os": [
+        "linux",
+        "freebsd"
+      ],
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/@sentry/cli-linux-i686": {
+      "version": "2.38.2",
+      "resolved": "https://registry.npmjs.org/@sentry/cli-linux-i686/-/cli-linux-i686-2.38.2.tgz",
+      "integrity": "sha512-6zVJN10dHIn4R1v+fxuzlblzVBhIVwsaN/S7aBED6Vn1HhAyAcNG2tIzeCLGeDfieYjXlE2sCI82sZkQBCbAGw==",
+      "cpu": [
+        "x86",
+        "ia32"
+      ],
+      "optional": true,
+      "os": [
+        "linux",
+        "freebsd"
+      ],
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/@sentry/cli-linux-x64": {
+      "version": "2.38.2",
+      "resolved": "https://registry.npmjs.org/@sentry/cli-linux-x64/-/cli-linux-x64-2.38.2.tgz",
+      "integrity": "sha512-4UiLu9zdVtqPeltELR5MDGKcuqAdQY9xz3emISuA6bm+MXGbt2W1WgX+XY3GElwjZbmH8qpyLUEd34sw6sdcbQ==",
+      "cpu": [
+        "x64"
+      ],
+      "optional": true,
+      "os": [
+        "linux",
+        "freebsd"
+      ],
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/@sentry/cli-win32-i686": {
+      "version": "2.38.2",
+      "resolved": "https://registry.npmjs.org/@sentry/cli-win32-i686/-/cli-win32-i686-2.38.2.tgz",
+      "integrity": "sha512-DYfSvd5qLPerLpIxj3Xu2rRe3CIlpGOOfGSNI6xvJ5D8j6hqbOHlCzvfC4oBWYVYGtxnwQLMeDGJ7o7RMYulig==",
+      "cpu": [
+        "x86",
+        "ia32"
+      ],
+      "optional": true,
+      "os": [
+        "win32"
+      ],
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/@sentry/cli-win32-x64": {
+      "version": "2.38.2",
+      "resolved": "https://registry.npmjs.org/@sentry/cli-win32-x64/-/cli-win32-x64-2.38.2.tgz",
+      "integrity": "sha512-W5UX58PKY1hNUHo9YJxWNhGvgvv2uOYHI27KchRiUvFYBIqlUUcIdPZDfyzetDfd8qBCxlAsFnkL2VJSNdpA9A==",
+      "cpu": [
+        "x64"
+      ],
+      "optional": true,
+      "os": [
+        "win32"
+      ],
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/@sentry/cli/node_modules/node-fetch": {
+      "version": "2.7.0",
+      "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz",
+      "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==",
+      "dependencies": {
+        "whatwg-url": "^5.0.0"
+      },
+      "engines": {
+        "node": "4.x || >=6.0.0"
+      },
+      "peerDependencies": {
+        "encoding": "^0.1.0"
+      },
+      "peerDependenciesMeta": {
+        "encoding": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/@sentry/cli/node_modules/tr46": {
+      "version": "0.0.3",
+      "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
+      "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw=="
+    },
+    "node_modules/@sentry/cli/node_modules/webidl-conversions": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
+      "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ=="
+    },
+    "node_modules/@sentry/cli/node_modules/whatwg-url": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
+      "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
+      "dependencies": {
+        "tr46": "~0.0.3",
+        "webidl-conversions": "^3.0.0"
+      }
+    },
     "node_modules/@sentry/hub": {
       "version": "6.2.5",
       "license": "BSD-3-Clause",
@@ -137487,142 +137661,6 @@
         "node": ">=14.18"
       }
     },
-    "packages/mobile/node_modules/@sentry/cli": {
-      "version": "2.38.2",
-      "resolved": "https://registry.npmjs.org/@sentry/cli/-/cli-2.38.2.tgz",
-      "integrity": "sha512-CR0oujpAnhegK2pBAv6ZReMqbFTuNJLDZLvoD1B+syrKZX+R+oxkgT2e1htsBbht+wGxAsluVWsIAydSws1GAA==",
-      "hasInstallScript": true,
-      "dependencies": {
-        "https-proxy-agent": "^5.0.0",
-        "node-fetch": "^2.6.7",
-        "progress": "^2.0.3",
-        "proxy-from-env": "^1.1.0",
-        "which": "^2.0.2"
-      },
-      "bin": {
-        "sentry-cli": "bin/sentry-cli"
-      },
-      "engines": {
-        "node": ">= 10"
-      },
-      "optionalDependencies": {
-        "@sentry/cli-darwin": "2.38.2",
-        "@sentry/cli-linux-arm": "2.38.2",
-        "@sentry/cli-linux-arm64": "2.38.2",
-        "@sentry/cli-linux-i686": "2.38.2",
-        "@sentry/cli-linux-x64": "2.38.2",
-        "@sentry/cli-win32-i686": "2.38.2",
-        "@sentry/cli-win32-x64": "2.38.2"
-      }
-    },
-    "packages/mobile/node_modules/@sentry/cli-darwin": {
-      "version": "2.38.2",
-      "resolved": "https://registry.npmjs.org/@sentry/cli-darwin/-/cli-darwin-2.38.2.tgz",
-      "integrity": "sha512-21ywIcJCCFrCTyiF1o1PaT7rbelFC2fWmayKYgFElnQ55IzNYkcn8BYhbh/QknE0l1NBRaeWMXwTTdeoqETCCg==",
-      "optional": true,
-      "os": [
-        "darwin"
-      ],
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "packages/mobile/node_modules/@sentry/cli-linux-arm": {
-      "version": "2.38.2",
-      "resolved": "https://registry.npmjs.org/@sentry/cli-linux-arm/-/cli-linux-arm-2.38.2.tgz",
-      "integrity": "sha512-+AiKDBQKIdQe4NhBiHSHGl0KR+b//HHTrnfK1SaTrOm9HtM4ELXAkjkRF3bmbpSzSQCS5WzcbIxxCJOeaUaO0A==",
-      "cpu": [
-        "arm"
-      ],
-      "optional": true,
-      "os": [
-        "linux",
-        "freebsd"
-      ],
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "packages/mobile/node_modules/@sentry/cli-linux-arm64": {
-      "version": "2.38.2",
-      "resolved": "https://registry.npmjs.org/@sentry/cli-linux-arm64/-/cli-linux-arm64-2.38.2.tgz",
-      "integrity": "sha512-4Fp/jjQpNZj4Th+ZckMQvldAuuP0ZcyJ9tJCP1CCOn5poIKPYtY6zcbTP036R7Te14PS4ALOcDNX3VNKfpsifA==",
-      "cpu": [
-        "arm64"
-      ],
-      "optional": true,
-      "os": [
-        "linux",
-        "freebsd"
-      ],
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "packages/mobile/node_modules/@sentry/cli-linux-i686": {
-      "version": "2.38.2",
-      "resolved": "https://registry.npmjs.org/@sentry/cli-linux-i686/-/cli-linux-i686-2.38.2.tgz",
-      "integrity": "sha512-6zVJN10dHIn4R1v+fxuzlblzVBhIVwsaN/S7aBED6Vn1HhAyAcNG2tIzeCLGeDfieYjXlE2sCI82sZkQBCbAGw==",
-      "cpu": [
-        "x86",
-        "ia32"
-      ],
-      "optional": true,
-      "os": [
-        "linux",
-        "freebsd"
-      ],
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "packages/mobile/node_modules/@sentry/cli-linux-x64": {
-      "version": "2.38.2",
-      "resolved": "https://registry.npmjs.org/@sentry/cli-linux-x64/-/cli-linux-x64-2.38.2.tgz",
-      "integrity": "sha512-4UiLu9zdVtqPeltELR5MDGKcuqAdQY9xz3emISuA6bm+MXGbt2W1WgX+XY3GElwjZbmH8qpyLUEd34sw6sdcbQ==",
-      "cpu": [
-        "x64"
-      ],
-      "optional": true,
-      "os": [
-        "linux",
-        "freebsd"
-      ],
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "packages/mobile/node_modules/@sentry/cli-win32-i686": {
-      "version": "2.38.2",
-      "resolved": "https://registry.npmjs.org/@sentry/cli-win32-i686/-/cli-win32-i686-2.38.2.tgz",
-      "integrity": "sha512-DYfSvd5qLPerLpIxj3Xu2rRe3CIlpGOOfGSNI6xvJ5D8j6hqbOHlCzvfC4oBWYVYGtxnwQLMeDGJ7o7RMYulig==",
-      "cpu": [
-        "x86",
-        "ia32"
-      ],
-      "optional": true,
-      "os": [
-        "win32"
-      ],
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "packages/mobile/node_modules/@sentry/cli-win32-x64": {
-      "version": "2.38.2",
-      "resolved": "https://registry.npmjs.org/@sentry/cli-win32-x64/-/cli-win32-x64-2.38.2.tgz",
-      "integrity": "sha512-W5UX58PKY1hNUHo9YJxWNhGvgvv2uOYHI27KchRiUvFYBIqlUUcIdPZDfyzetDfd8qBCxlAsFnkL2VJSNdpA9A==",
-      "cpu": [
-        "x64"
-      ],
-      "optional": true,
-      "os": [
-        "win32"
-      ],
-      "engines": {
-        "node": ">=10"
-      }
-    },
     "packages/mobile/node_modules/@sentry/core": {
       "version": "8.40.0",
       "resolved": "https://registry.npmjs.org/@sentry/core/-/core-8.40.0.tgz",
@@ -142532,6 +142570,7 @@
         "@pinata/sdk": "1.1.13",
         "@playwright/test": "1.42.1",
         "@redux-devtools/extension": "3.2.4",
+        "@sentry/cli": "2.38.2",
         "@testing-library/jest-dom": "6.4.2",
         "@testing-library/react": "14.2.2",
         "@types/amplitude-js": "8.0.2",
diff --git a/packages/web/package.json b/packages/web/package.json
index 03eb192dba7..83ff0527e70 100644
--- a/packages/web/package.json
+++ b/packages/web/package.json
@@ -208,6 +208,7 @@
     "@pinata/sdk": "1.1.13",
     "@playwright/test": "1.42.1",
     "@redux-devtools/extension": "3.2.4",
+    "@sentry/cli": "2.38.2",
     "@testing-library/jest-dom": "6.4.2",
     "@testing-library/react": "14.2.2",
     "@types/amplitude-js": "8.0.2",

From ac8b169241daddf55425b72e98d27f02ebb12d0e Mon Sep 17 00:00:00 2001
From: Raymond Jacobson <ray@audius.co>
Date: Wed, 8 Jan 2025 23:03:46 -0800
Subject: [PATCH 4/7] Fix mobile cmds

---
 packages/mobile/ios/scripts/bundleReactNative.sh        | 2 +-
 packages/mobile/ios/scripts/uploadSentryDebugSymbols.sh | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/packages/mobile/ios/scripts/bundleReactNative.sh b/packages/mobile/ios/scripts/bundleReactNative.sh
index c9270cb4cab..a30b885e120 100755
--- a/packages/mobile/ios/scripts/bundleReactNative.sh
+++ b/packages/mobile/ios/scripts/bundleReactNative.sh
@@ -3,4 +3,4 @@ export SENTRY_PROPERTIES=sentry.properties
 export EXTRA_PACKAGER_ARGS=\"--sourcemap-output $DERIVED_FILE_DIR/main.jsbundle.map\" 
 export PROJECT_ROOT=$PWD/.. 
  
-npm --prefix ../ run sentry-cli react-native xcode ../../../node_modules/react-native/scripts/react-native-xcode.sh 
\ No newline at end of file
+npm --prefix ../ run sentry-cli -- react-native xcode ../../../node_modules/react-native/scripts/react-native-xcode.sh 
\ No newline at end of file
diff --git a/packages/mobile/ios/scripts/uploadSentryDebugSymbols.sh b/packages/mobile/ios/scripts/uploadSentryDebugSymbols.sh
index 59d62eb27bc..58997f71395 100755
--- a/packages/mobile/ios/scripts/uploadSentryDebugSymbols.sh
+++ b/packages/mobile/ios/scripts/uploadSentryDebugSymbols.sh
@@ -1,4 +1,4 @@
 export NODE_BINARY=node
 export SENTRY_PROPERTIES=sentry.properties
 
-npm --prefix ../ run sentry-cli upload-dsym
+npm --prefix ../ run sentry-cli -- upload-dsym

From 06c2630ed752794dd01b17b4cc8fb02892c99bd6 Mon Sep 17 00:00:00 2001
From: Raymond Jacobson <ray@audius.co>
Date: Thu, 9 Jan 2025 11:46:23 -0800
Subject: [PATCH 5/7] Fix mobile

---
 packages/mobile/ios/.xcode.env                          | 6 +++++-
 packages/mobile/ios/scripts/bundleReactNative.sh        | 5 +++--
 packages/mobile/ios/scripts/uploadSentryDebugSymbols.sh | 5 +++--
 3 files changed, 11 insertions(+), 5 deletions(-)

diff --git a/packages/mobile/ios/.xcode.env b/packages/mobile/ios/.xcode.env
index 9d643e97ae6..64c4d085c4a 100644
--- a/packages/mobile/ios/.xcode.env
+++ b/packages/mobile/ios/.xcode.env
@@ -7,4 +7,8 @@
 # Customize the NODE_BINARY variable here.
 # For example, to use nvm with brew, add the following line
 # . "$(brew --prefix nvm)/nvm.sh" --no-use
-export NODE_BINARY=$(command -v node)
\ No newline at end of file
+export NVM_DIR="$HOME/.nvm"
+[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
+
+export NODE_BINARY=$(command -v node)
+export NPM_BINARY=$(command -v npm)
diff --git a/packages/mobile/ios/scripts/bundleReactNative.sh b/packages/mobile/ios/scripts/bundleReactNative.sh
index a30b885e120..ec2f98907b7 100755
--- a/packages/mobile/ios/scripts/bundleReactNative.sh
+++ b/packages/mobile/ios/scripts/bundleReactNative.sh
@@ -1,6 +1,7 @@
-export NODE_BINARY=node 
+source "${PROJECT_DIR}/.xcode.env"
+
 export SENTRY_PROPERTIES=sentry.properties 
 export EXTRA_PACKAGER_ARGS=\"--sourcemap-output $DERIVED_FILE_DIR/main.jsbundle.map\" 
 export PROJECT_ROOT=$PWD/.. 
  
-npm --prefix ../ run sentry-cli -- react-native xcode ../../../node_modules/react-native/scripts/react-native-xcode.sh 
\ No newline at end of file
+"$NPM_BINARY" --prefix ../ run sentry-cli -- react-native xcode ../../../node_modules/react-native/scripts/react-native-xcode.sh
diff --git a/packages/mobile/ios/scripts/uploadSentryDebugSymbols.sh b/packages/mobile/ios/scripts/uploadSentryDebugSymbols.sh
index 58997f71395..782d08e909b 100755
--- a/packages/mobile/ios/scripts/uploadSentryDebugSymbols.sh
+++ b/packages/mobile/ios/scripts/uploadSentryDebugSymbols.sh
@@ -1,4 +1,5 @@
-export NODE_BINARY=node
+source "${PROJECT_DIR}/.xcode.env"
+
 export SENTRY_PROPERTIES=sentry.properties
 
-npm --prefix ../ run sentry-cli -- upload-dsym
+"$NPM_BINARY" --prefix ../ run sentry-cli -- upload-dsym

From db154fdfe939f9084a624ef154926c88faef3891 Mon Sep 17 00:00:00 2001
From: Raymond Jacobson <ray@audius.co>
Date: Thu, 9 Jan 2025 14:19:43 -0800
Subject: [PATCH 6/7] Improve script

---
 packages/mobile/ios/scripts/bundleReactNative.sh        | 4 ++--
 packages/mobile/ios/scripts/uploadSentryDebugSymbols.sh | 3 ++-
 2 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/packages/mobile/ios/scripts/bundleReactNative.sh b/packages/mobile/ios/scripts/bundleReactNative.sh
index ec2f98907b7..314ff4bf632 100755
--- a/packages/mobile/ios/scripts/bundleReactNative.sh
+++ b/packages/mobile/ios/scripts/bundleReactNative.sh
@@ -1,7 +1,7 @@
 source "${PROJECT_DIR}/.xcode.env"
 
-export SENTRY_PROPERTIES=sentry.properties 
+export PROJECT_ROOT=$PWD/..
 export EXTRA_PACKAGER_ARGS=\"--sourcemap-output $DERIVED_FILE_DIR/main.jsbundle.map\" 
-export PROJECT_ROOT=$PWD/.. 
+export SENTRY_PROPERTIES="${PROJECT_ROOT}/sentry.properties"
  
 "$NPM_BINARY" --prefix ../ run sentry-cli -- react-native xcode ../../../node_modules/react-native/scripts/react-native-xcode.sh
diff --git a/packages/mobile/ios/scripts/uploadSentryDebugSymbols.sh b/packages/mobile/ios/scripts/uploadSentryDebugSymbols.sh
index 782d08e909b..b31889aea2f 100755
--- a/packages/mobile/ios/scripts/uploadSentryDebugSymbols.sh
+++ b/packages/mobile/ios/scripts/uploadSentryDebugSymbols.sh
@@ -1,5 +1,6 @@
 source "${PROJECT_DIR}/.xcode.env"
 
-export SENTRY_PROPERTIES=sentry.properties
+export PROJECT_ROOT=$PWD/..
+export SENTRY_PROPERTIES="${PROJECT_ROOT}/sentry.properties"
 
 "$NPM_BINARY" --prefix ../ run sentry-cli -- upload-dsym

From dfeaa2d52deac00c7217edabf62504925a76573c Mon Sep 17 00:00:00 2001
From: Raymond Jacobson <ray@audius.co>
Date: Thu, 9 Jan 2025 14:20:16 -0800
Subject: [PATCH 7/7] Fix path

---
 packages/mobile/ios/scripts/bundleReactNative.sh        | 2 +-
 packages/mobile/ios/scripts/uploadSentryDebugSymbols.sh | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/packages/mobile/ios/scripts/bundleReactNative.sh b/packages/mobile/ios/scripts/bundleReactNative.sh
index 314ff4bf632..b00a222fded 100755
--- a/packages/mobile/ios/scripts/bundleReactNative.sh
+++ b/packages/mobile/ios/scripts/bundleReactNative.sh
@@ -2,6 +2,6 @@ source "${PROJECT_DIR}/.xcode.env"
 
 export PROJECT_ROOT=$PWD/..
 export EXTRA_PACKAGER_ARGS=\"--sourcemap-output $DERIVED_FILE_DIR/main.jsbundle.map\" 
-export SENTRY_PROPERTIES="${PROJECT_ROOT}/sentry.properties"
+export SENTRY_PROPERTIES="${PROJECT_ROOT}/ios/sentry.properties"
  
 "$NPM_BINARY" --prefix ../ run sentry-cli -- react-native xcode ../../../node_modules/react-native/scripts/react-native-xcode.sh
diff --git a/packages/mobile/ios/scripts/uploadSentryDebugSymbols.sh b/packages/mobile/ios/scripts/uploadSentryDebugSymbols.sh
index b31889aea2f..f9a03fb96c0 100755
--- a/packages/mobile/ios/scripts/uploadSentryDebugSymbols.sh
+++ b/packages/mobile/ios/scripts/uploadSentryDebugSymbols.sh
@@ -1,6 +1,6 @@
 source "${PROJECT_DIR}/.xcode.env"
 
 export PROJECT_ROOT=$PWD/..
-export SENTRY_PROPERTIES="${PROJECT_ROOT}/sentry.properties"
+export SENTRY_PROPERTIES="${PROJECT_ROOT}/ios/sentry.properties"
 
 "$NPM_BINARY" --prefix ../ run sentry-cli -- upload-dsym