|
@@ -274,6 +274,9 @@ export class DeprecatedLine extends Component<Props, State> {
|
|
|
const {isHoverPreviewed, debugFrames, data, isANR, threadId, lockAddress} =
|
|
|
this.props;
|
|
|
const organization = this.props.organization;
|
|
|
+ const stacktraceChangesEnabled = !!organization?.features.includes(
|
|
|
+ 'issue-details-stacktrace-improvements'
|
|
|
+ );
|
|
|
const anrCulprit =
|
|
|
isANR &&
|
|
|
analyzeFrameForRootCause(
|
|
@@ -284,8 +287,14 @@ export class DeprecatedLine extends Component<Props, State> {
|
|
|
|
|
|
return (
|
|
|
<StrictClick onClick={this.isExpandable() ? this.toggleContext : undefined}>
|
|
|
- <DefaultLine className="title" data-test-id="title">
|
|
|
- <DefaultLineTitleWrapper>
|
|
|
+ <DefaultLine
|
|
|
+ className="title"
|
|
|
+ data-test-id="title"
|
|
|
+ stacktraceChangesEnabled={stacktraceChangesEnabled}
|
|
|
+ >
|
|
|
+ <DefaultLineTitleWrapper
|
|
|
+ stacktraceChangesEnabled={stacktraceChangesEnabled && !data.inApp}
|
|
|
+ >
|
|
|
<LeftLineTitle>
|
|
|
<SourceMapWarning frame={data} debugFrames={debugFrames} />
|
|
|
<div>
|
|
@@ -306,7 +315,9 @@ export class DeprecatedLine extends Component<Props, State> {
|
|
|
</SuspectFrameTag>
|
|
|
) : null}
|
|
|
{!data.inApp ? (
|
|
|
- <InAppTag>{t('System')}</InAppTag>
|
|
|
+ stacktraceChangesEnabled ? null : (
|
|
|
+ <InAppTag>{t('System')}</InAppTag>
|
|
|
+ )
|
|
|
) : (
|
|
|
<InAppTag type="info">{t('In App')}</InAppTag>
|
|
|
)}
|
|
@@ -332,10 +343,18 @@ export class DeprecatedLine extends Component<Props, State> {
|
|
|
|
|
|
const leadHint = this.renderLeadHint();
|
|
|
const packageStatus = this.packageStatus();
|
|
|
+ const organization = this.props.organization;
|
|
|
+ const stacktraceChangesEnabled = !!organization?.features.includes(
|
|
|
+ 'issue-details-stacktrace-improvements'
|
|
|
+ );
|
|
|
|
|
|
return (
|
|
|
<StrictClick onClick={this.isExpandable() ? this.toggleContext : undefined}>
|
|
|
- <DefaultLine className="title as-table" data-test-id="title">
|
|
|
+ <DefaultLine
|
|
|
+ className="title as-table"
|
|
|
+ data-test-id="title"
|
|
|
+ stacktraceChangesEnabled={stacktraceChangesEnabled}
|
|
|
+ >
|
|
|
<NativeLineContent isFrameAfterLastNonApp={!!isFrameAfterLastNonApp}>
|
|
|
<PackageInfo>
|
|
|
{leadHint}
|
|
@@ -374,9 +393,16 @@ export class DeprecatedLine extends Component<Props, State> {
|
|
|
isHoverPreviewed={isHoverPreviewed}
|
|
|
/>
|
|
|
</NativeLineContent>
|
|
|
- {this.renderExpander()}
|
|
|
+ <DefaultLineTitleWrapper
|
|
|
+ stacktraceChangesEnabled={stacktraceChangesEnabled && !data.inApp}
|
|
|
+ >
|
|
|
+ {this.renderExpander()}
|
|
|
+ </DefaultLineTitleWrapper>
|
|
|
+
|
|
|
{!data.inApp ? (
|
|
|
- <InAppTag>{t('System')}</InAppTag>
|
|
|
+ stacktraceChangesEnabled ? null : (
|
|
|
+ <InAppTag>{t('System')}</InAppTag>
|
|
|
+ )
|
|
|
) : (
|
|
|
<InAppTag type="info">{t('In App')}</InAppTag>
|
|
|
)}
|
|
@@ -453,10 +479,12 @@ const RepeatedFrames = styled('div')`
|
|
|
display: inline-block;
|
|
|
`;
|
|
|
|
|
|
-const DefaultLineTitleWrapper = styled('div')`
|
|
|
+const DefaultLineTitleWrapper = styled('div')<{stacktraceChangesEnabled: boolean}>`
|
|
|
display: flex;
|
|
|
align-items: center;
|
|
|
justify-content: space-between;
|
|
|
+ color: ${p => (p.stacktraceChangesEnabled ? p.theme.subText : '')};
|
|
|
+ font-style: ${p => (p.stacktraceChangesEnabled ? 'italic' : '')};
|
|
|
`;
|
|
|
|
|
|
const LeftLineTitle = styled('div')`
|
|
@@ -492,9 +520,12 @@ const NativeLineContent = styled('div')<{isFrameAfterLastNonApp: boolean}>`
|
|
|
}
|
|
|
`;
|
|
|
|
|
|
-const DefaultLine = styled('div')`
|
|
|
+const DefaultLine = styled('div')<{stacktraceChangesEnabled: boolean}>`
|
|
|
display: grid;
|
|
|
- grid-template-columns: 1fr auto ${space(2)}; /* sm icon size */
|
|
|
+ grid-template-columns: ${p =>
|
|
|
+ p.stacktraceChangesEnabled
|
|
|
+ ? `1fr auto auto`
|
|
|
+ : `1fr auto ${space(2)}`}; /* sm icon size */
|
|
|
align-items: center;
|
|
|
`;
|
|
|
|