merge: fix/sentry-sourcemaps — metro debug-ID injection + release/dist alignment (reviewed: APPROVE)

This commit is contained in:
engineer
2026-07-16 15:58:45 -07:00
7 changed files with 172 additions and 97 deletions

View File

@@ -66,6 +66,20 @@ jobs:
- name: Install dependencies - name: Install dependencies
run: npm install --legacy-peer-deps run: npm install --legacy-peer-deps
- name: Set Sentry release identifiers
# sentry.gradle (applied from android/app/build.gradle) defaults the
# upload's --release/--dist to `${applicationId}@${versionName}+${versionCode}`,
# which does NOT match the release/dist Sentry.init() reports at runtime
# (`opencode-mobile@${app.json version}`, see src/lib/sentry.ts). That
# mismatch made every uploaded source map land under a release Sentry
# never looks up, so symbolication silently failed. Pin the Gradle-side
# values to exactly what the app reports.
run: |
VERSION=$(node -p "require('./app.json').expo.version")
echo "SENTRY_RELEASE=opencode-mobile@${VERSION}" >> "$GITHUB_ENV"
echo "SENTRY_DIST=${VERSION}" >> "$GITHUB_ENV"
echo "Sentry release=opencode-mobile@${VERSION} dist=${VERSION}"
- name: Expo prebuild - name: Expo prebuild
run: npx expo prebuild --platform android --no-install run: npx expo prebuild --platform android --no-install

View File

@@ -45,6 +45,20 @@ jobs:
- name: Install dependencies - name: Install dependencies
run: npm install --legacy-peer-deps run: npm install --legacy-peer-deps
- name: Set Sentry release identifiers
# sentry.gradle (applied from android/app/build.gradle) defaults the
# upload's --release/--dist to `${applicationId}@${versionName}+${versionCode}`,
# which does NOT match the release/dist Sentry.init() reports at runtime
# (`opencode-mobile@${app.json version}`, see src/lib/sentry.ts). That
# mismatch made every uploaded source map land under a release Sentry
# never looks up, so symbolication silently failed. Pin the Gradle-side
# values to exactly what the app reports.
run: |
VERSION=$(node -p "require('./app.json').expo.version")
echo "SENTRY_RELEASE=opencode-mobile@${VERSION}" >> "$GITHUB_ENV"
echo "SENTRY_DIST=${VERSION}" >> "$GITHUB_ENV"
echo "Sentry release=opencode-mobile@${VERSION} dist=${VERSION}"
- name: Expo prebuild - name: Expo prebuild
run: npx expo prebuild --platform android --no-install run: npx expo prebuild --platform android --no-install

View File

@@ -84,6 +84,21 @@ jobs:
node -e "const f='app.json';const j=require('./'+f);j.expo.android=j.expo.android||{};j.expo.android.versionCode=${{ github.run_number }}+100;require('fs').writeFileSync(f,JSON.stringify(j,null,2)+'\n')" node -e "const f='app.json';const j=require('./'+f);j.expo.android=j.expo.android||{};j.expo.android.versionCode=${{ github.run_number }}+100;require('fs').writeFileSync(f,JSON.stringify(j,null,2)+'\n')"
echo "versionCode now: $(node -p "require('./app.json').expo.android.versionCode")" echo "versionCode now: $(node -p "require('./app.json').expo.android.versionCode")"
- name: Set Sentry release identifiers
# sentry.gradle (applied from android/app/build.gradle) defaults the
# upload's --release/--dist to `${applicationId}@${versionName}+${versionCode}`,
# which does NOT match the release/dist Sentry.init() reports at runtime
# (`opencode-mobile@${app.json version}`, see src/lib/sentry.ts). That
# mismatch made every uploaded source map land under a release Sentry
# never looks up, so symbolication silently failed. Pin the Gradle-side
# values to exactly what the app reports. (Only expo.version matters
# here, not the android.versionCode bumped above.)
run: |
VERSION=$(node -p "require('./app.json').expo.version")
echo "SENTRY_RELEASE=opencode-mobile@${VERSION}" >> "$GITHUB_ENV"
echo "SENTRY_DIST=${VERSION}" >> "$GITHUB_ENV"
echo "Sentry release=opencode-mobile@${VERSION} dist=${VERSION}"
- name: Purge stale generated sources - name: Purge stale generated sources
# The Android build cache (restore-keys prefix fallback) can restore a # The Android build cache (restore-keys prefix fallback) can restore a
# generated autolinking tree from a previous package id. Gradle then # generated autolinking tree from a previous package id. Gradle then

View File

@@ -50,7 +50,13 @@
"expo-router", "expo-router",
"expo-secure-store", "expo-secure-store",
"expo-local-authentication", "expo-local-authentication",
"@sentry/react-native/expo", [
"@sentry/react-native/expo",
{
"organization": "vibetechnologies",
"project": "opencode-mobile"
}
],
[ [
"expo-notifications", "expo-notifications",
{ {

22
metro.config.js Normal file
View File

@@ -0,0 +1,22 @@
// Metro bundler config.
//
// Wraps Expo's default Metro config with Sentry's config so the JS bundle
// gets a Debug ID embedded at build time (see
// https://docs.sentry.io/platforms/react-native/manual-setup/metro/).
//
// Why this matters: without this, Metro/Hermes produce bundles + source maps
// with NO debug ID. `android/sentry.gradle` (applied from
// android/app/build.gradle) then falls back to associating the uploaded
// source map with Sentry purely by `--release`/`--dist` string matching
// (see its `has-sourcemap-debugid.js` check). That legacy path is fragile —
// it silently breaks if the release/dist Gradle computes for the upload
// ever drifts from the release/dist the app reports at runtime via
// `Sentry.init()` (src/lib/sentry.ts). Debug ID matching sidesteps that
// entire class of bug: the bundle and its source map are linked by an
// embedded ID, independent of any release/dist string.
const { getSentryExpoConfig } = require("@sentry/react-native/metro")
/** @type {import('expo/metro-config').MetroConfig} */
const config = getSentryExpoConfig(__dirname)
module.exports = config

194
package-lock.json generated
View File

@@ -11,7 +11,7 @@
"@expo/vector-icons": "^15.0.3", "@expo/vector-icons": "^15.0.3",
"@gorhom/bottom-sheet": "5.2.8", "@gorhom/bottom-sheet": "5.2.8",
"@react-navigation/native": "^7.0.14", "@react-navigation/native": "^7.0.14",
"@sentry/react-native": "~6.14.0", "@sentry/react-native": "~6.22.0",
"@tanstack/react-query": "^5.62.0", "@tanstack/react-query": "^5.62.0",
"expo": "^54.0.0", "expo": "^54.0.0",
"expo-clipboard": "8.0.8", "expo-clipboard": "8.0.8",
@@ -2787,84 +2787,84 @@
} }
}, },
"node_modules/@sentry-internal/browser-utils": { "node_modules/@sentry-internal/browser-utils": {
"version": "8.54.0", "version": "8.55.0",
"resolved": "https://registry.npmjs.org/@sentry-internal/browser-utils/-/browser-utils-8.54.0.tgz", "resolved": "https://registry.npmjs.org/@sentry-internal/browser-utils/-/browser-utils-8.55.0.tgz",
"integrity": "sha512-DKWCqb4YQosKn6aD45fhKyzhkdG7N6goGFDeyTaJFREJDFVDXiNDsYZu30nJ6BxMM7uQIaARhPAC5BXfoED3pQ==", "integrity": "sha512-ROgqtQfpH/82AQIpESPqPQe0UyWywKJsmVIqi3c5Fh+zkds5LUxnssTj3yNd1x+kxaPDVB023jAP+3ibNgeNDw==",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@sentry/core": "8.54.0" "@sentry/core": "8.55.0"
}, },
"engines": { "engines": {
"node": ">=14.18" "node": ">=14.18"
} }
}, },
"node_modules/@sentry-internal/feedback": { "node_modules/@sentry-internal/feedback": {
"version": "8.54.0", "version": "8.55.0",
"resolved": "https://registry.npmjs.org/@sentry-internal/feedback/-/feedback-8.54.0.tgz", "resolved": "https://registry.npmjs.org/@sentry-internal/feedback/-/feedback-8.55.0.tgz",
"integrity": "sha512-nQqRacOXoElpE0L0ADxUUII0I3A94niqG9Z4Fmsw6057QvyrV/LvTiMQBop6r5qLjwMqK+T33iR4/NQI5RhsXQ==", "integrity": "sha512-cP3BD/Q6pquVQ+YL+rwCnorKuTXiS9KXW8HNKu4nmmBAyf7urjs+F6Hr1k9MXP5yQ8W3yK7jRWd09Yu6DHWOiw==",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@sentry/core": "8.54.0" "@sentry/core": "8.55.0"
}, },
"engines": { "engines": {
"node": ">=14.18" "node": ">=14.18"
} }
}, },
"node_modules/@sentry-internal/replay": { "node_modules/@sentry-internal/replay": {
"version": "8.54.0", "version": "8.55.0",
"resolved": "https://registry.npmjs.org/@sentry-internal/replay/-/replay-8.54.0.tgz", "resolved": "https://registry.npmjs.org/@sentry-internal/replay/-/replay-8.55.0.tgz",
"integrity": "sha512-8xuBe06IaYIGJec53wUC12tY2q4z2Z0RPS2s1sLtbA00EvK1YDGuXp96IDD+HB9mnDMrQ/jW5f97g9TvPsPQUg==", "integrity": "sha512-roCDEGkORwolxBn8xAKedybY+Jlefq3xYmgN2fr3BTnsXjSYOPC7D1/mYqINBat99nDtvgFvNfRcZPiwwZ1hSw==",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@sentry-internal/browser-utils": "8.54.0", "@sentry-internal/browser-utils": "8.55.0",
"@sentry/core": "8.54.0" "@sentry/core": "8.55.0"
}, },
"engines": { "engines": {
"node": ">=14.18" "node": ">=14.18"
} }
}, },
"node_modules/@sentry-internal/replay-canvas": { "node_modules/@sentry-internal/replay-canvas": {
"version": "8.54.0", "version": "8.55.0",
"resolved": "https://registry.npmjs.org/@sentry-internal/replay-canvas/-/replay-canvas-8.54.0.tgz", "resolved": "https://registry.npmjs.org/@sentry-internal/replay-canvas/-/replay-canvas-8.55.0.tgz",
"integrity": "sha512-K/On3OAUBeq/TV2n+1EvObKC+WMV9npVXpVyJqCCyn8HYMm8FUGzuxeajzm0mlW4wDTPCQor6mK9/IgOquUzCw==", "integrity": "sha512-nIkfgRWk1091zHdu4NbocQsxZF1rv1f7bbp3tTIlZYbrH62XVZosx5iHAuZG0Zc48AETLE7K4AX9VGjvQj8i9w==",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@sentry-internal/replay": "8.54.0", "@sentry-internal/replay": "8.55.0",
"@sentry/core": "8.54.0" "@sentry/core": "8.55.0"
}, },
"engines": { "engines": {
"node": ">=14.18" "node": ">=14.18"
} }
}, },
"node_modules/@sentry/babel-plugin-component-annotate": { "node_modules/@sentry/babel-plugin-component-annotate": {
"version": "3.4.0", "version": "4.2.0",
"resolved": "https://registry.npmjs.org/@sentry/babel-plugin-component-annotate/-/babel-plugin-component-annotate-3.4.0.tgz", "resolved": "https://registry.npmjs.org/@sentry/babel-plugin-component-annotate/-/babel-plugin-component-annotate-4.2.0.tgz",
"integrity": "sha512-tSzfc3aE7m0PM0Aj7HBDet5llH9AB9oc+tBQ8AvOqUSnWodLrNCuWeQszJ7mIBovD3figgCU3h0cvI6U5cDtsg==", "integrity": "sha512-GFpS3REqaHuyX4LCNqlneAQZIKyHb5ePiI1802n0fhtYjk68I1DTQ3PnbzYi50od/vAsTQVCknaS5F6tidNqTQ==",
"license": "MIT", "license": "MIT",
"engines": { "engines": {
"node": ">= 14" "node": ">= 14"
} }
}, },
"node_modules/@sentry/browser": { "node_modules/@sentry/browser": {
"version": "8.54.0", "version": "8.55.0",
"resolved": "https://registry.npmjs.org/@sentry/browser/-/browser-8.54.0.tgz", "resolved": "https://registry.npmjs.org/@sentry/browser/-/browser-8.55.0.tgz",
"integrity": "sha512-BgUtvxFHin0fS0CmJVKTLXXZcke0Av729IVfi+2fJ4COX8HO7/HAP02RKaSQGmL2HmvWYTfNZ7529AnUtrM4Rg==", "integrity": "sha512-1A31mCEWCjaMxJt6qGUK+aDnLDcK6AwLAZnqpSchNysGni1pSn1RWSmk9TBF8qyTds5FH8B31H480uxMPUJ7Cw==",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@sentry-internal/browser-utils": "8.54.0", "@sentry-internal/browser-utils": "8.55.0",
"@sentry-internal/feedback": "8.54.0", "@sentry-internal/feedback": "8.55.0",
"@sentry-internal/replay": "8.54.0", "@sentry-internal/replay": "8.55.0",
"@sentry-internal/replay-canvas": "8.54.0", "@sentry-internal/replay-canvas": "8.55.0",
"@sentry/core": "8.54.0" "@sentry/core": "8.55.0"
}, },
"engines": { "engines": {
"node": ">=14.18" "node": ">=14.18"
} }
}, },
"node_modules/@sentry/cli": { "node_modules/@sentry/cli": {
"version": "2.45.0", "version": "2.53.0",
"resolved": "https://registry.npmjs.org/@sentry/cli/-/cli-2.45.0.tgz", "resolved": "https://registry.npmjs.org/@sentry/cli/-/cli-2.53.0.tgz",
"integrity": "sha512-4sWu7zgzgHAjIxIjXUA/66qgeEf5ZOlloO+/JaGD5qXNSW0G7KMTR6iYjReNKMgdBCTH6bUUt9qiuA+Ex9Masw==", "integrity": "sha512-n2ZNb+5Z6AZKQSI0SusQ7ZzFL637mfw3Xh4C3PEyVSn9LiF683fX0TTq8OeGmNZQS4maYfS95IFD+XpydU0dEA==",
"hasInstallScript": true, "hasInstallScript": true,
"license": "BSD-3-Clause", "license": "BSD-3-Clause",
"dependencies": { "dependencies": {
@@ -2881,20 +2881,20 @@
"node": ">= 10" "node": ">= 10"
}, },
"optionalDependencies": { "optionalDependencies": {
"@sentry/cli-darwin": "2.45.0", "@sentry/cli-darwin": "2.53.0",
"@sentry/cli-linux-arm": "2.45.0", "@sentry/cli-linux-arm": "2.53.0",
"@sentry/cli-linux-arm64": "2.45.0", "@sentry/cli-linux-arm64": "2.53.0",
"@sentry/cli-linux-i686": "2.45.0", "@sentry/cli-linux-i686": "2.53.0",
"@sentry/cli-linux-x64": "2.45.0", "@sentry/cli-linux-x64": "2.53.0",
"@sentry/cli-win32-arm64": "2.45.0", "@sentry/cli-win32-arm64": "2.53.0",
"@sentry/cli-win32-i686": "2.45.0", "@sentry/cli-win32-i686": "2.53.0",
"@sentry/cli-win32-x64": "2.45.0" "@sentry/cli-win32-x64": "2.53.0"
} }
}, },
"node_modules/@sentry/cli-darwin": { "node_modules/@sentry/cli-darwin": {
"version": "2.45.0", "version": "2.53.0",
"resolved": "https://registry.npmjs.org/@sentry/cli-darwin/-/cli-darwin-2.45.0.tgz", "resolved": "https://registry.npmjs.org/@sentry/cli-darwin/-/cli-darwin-2.53.0.tgz",
"integrity": "sha512-p4Uxfv/L2fQdP3/wYnKVVz9gzZJf/1Xp9D+6raax/3Bu5y87yHYUqcdt98y/VAXQD4ofp2QgmhGUVPofvQNZmg==", "integrity": "sha512-NNPfpILMwKgpHiyJubHHuauMKltkrgLQ5tvMdxNpxY60jBNdo5VJtpESp4XmXlnidzV4j1z61V4ozU6ttDgt5Q==",
"license": "BSD-3-Clause", "license": "BSD-3-Clause",
"optional": true, "optional": true,
"os": [ "os": [
@@ -2905,9 +2905,9 @@
} }
}, },
"node_modules/@sentry/cli-linux-arm": { "node_modules/@sentry/cli-linux-arm": {
"version": "2.45.0", "version": "2.53.0",
"resolved": "https://registry.npmjs.org/@sentry/cli-linux-arm/-/cli-linux-arm-2.45.0.tgz", "resolved": "https://registry.npmjs.org/@sentry/cli-linux-arm/-/cli-linux-arm-2.53.0.tgz",
"integrity": "sha512-6sEskFLlFKJ+e0MOYgIclBTUX5jYMyYhHIxXahEkI/4vx6JO0uvpyRAkUJRpJkRh/lPog0FM+tbP3so+VxB2qQ==", "integrity": "sha512-NdRzQ15Ht83qG0/Lyu11ciy/Hu/oXbbtJUgwzACc7bWvHQA8xEwTsehWexqn1529Kfc5EjuZ0Wmj3MHmp+jOWw==",
"cpu": [ "cpu": [
"arm" "arm"
], ],
@@ -2915,16 +2915,17 @@
"optional": true, "optional": true,
"os": [ "os": [
"linux", "linux",
"freebsd" "freebsd",
"android"
], ],
"engines": { "engines": {
"node": ">=10" "node": ">=10"
} }
}, },
"node_modules/@sentry/cli-linux-arm64": { "node_modules/@sentry/cli-linux-arm64": {
"version": "2.45.0", "version": "2.53.0",
"resolved": "https://registry.npmjs.org/@sentry/cli-linux-arm64/-/cli-linux-arm64-2.45.0.tgz", "resolved": "https://registry.npmjs.org/@sentry/cli-linux-arm64/-/cli-linux-arm64-2.53.0.tgz",
"integrity": "sha512-gUcLoEjzg7AIc4QQGEZwRHri+EHf3Gcms9zAR1VHiNF3/C/jL4WeDPJF2YiWAQt6EtH84tHiyhw1Ab/R8XFClg==", "integrity": "sha512-xY/CZ1dVazsSCvTXzKpAgXaRqfljVfdrFaYZRUaRPf1ZJRGa3dcrivoOhSIeG/p5NdYtMvslMPY9Gm2MT0M83A==",
"cpu": [ "cpu": [
"arm64" "arm64"
], ],
@@ -2932,16 +2933,17 @@
"optional": true, "optional": true,
"os": [ "os": [
"linux", "linux",
"freebsd" "freebsd",
"android"
], ],
"engines": { "engines": {
"node": ">=10" "node": ">=10"
} }
}, },
"node_modules/@sentry/cli-linux-i686": { "node_modules/@sentry/cli-linux-i686": {
"version": "2.45.0", "version": "2.53.0",
"resolved": "https://registry.npmjs.org/@sentry/cli-linux-i686/-/cli-linux-i686-2.45.0.tgz", "resolved": "https://registry.npmjs.org/@sentry/cli-linux-i686/-/cli-linux-i686-2.53.0.tgz",
"integrity": "sha512-VmmOaEAzSW23YdGNdy/+oQjCNAMY+HmOGA77A25/ep/9AV7PQB6FI7xO5Y1PVvlkxZFJ23e373njSsEeg4uDZw==", "integrity": "sha512-0REmBibGAB4jtqt9S6JEsFF4QybzcXHPcHtJjgMi5T0ueh952uG9wLzjSxQErCsxTKF+fL8oG0Oz5yKBuCwCCQ==",
"cpu": [ "cpu": [
"x86", "x86",
"ia32" "ia32"
@@ -2950,16 +2952,17 @@
"optional": true, "optional": true,
"os": [ "os": [
"linux", "linux",
"freebsd" "freebsd",
"android"
], ],
"engines": { "engines": {
"node": ">=10" "node": ">=10"
} }
}, },
"node_modules/@sentry/cli-linux-x64": { "node_modules/@sentry/cli-linux-x64": {
"version": "2.45.0", "version": "2.53.0",
"resolved": "https://registry.npmjs.org/@sentry/cli-linux-x64/-/cli-linux-x64-2.45.0.tgz", "resolved": "https://registry.npmjs.org/@sentry/cli-linux-x64/-/cli-linux-x64-2.53.0.tgz",
"integrity": "sha512-a0Oj68mrb25a0WjX/ShZ6AAd4PPiuLcgyzQr7bl2+DvYxIOajwkGbR+CZFEhOVZcfhTnixKy/qIXEzApEPHPQg==", "integrity": "sha512-9UGJL+Vy5N/YL1EWPZ/dyXLkShlNaDNrzxx4G7mTS9ywjg+BIuemo6rnN7w43K1NOjObTVO6zY0FwumJ1pCyLg==",
"cpu": [ "cpu": [
"x64" "x64"
], ],
@@ -2967,16 +2970,17 @@
"optional": true, "optional": true,
"os": [ "os": [
"linux", "linux",
"freebsd" "freebsd",
"android"
], ],
"engines": { "engines": {
"node": ">=10" "node": ">=10"
} }
}, },
"node_modules/@sentry/cli-win32-arm64": { "node_modules/@sentry/cli-win32-arm64": {
"version": "2.45.0", "version": "2.53.0",
"resolved": "https://registry.npmjs.org/@sentry/cli-win32-arm64/-/cli-win32-arm64-2.45.0.tgz", "resolved": "https://registry.npmjs.org/@sentry/cli-win32-arm64/-/cli-win32-arm64-2.53.0.tgz",
"integrity": "sha512-vn+CwS4p+52pQSLNPoi20ZOrQmv01ZgAmuMnjkh1oUZfTyBAwWLrAh6Cy4cztcN8DfL5dOWKQBo8DBKURE4ttg==", "integrity": "sha512-G1kjOjrjMBY20rQcJV2GA8KQE74ufmROCDb2GXYRfjvb1fKAsm4Oh8N5+Tqi7xEHdjQoLPkE4CNW0aH68JSUDQ==",
"cpu": [ "cpu": [
"arm64" "arm64"
], ],
@@ -2990,9 +2994,9 @@
} }
}, },
"node_modules/@sentry/cli-win32-i686": { "node_modules/@sentry/cli-win32-i686": {
"version": "2.45.0", "version": "2.53.0",
"resolved": "https://registry.npmjs.org/@sentry/cli-win32-i686/-/cli-win32-i686-2.45.0.tgz", "resolved": "https://registry.npmjs.org/@sentry/cli-win32-i686/-/cli-win32-i686-2.53.0.tgz",
"integrity": "sha512-8mMoDdlwxtcdNIMtteMK7dbi7054jak8wKSHJ5yzMw8UmWxC5thc/gXBc1uPduiaI56VjoJV+phWHBKCD+6I4w==", "integrity": "sha512-qbGTZUzesuUaPtY9rPXdNfwLqOZKXrJRC1zUFn52hdo6B+Dmv0m/AHwRVFHZP53Tg1NCa8bDei2K/uzRN0dUZw==",
"cpu": [ "cpu": [
"x86", "x86",
"ia32" "ia32"
@@ -3007,9 +3011,9 @@
} }
}, },
"node_modules/@sentry/cli-win32-x64": { "node_modules/@sentry/cli-win32-x64": {
"version": "2.45.0", "version": "2.53.0",
"resolved": "https://registry.npmjs.org/@sentry/cli-win32-x64/-/cli-win32-x64-2.45.0.tgz", "resolved": "https://registry.npmjs.org/@sentry/cli-win32-x64/-/cli-win32-x64-2.53.0.tgz",
"integrity": "sha512-ZvK9cIqFaq7vZ0jkHJ/xh5au6902Dr+AUxSk6L6vCL7JCe2p93KGL/4d8VFB5PD/P7Y9b+105G/e0QIFKzpeOw==", "integrity": "sha512-1TXYxYHtwgUq5KAJt3erRzzUtPqg7BlH9T7MdSPHjJatkrr/kwZqnVe2H6Arr/5NH891vOlIeSPHBdgJUAD69g==",
"cpu": [ "cpu": [
"x64" "x64"
], ],
@@ -3048,22 +3052,22 @@
} }
}, },
"node_modules/@sentry/core": { "node_modules/@sentry/core": {
"version": "8.54.0", "version": "8.55.0",
"resolved": "https://registry.npmjs.org/@sentry/core/-/core-8.54.0.tgz", "resolved": "https://registry.npmjs.org/@sentry/core/-/core-8.55.0.tgz",
"integrity": "sha512-03bWf+D1j28unOocY/5FDB6bUHtYlm6m6ollVejhg45ZmK9iPjdtxNWbrLsjT1WRym0Tjzowu+A3p+eebYEv0Q==", "integrity": "sha512-6g7jpbefjHYs821Z+EBJ8r4Z7LT5h80YSWRJaylGS4nW5W5Z2KXzpdnyFarv37O7QjauzVC2E+PABmpkw5/JGA==",
"license": "MIT", "license": "MIT",
"engines": { "engines": {
"node": ">=14.18" "node": ">=14.18"
} }
}, },
"node_modules/@sentry/react": { "node_modules/@sentry/react": {
"version": "8.54.0", "version": "8.55.0",
"resolved": "https://registry.npmjs.org/@sentry/react/-/react-8.54.0.tgz", "resolved": "https://registry.npmjs.org/@sentry/react/-/react-8.55.0.tgz",
"integrity": "sha512-42T/fp8snYN19Fy/2P0Mwotu4gcdy+1Lx+uYCNcYP1o7wNGigJ7qb27sW7W34GyCCHjoCCfQgeOqDQsyY8LC9w==", "integrity": "sha512-/qNBvFLpvSa/Rmia0jpKfJdy16d4YZaAnH/TuKLAtm0BWlsPQzbXCU4h8C5Hsst0Do0zG613MEtEmWpWrVOqWA==",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@sentry/browser": "8.54.0", "@sentry/browser": "8.55.0",
"@sentry/core": "8.54.0", "@sentry/core": "8.55.0",
"hoist-non-react-statics": "^3.3.2" "hoist-non-react-statics": "^3.3.2"
}, },
"engines": { "engines": {
@@ -3074,18 +3078,18 @@
} }
}, },
"node_modules/@sentry/react-native": { "node_modules/@sentry/react-native": {
"version": "6.14.0", "version": "6.22.0",
"resolved": "https://registry.npmjs.org/@sentry/react-native/-/react-native-6.14.0.tgz", "resolved": "https://registry.npmjs.org/@sentry/react-native/-/react-native-6.22.0.tgz",
"integrity": "sha512-BBqixN6oV6tCNp1ABXfzvD531zxj1fUAH0HDPvOR/jX0h9f9pYfxCyI64B+DoQbVZKFsg8nte0QIHkZDhRAW9A==", "integrity": "sha512-Xt8ZuYa7YsMTG7hFU8awfNpVWijH6kWdyqykML6qVohBmP2OS57oSAd4fAdCmbtaIbHs8Drux+uPtb/SdOy2Vg==",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@sentry/babel-plugin-component-annotate": "3.4.0", "@sentry/babel-plugin-component-annotate": "4.2.0",
"@sentry/browser": "8.54.0", "@sentry/browser": "8.55.0",
"@sentry/cli": "2.45.0", "@sentry/cli": "2.53.0",
"@sentry/core": "8.54.0", "@sentry/core": "8.55.0",
"@sentry/react": "8.54.0", "@sentry/react": "8.55.0",
"@sentry/types": "8.54.0", "@sentry/types": "8.55.0",
"@sentry/utils": "8.54.0" "@sentry/utils": "8.55.0"
}, },
"bin": { "bin": {
"sentry-expo-upload-sourcemaps": "scripts/expo-upload-sourcemaps.js" "sentry-expo-upload-sourcemaps": "scripts/expo-upload-sourcemaps.js"
@@ -3102,24 +3106,24 @@
} }
}, },
"node_modules/@sentry/types": { "node_modules/@sentry/types": {
"version": "8.54.0", "version": "8.55.0",
"resolved": "https://registry.npmjs.org/@sentry/types/-/types-8.54.0.tgz", "resolved": "https://registry.npmjs.org/@sentry/types/-/types-8.55.0.tgz",
"integrity": "sha512-wztdtr7dOXQKi0iRvKc8XJhJ7HaAfOv8lGu0yqFOFwBZucO/SHnu87GOPi8mvrTiy1bentQO5l+zXWAaMvG4uw==", "integrity": "sha512-6LRT0+r6NWQ+RtllrUW2yQfodST0cJnkOmdpHA75vONgBUhpKwiJ4H7AmgfoTET8w29pU6AnntaGOe0LJbOmog==",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@sentry/core": "8.54.0" "@sentry/core": "8.55.0"
}, },
"engines": { "engines": {
"node": ">=14.18" "node": ">=14.18"
} }
}, },
"node_modules/@sentry/utils": { "node_modules/@sentry/utils": {
"version": "8.54.0", "version": "8.55.0",
"resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-8.54.0.tgz", "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-8.55.0.tgz",
"integrity": "sha512-JL8UDjrsKxKclTdLXfuHfE7B3KbrAPEYP7tMyN/xiO2vsF6D84fjwYyalO0ZMtuFZE6vpSze8ZOLEh6hLnPYsw==", "integrity": "sha512-cYcl39+xcOivBpN9d8ZKbALl+DxZKo/8H0nueJZ0PO4JA+MJGhSm6oHakXxLPaiMoNLTX7yor8ndnQIuFg+vmQ==",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@sentry/core": "8.54.0" "@sentry/core": "8.55.0"
}, },
"engines": { "engines": {
"node": ">=14.18" "node": ">=14.18"

View File

@@ -15,7 +15,7 @@
"@expo/vector-icons": "^15.0.3", "@expo/vector-icons": "^15.0.3",
"@gorhom/bottom-sheet": "5.2.8", "@gorhom/bottom-sheet": "5.2.8",
"@react-navigation/native": "^7.0.14", "@react-navigation/native": "^7.0.14",
"@sentry/react-native": "~6.14.0", "@sentry/react-native": "~6.22.0",
"@tanstack/react-query": "^5.62.0", "@tanstack/react-query": "^5.62.0",
"expo": "^54.0.0", "expo": "^54.0.0",
"expo-clipboard": "8.0.8", "expo-clipboard": "8.0.8",