Skip to content

docs: Add changelog entry for disableAutoUpload

e359bd2
Select commit
Loading
Failed to load commit list.
Open

feat(core): Add disableAutoUpload option to Expo plugin #6195

docs: Add changelog entry for disableAutoUpload
e359bd2
Select commit
Loading
Failed to load commit list.
@sentry/warden / warden completed May 21, 2026 in 11m 31s

3 issues

Medium

Toggling `disableAutoUpload` back to `false` leaves stale `shouldSentryAutoUploadGeneral` override in build.gradle - `packages/core/plugin/src/withSentryAndroid.ts:45-51`

When disableAutoUpload is changed from true back to false and prebuild is re-run, the existing shouldSentryAutoUploadGeneral = { -> return false } override is never removed, so auto-upload stays silently disabled. Consider adding a removal branch when disableAutoUpload is false but the override is already present.

Also found at:

  • packages/core/plugin/src/withSentryIOS.ts:72-75
  • packages/core/test/expo-plugin/modifyAppBuildGradle.test.ts:60-63
`disableAutoUpload: false` does not remove the Gradle override added by a prior `true` run - `packages/core/plugin/src/withSentry.ts:21`

In withSentryAndroid.ts, modifyAppBuildGradle only adds project.ext.shouldSentryAutoUploadGeneral = { -> return false } and never removes it. If a developer sets disableAutoUpload: true, runs expo prebuild, then removes the flag (or sets it to false) and reruns prebuild, the override stays in android/app/build.gradle and source map / debug symbol uploads remain silently disabled. The same shape of bug also exists on iOS (SENTRY_DISABLE_AUTO_UPLOAD=true injected into existing build phases is never removed when the flag flips back to false), so the fix should be symmetric.

Also found at:

  • packages/core/plugin/src/withSentryAndroid.ts:43-52
  • packages/core/test/expo-plugin/modifyAppBuildGradle.test.ts:66-69
  • packages/core/plugin/src/withSentry.ts:71
  • packages/core/plugin/src/withSentry.ts:88
  • packages/core/test/expo-plugin/modifyXcodeProject.test.ts:128-133

Low

Misleading `warnOnce` emitted even after successfully injecting disable flag - `packages/core/test/expo-plugin/modifyXcodeProject.test.ts:118`

When sentry-xcode.sh is already present and disableAutoUpload: true is set (the re-prebuild path tested at line 118), modifyExistingXcodeBuildScript calls addDisableAutoUploadToExistingScript correctly but then unconditionally calls warnOnce('The latest sentry-xcode.sh script already exists…'), which may confuse users into thinking nothing happened; the test at line 118 doesn't assert whether warnOnce was or wasn't called.

4 skills analyzed
Skill Findings Duration Cost
security-review 0 25.9s $0.14
code-review 2 4m 13s $1.42
find-bugs 1 10m 6s $2.82
gha-security-review 0 1m 43s $0.06

⏱ 16m 28s · 1.1M in / 118.7k out · $4.45