Skip to content

feat(issue-details): Add android native tombstones onboarding banner#112478

Merged
romtsn merged 7 commits intomasterfrom
romtsn/feat/android-tombstones-onboarding-banner
Apr 14, 2026
Merged

feat(issue-details): Add android native tombstones onboarding banner#112478
romtsn merged 7 commits intomasterfrom
romtsn/feat/android-tombstones-onboarding-banner

Conversation

@romtsn
Copy link
Copy Markdown
Member

@romtsn romtsn commented Apr 8, 2026

Show an onboarding banner on the issue details page when a native crash was
captured via the Android NDK integration with only a signalhandler mechanism.
The banner encourages users to enable tombstone collection for richer crash
reports.

Includes:

  • Tabbed code snippets (AndroidManifest.xml, Kotlin, Java) inline in the banner
  • Dismiss/snooze support via the prompts-activity API (scoped per project)
  • Suppressed on sample/demo events
  • Analytics for CTA click and dismiss/snooze

Depends on #112477 (backend prompt registration) — land that first.

image

@github-actions github-actions bot added the Scope: Frontend Automatically applied to PRs that change frontend components label Apr 8, 2026
@romtsn romtsn marked this pull request as ready for review April 8, 2026 16:35
@romtsn romtsn requested review from a team as code owners April 8, 2026 16:35
Copy link
Copy Markdown
Contributor

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 900c188. Configure here.

Copy link
Copy Markdown
Member

@malwilley malwilley left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code looks good, but product-wise:

Is there any way to make this banner have a smaller footprint? For some history, during the issue details redesign there were many of such banners which made the page look very intimidating for new users. So they were all removed. We really want to avoid adding content like this (especially above the stack trace) if possible. So if there is any way to notify users about this without such a large banner that would be preferable!

@romtsn
Copy link
Copy Markdown
Member Author

romtsn commented Apr 10, 2026

@malwilley do you have any suggestions? I think for new users it's not a concern, since we include this flag into the default config anyway.

Also, this banner would be there for a few months until we flip this flag to true in the next major version of the SDK, so it's not gonna stay there forever. Maybe we even drop it earlier after we see enough adoption for the feature.

romtsn and others added 7 commits April 14, 2026 10:35
Show an onboarding banner on the issue details page when a native crash
was captured via the Android NDK integration with only a signalhandler
mechanism. The banner includes tabbed code snippets (AndroidManifest.xml,
Kotlin, Java) showing how to enable tombstone collection, with dismiss
and snooze support via the prompts-activity API.

Depends on #112477

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Render the banner card directly without a collapsible section wrapper,
matching the desired UI.

Also restores the isError bail-out that was temporarily removed for
local testing with dev-ui.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add explicit ExceptionValue type annotation for the mechanism check
callback parameter, and add fallback for CodeBlock children to satisfy
the string type constraint. Restore isError bail-out.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Use exact SDK name match instead of startsWith to exclude React
  Native and Flutter SDKs which share the prefix
- Replace styled BannerTitle/BannerDescription with Heading and Text
  core components per frontend guidelines

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…anner

Show SDK-specific code snippets based on the event's sdk.name:
- sentry.native.android → AndroidManifest.xml, Kotlin, Java
- sentry.native.android.react-native → JavaScript
- sentry.native.android.flutter → Dart

Each snippet includes the minimum SDK version required as a comment.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The color was copied from replay panel which has a dark background.
This banner uses a light background and the icon already uses
variant="muted", so the white color rule was unused.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@romtsn romtsn force-pushed the romtsn/feat/android-tombstones-onboarding-banner branch from cea662b to 1b577c1 Compare April 14, 2026 08:35
@romtsn
Copy link
Copy Markdown
Member Author

romtsn commented Apr 14, 2026

as discussed with @malwilley internally, we're gonna ship this and drop the banner after a new SDK major or after a while when we see enough adoption of the feature.

@romtsn romtsn merged commit 50f0b20 into master Apr 14, 2026
65 checks passed
@romtsn romtsn deleted the romtsn/feat/android-tombstones-onboarding-banner branch April 14, 2026 08:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Scope: Frontend Automatically applied to PRs that change frontend components

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants