feat(android): expose tombstone options via SentryOptions.Native #5226
2 issues
High
ReportHistoricalTombstones is mapped to the unrelated Java ReportHistoricalAnrs option - `src/Sentry/Platforms/Android/SentrySdk.cs:160`
The new .NET option ReportHistoricalTombstones is mapped to the Java SDK property ReportHistoricalAnrs. Historical ANRs and historical tombstones are distinct concepts in the Android SDK (ANRs are past Application-Not-Responding events; tombstones are native crash records from ApplicationExitInfo). Users who set ReportHistoricalTombstones=false to suppress historical tombstone reporting will instead toggle historical ANR reporting, and historical tombstone behavior will remain at the Java SDK default. This is a silent behavioral mismatch with confusing semantics that will be hard to discover.
ReportHistoricalTombstones is incorrectly mapped to ReportHistoricalAnrs - `src/Sentry/Platforms/Android/SentrySdk.cs:160`
The new managed option options.Native.ReportHistoricalTombstones is assigned to the Java SDK's o.ReportHistoricalAnrs field. ANRs (Application Not Responding) and tombstones are distinct Android crash-reporting concepts in the Sentry Java SDK. As a result, toggling ReportHistoricalTombstones will silently change historical ANR reporting behavior instead of (or in addition to) historical tombstone behavior, and any actual historical-tombstone Java option remains unconfigured. This also conflicts with the documentation on NativeOptions.ReportHistoricalTombstones which states it controls historical tombstones.
4 skills analyzed
| Skill | Findings | Duration | Cost |
|---|---|---|---|
| security-review | 0 | 11.9s | $0.30 |
| code-review | 1 | 53.4s | $1.58 |
| find-bugs | 1 | 55.1s | $0.88 |
| gha-security-review | 0 | 20.8s | $0.15 |
⏱ 2m 21s · 700.2k in / 5.6k out · $2.91 (+verification: $1.58, +dedup: $0.00)