Skip to content

Commit d3fd09d

Browse files
committed
Merge remote-tracking branch 'origin/main' into antonislilis/rn-691-emit-appvitalsstartscreen-on-the-standalone-app-start
# Conflicts: # CHANGELOG.md # packages/core/src/js/tracing/integrations/appStart.ts # packages/core/src/js/tracing/semanticAttributes.ts # packages/core/test/tracing/integrations/appStart.test.ts
2 parents ca74eb8 + 40c9884 commit d3fd09d

14 files changed

Lines changed: 553 additions & 637 deletions

File tree

.github/pull_request_template.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,12 @@
2020

2121
## :pencil: Checklist
2222
<!--- Put an `x` in the boxes that apply -->
23-
- [ ] I added tests to verify changes
24-
- [ ] No new PII added or SDK only sends newly added PII if `sendDefaultPII` is enabled
23+
- [ ] I added tests to verify changes.
24+
- [ ] No new PII added or SDK only sends newly added PII if `sendDefaultPII` is enabled.
2525
- [ ] I updated the docs if needed.
2626
- [ ] I updated the wizard if needed.
27-
- [ ] All tests passing
28-
- [ ] No breaking changes
27+
- [ ] All tests passing.
28+
- [ ] Public API changes reviewed by another Mobile SDK team member or implemented according to the [develop docs](https://develop.sentry.dev/) spec.
29+
- [ ] No breaking changes.
2930

3031
## :crystal_ball: Next steps

.github/workflows/sample-application-expo.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -182,7 +182,7 @@ jobs:
182182
- name: Build Android App
183183
working-directory: samples/expo/android
184184
env:
185-
# Increase memory for Expo SDK 55 lint tasks
185+
# Increase memory for Expo SDK 57 lint tasks
186186
GRADLE_OPTS: "-Dorg.gradle.jvmargs=-Xmx4g -XX:MaxMetaspaceSize=1g"
187187
run: |
188188
[[ "${{ matrix.build-type }}" == "production" ]] && CONFIG='Release' || CONFIG='Debug'

CHANGELOG.md

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,12 +40,15 @@
4040
- Bump Android SDK from v8.45.0 to v8.46.0 ([#6357](https://github.com/getsentry/sentry-react-native/pull/6357))
4141
- [changelog](https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#8460)
4242
- [diff](https://github.com/getsentry/sentry-java/compare/8.45.0...8.46.0)
43-
- Bump JavaScript SDK from v10.61.0 to v10.62.0 ([#6361](https://github.com/getsentry/sentry-react-native/pull/6361))
44-
- [changelog](https://github.com/getsentry/sentry-javascript/blob/develop/CHANGELOG.md#10620)
45-
- [diff](https://github.com/getsentry/sentry-javascript/compare/10.61.0...10.62.0)
43+
- Bump JavaScript SDK from v10.61.0 to v10.63.0 ([#6361](https://github.com/getsentry/sentry-react-native/pull/6361), [#6388](https://github.com/getsentry/sentry-react-native/pull/6388))
44+
- [changelog](https://github.com/getsentry/sentry-javascript/blob/develop/CHANGELOG.md#10630)
45+
- [diff](https://github.com/getsentry/sentry-javascript/compare/10.61.0...10.63.0)
4646
- Bump CLI from v3.5.1 to v3.6.0 ([#6362](https://github.com/getsentry/sentry-react-native/pull/6362))
4747
- [changelog](https://github.com/getsentry/sentry-cli/blob/master/CHANGELOG.md#360)
4848
- [diff](https://github.com/getsentry/sentry-cli/compare/3.5.1...3.6.0)
49+
- Bump Cocoa SDK from v9.19.0 to v9.19.1 ([#6389](https://github.com/getsentry/sentry-react-native/pull/6389))
50+
- [changelog](https://github.com/getsentry/sentry-cocoa/blob/main/CHANGELOG.md#9191)
51+
- [diff](https://github.com/getsentry/sentry-cocoa/compare/9.19.0...9.19.1)
4952

5053
## 8.16.0
5154

dev-packages/e2e-tests/cli.mjs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -185,6 +185,14 @@ if (actions.includes('create')) {
185185
env: env,
186186
});
187187

188+
// Replace the dead OSSRH snapshots repo hardcoded by older RN Gradle plugins
189+
// (oss.sonatype.org is EOL and intermittently 504s, breaking dependency resolution).
190+
execSync(`${patchScriptsDir}/rn.patch.gradle.plugin.repo.js --app-dir .`, {
191+
stdio: 'inherit',
192+
cwd: appDir,
193+
env: env,
194+
});
195+
188196
// Patch the app
189197
execSync(`patch --verbose --strip=0 --force --ignore-whitespace --fuzz 4 < ${patchScriptsDir}/rn.patch`, {
190198
stdio: 'inherit',

dev-packages/e2e-tests/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
"devDependencies": {
1414
"@babel/preset-env": "^7.25.3",
1515
"@babel/preset-typescript": "^7.18.6",
16-
"@sentry/core": "10.62.0",
16+
"@sentry/core": "10.63.0",
1717
"@sentry/react-native": "8.16.0",
1818
"@types/node": "^20.9.3",
1919
"@types/react": "^19.1.4",
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
#!/usr/bin/env node
2+
3+
const fs = require('fs');
4+
const path = require('path');
5+
const { argv } = require('process');
6+
7+
const parseArgs = require('minimist');
8+
const { debug } = require('@sentry/core');
9+
debug.enable();
10+
11+
const args = parseArgs(argv.slice(2));
12+
if (!args['app-dir']) {
13+
throw new Error('Missing --app-dir');
14+
}
15+
16+
// Sonatype's legacy OSSRH host (oss.sonatype.org) reached end-of-life on
17+
// 2025-06-30 and is now unreliable — it intermittently answers with a
18+
// `504 Gateway Time-out` instead of a clean `404`. The React Native Gradle
19+
// plugin bundled with older RN versions (e.g. 0.71) hardcodes this host as a
20+
// snapshots repository and injects it into every project's repository list.
21+
// Gradle treats a 5xx from any declared repo as fatal (unlike a 404, which it
22+
// skips), so a single 504 breaks resolution of ANY dependency (react-android,
23+
// AGP lint, ...) even though those artifacts live on Maven Central / google().
24+
//
25+
// We pin a stable RN release, so the snapshots repo is only ever used for
26+
// nightly (0.0.0-*) builds and serves no purpose here — remove it entirely so
27+
// nothing in the resolution path depends on a Sonatype snapshots host.
28+
const SNAPSHOT_REPO_LINE = /^[^\n]*mavenRepoFromUrl\("https:\/\/oss\.sonatype\.org\/content\/repositories\/snapshots\/"\)[^\n]*\n/m;
29+
30+
const dependencyUtilsPath = path.join(
31+
args['app-dir'],
32+
'node_modules',
33+
'react-native-gradle-plugin',
34+
'src',
35+
'main',
36+
'kotlin',
37+
'com',
38+
'facebook',
39+
'react',
40+
'utils',
41+
'DependencyUtils.kt'
42+
);
43+
44+
debug.log('Removing dead OSSRH snapshots repo from React Native Gradle plugin', dependencyUtilsPath);
45+
46+
if (!fs.existsSync(dependencyUtilsPath)) {
47+
debug.log('DependencyUtils.kt not found, skipping patch (plugin likely already uses a live repo)');
48+
} else {
49+
const source = fs.readFileSync(dependencyUtilsPath, 'utf8');
50+
51+
if (!SNAPSHOT_REPO_LINE.test(source)) {
52+
debug.log('DependencyUtils.kt does not reference the dead OSSRH host, nothing to patch');
53+
} else {
54+
const patched = source.replace(SNAPSHOT_REPO_LINE, '');
55+
fs.writeFileSync(dependencyUtilsPath, patched);
56+
debug.log('Removed dead OSSRH snapshots repo successfully!');
57+
}
58+
}

packages/core/RNSentry.podspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ Pod::Spec.new do |s|
5454
'DEFINES_MODULE' => 'YES'
5555
}
5656

57-
sentry_cocoa_version = '9.19.0'
57+
sentry_cocoa_version = '9.19.1'
5858

5959
# Opt-in to consuming sentry-cocoa via Swift Package Manager.
6060
# When `SENTRY_USE_SPM=1` is set, RNSentry pulls `Sentry` from the

packages/core/etc/sentry-react-native.api.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -215,7 +215,9 @@ export const debugSymbolicatorIntegration: () => Integration;
215215
export { dedupeIntegration }
216216

217217
// @public
218-
export const deeplinkIntegration: (...args: any[]) => Integration;
218+
export const deeplinkIntegration: (...args: any[]) => Integration & {
219+
name: string;
220+
};
219221

220222
// @public
221223
export const deviceContextIntegration: () => Integration;

packages/core/package.json

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -74,11 +74,11 @@
7474
},
7575
"dependencies": {
7676
"@sentry/babel-plugin-component-annotate": "5.3.0",
77-
"@sentry/browser": "10.62.0",
77+
"@sentry/browser": "10.63.0",
7878
"@sentry/cli": "3.6.0",
79-
"@sentry/core": "10.62.0",
79+
"@sentry/core": "10.63.0",
8080
"@sentry/expo-upload-sourcemaps": "workspace:*",
81-
"@sentry/react": "10.62.0"
81+
"@sentry/react": "10.63.0"
8282
},
8383
"devDependencies": {
8484
"@babel/core": "^7.26.7",
@@ -87,8 +87,8 @@
8787
"@mswjs/interceptors": "^0.25.15",
8888
"@react-native/babel-preset": "0.86.0",
8989
"@react-native/jest-preset": "0.86.0",
90-
"@sentry/eslint-plugin-sdk": "10.62.0",
91-
"@sentry/typescript": "10.62.0",
90+
"@sentry/eslint-plugin-sdk": "10.63.0",
91+
"@sentry/typescript": "10.63.0",
9292
"@sentry/wizard": "6.12.0",
9393
"@testing-library/react-native": "^13.2.2",
9494
"@types/jest": "^29.5.13",

samples/expo/components/ExternalLink.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,8 @@ export function ExternalLink(props: Omit<React.ComponentProps<typeof Link>, 'hre
88
<Link
99
target="_blank"
1010
{...props}
11-
href={props.href}
11+
// expo-router 57 tightened `href` to typed routes; this wrapper is for arbitrary external URLs.
12+
href={props.href as React.ComponentProps<typeof Link>['href']}
1213
onPress={e => {
1314
if (Platform.OS !== 'web') {
1415
// Prevent the default behavior of linking to the default browser on native.

0 commit comments

Comments
 (0)