Skip to content

Commit b60e58f

Browse files
romtsnclaude
andcommitted
ref(issue-details): Remove InterimSection wrapper from tombstones banner
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>
1 parent 6d09b26 commit b60e58f

File tree

1 file changed

+67
-71
lines changed

1 file changed

+67
-71
lines changed

static/app/components/events/interfaces/crashContent/exception/androidNativeTombstonesBanner.tsx

Lines changed: 67 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,6 @@ import type {EntryException, Event} from 'sentry/types/event';
1212
import {EntryType} from 'sentry/types/event';
1313
import {trackAnalytics} from 'sentry/utils/analytics';
1414
import {useOrganization} from 'sentry/utils/useOrganization';
15-
import {SectionKey} from 'sentry/views/issueDetails/streamline/context';
16-
import {InterimSection} from 'sentry/views/issueDetails/streamline/interimSection';
1715

1816
const ANDROID_NATIVE_SDK_PREFIX = 'sentry.native.android';
1917
const TOMBSTONES_DOCS_URL =
@@ -76,78 +74,76 @@ export function AndroidNativeTombstonesBanner({event, projectId}: Props) {
7674
}
7775

7876
return (
79-
<InterimSection type={SectionKey.EXCEPTION} title={t('Improve Native Crash Reports')}>
80-
<BannerWrapper>
81-
<div>
82-
<BannerTitle>{t('Enable Tombstone Collection')}</BannerTitle>
83-
<BannerDescription>
84-
{t(
85-
'This native crash was captured via the Android NDK integration only. Enable Tombstone collection in your application to get richer crash reports with more context, including additional thread information, better stack traces and more.'
86-
)}
87-
</BannerDescription>
88-
<CodeBlock
89-
tabs={[
90-
{label: 'AndroidManifest.xml', value: 'manifest'},
91-
{label: 'Kotlin', value: 'kotlin'},
92-
{label: 'Java', value: 'java'},
93-
]}
94-
selectedTab={codeTab}
95-
onTabClick={setCodeTab}
96-
language={codeTab === 'manifest' ? 'xml' : codeTab}
97-
>
98-
{CODE_SNIPPETS[codeTab]}
99-
</CodeBlock>
100-
<LinkButton
101-
style={{marginTop: '12px'}}
102-
href={TOMBSTONES_DOCS_URL}
103-
external
104-
priority="primary"
105-
size="sm"
106-
analyticsEventName="Clicked Android Tombstones Onboarding CTA"
107-
analyticsEventKey="issue-details.android-tombstones-onboarding-cta-clicked"
108-
analyticsParams={{
109-
organization,
110-
sdk_name: event.sdk?.name ?? '',
111-
}}
112-
>
113-
{t('Learn More')}
114-
</LinkButton>
115-
</div>
116-
<CloseDropdownMenu
117-
position="bottom-end"
118-
triggerProps={{
119-
showChevron: false,
120-
priority: 'transparent',
121-
icon: <IconClose variant="muted" />,
77+
<BannerWrapper>
78+
<div>
79+
<BannerTitle>{t('Enable Tombstone Collection')}</BannerTitle>
80+
<BannerDescription>
81+
{t(
82+
'This native crash was captured via the Android NDK integration only. Enable Tombstone collection in your application to get richer crash reports with more context, including additional thread information, better stack traces and more.'
83+
)}
84+
</BannerDescription>
85+
<CodeBlock
86+
tabs={[
87+
{label: 'AndroidManifest.xml', value: 'manifest'},
88+
{label: 'Kotlin', value: 'kotlin'},
89+
{label: 'Java', value: 'java'},
90+
]}
91+
selectedTab={codeTab}
92+
onTabClick={setCodeTab}
93+
language={codeTab === 'manifest' ? 'xml' : codeTab}
94+
>
95+
{CODE_SNIPPETS[codeTab]}
96+
</CodeBlock>
97+
<LinkButton
98+
style={{marginTop: '12px'}}
99+
href={TOMBSTONES_DOCS_URL}
100+
external
101+
priority="primary"
102+
size="sm"
103+
analyticsEventName="Clicked Android Tombstones Onboarding CTA"
104+
analyticsEventKey="issue-details.android-tombstones-onboarding-cta-clicked"
105+
analyticsParams={{
106+
organization,
107+
sdk_name: event.sdk?.name ?? '',
122108
}}
123-
size="xs"
124-
items={[
125-
{
126-
key: 'dismiss',
127-
label: t('Dismiss'),
128-
onAction: () => {
129-
dismissPrompt();
130-
trackAnalytics('issue-details.android-tombstones-cta-dismiss', {
131-
organization,
132-
type: 'dismiss',
133-
});
134-
},
109+
>
110+
{t('Learn More')}
111+
</LinkButton>
112+
</div>
113+
<CloseDropdownMenu
114+
position="bottom-end"
115+
triggerProps={{
116+
showChevron: false,
117+
priority: 'transparent',
118+
icon: <IconClose variant="muted" />,
119+
}}
120+
size="xs"
121+
items={[
122+
{
123+
key: 'dismiss',
124+
label: t('Dismiss'),
125+
onAction: () => {
126+
dismissPrompt();
127+
trackAnalytics('issue-details.android-tombstones-cta-dismiss', {
128+
organization,
129+
type: 'dismiss',
130+
});
135131
},
136-
{
137-
key: 'snooze',
138-
label: t('Snooze'),
139-
onAction: () => {
140-
snoozePrompt();
141-
trackAnalytics('issue-details.android-tombstones-cta-dismiss', {
142-
organization,
143-
type: 'snooze',
144-
});
145-
},
132+
},
133+
{
134+
key: 'snooze',
135+
label: t('Snooze'),
136+
onAction: () => {
137+
snoozePrompt();
138+
trackAnalytics('issue-details.android-tombstones-cta-dismiss', {
139+
organization,
140+
type: 'snooze',
141+
});
146142
},
147-
]}
148-
/>
149-
</BannerWrapper>
150-
</InterimSection>
143+
},
144+
]}
145+
/>
146+
</BannerWrapper>
151147
);
152148
}
153149

0 commit comments

Comments
 (0)