Skip to content

ref(traces): Use new stack trace component in transaction drawer#113989

Open
scttcper wants to merge 2 commits into
masterfrom
scttcper/trace-drawer-new-stacktrace
Open

ref(traces): Use new stack trace component in transaction drawer#113989
scttcper wants to merge 2 commits into
masterfrom
scttcper/trace-drawer-new-stacktrace

Conversation

@scttcper
Copy link
Copy Markdown
Member

@scttcper scttcper commented Apr 24, 2026

Swap the legacy Exception and StackTrace interface components for IssueStackTrace in the trace drawer's

wasn't really able to find a live version of these components, but i assume its working

Swap the legacy `Exception` and `StackTrace` interface components for
`IssueStackTrace` in the trace drawer's transaction entries renderer.
Matches what `sharedEventContent` already does and what
`groupEventDetailsContent` does behind the `issue-details-new-stack-trace`
flag.

Threads stay on the legacy component since `IssueStackTrace` bails when
the event has a threads entry. In practice transaction events almost
never carry exception/stacktrace/threads anyway, but the path exists.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@github-actions github-actions Bot added the Scope: Frontend Automatically applied to PRs that change frontend components label Apr 24, 2026
@scttcper scttcper marked this pull request as ready for review April 24, 2026 21:45
@scttcper scttcper requested a review from a team as a code owner April 24, 2026 21:45
@getsantry
Copy link
Copy Markdown
Contributor

getsantry Bot commented May 16, 2026

This pull request has gone three weeks without activity. In another week, I will close it.

But! If you comment or otherwise update it, I will reset the clock, and if you add the label WIP, I will leave it alone unless WIP is removed ... forever!


"A weed is but an unloved flower." ― Ella Wheeler Wilcox 🥀

@getsantry getsantry Bot added the Stale label May 16, 2026
Comment on lines 29 to 36
return (
<Exception
<IssueStackTrace
event={event}
group={undefined}
data={entry.data}
values={entry.data.values ?? []}
projectSlug={projectSlug}
groupingCurrentLevel={undefined}
/>
);

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Bug: The IssueStackTrace component returns null if an event contains a THREADS entry, causing EXCEPTION or STACKTRACE entries to not be rendered when both are present.
Severity: MEDIUM

Suggested Fix

Modify the IssueStackTrace component to not return null when a THREADS entry is present in the event. The component should render the stack trace or exception regardless of other entry types, as they are handled by different components. Alternatively, filter the entries passed to IssueStackTrace to only include the relevant ones.

Prompt for AI Agent
Review the code at the location below. A potential bug has been identified by an AI
agent. Verify if this is a real issue. If it is, propose a fix; if not, explain why it's
not valid.

Location:
static/app/views/performance/newTraceDetails/traceDrawer/details/transaction/sections/entries.tsx#L29-L36

Potential issue: The `IssueStackTrace` component, used in the new implementation to
render `EXCEPTION` and `STACKTRACE` entries, explicitly returns `null` if the event also
contains an entry of type `THREADS`. This check (`event.entries?.some(entry =>
entry.type === EntryType.THREADS)`) means that if a transaction event has both a
`THREADS` entry and an `EXCEPTION` or `STACKTRACE` entry, the exception/stack trace data
will be silently dropped from the UI. The `THREADS` entry is handled by a different
component, but the exception data disappears, which is a regression from previous
behavior.

Did we get this right? 👍 / 👎 to inform future reviews.

@github-actions
Copy link
Copy Markdown
Contributor

📊 Type Coverage Diff

✅ No new type safety issues introduced. Coverage: 93.56%

@getsantry getsantry Bot removed the Stale label May 20, 2026
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