Skip to content

feat(symbolication): add the Symbolication Errors project settings page - #127755

Open
shellmayr wants to merge 16 commits into
masterfrom
shellmayr/feat/symbolication-errors-page
Open

shellmayr wants to merge 16 commits into
masterfrom
shellmayr/feat/symbolication-errors-page

Conversation

@shellmayr

@shellmayr shellmayr commented Oct 16, 2026 •

Copy link
Copy Markdown
Member
  • Adds Project Settings > Processing > Symbolication Errors, behind organizations:symbolication-errors-page. Without the flag the nav entry is hidden and the URL renders the 404 page.
  • Reads the processing_errors dataset for the last 30 days with a one day interval and shows a stacked chart of failures per cause.
  • Lists one row per issue and cause: project, issue title and short id, cause with description and a fix link, issue event volume, and failures with a trend in the chart's colour.
  • The fix link goes to the Debug Files, Source Maps or ProGuard page, to the source fetching setting, or to the docs, depending on the failure.

Overview
image

Slide-out after clicking "How to fix"
image

Closes TEL-82

@github-actions github-actions Bot added the Scope: Frontend Automatically applied to PRs that change frontend components label Oct 16, 2026
@github-actions

github-actions Bot commented Oct 16, 2026 •

Copy link
Copy Markdown
Contributor

📊 Type Coverage Diff

Metric Before After Delta
Coverage 96.01% 96.02% 🟢 +0.01%
Typed 141,875 142,103 🟢 +228
Untyped 5,894 5,896 🔴 +2
🔍 2 new type safety issues introduced

Non-null assertions (!) (1 new)

File Line Detail
static/app/views/settings/projectSymbolicationErrors/index.tsx 95 palette[index]!

Type assertions (as) (1 new)

File Line Detail
static/app/views/settings/projectSymbolicationErrors/index.tsx 81 as Array<[string, EventsStats]> — [[t('Events'), stats]] as Array<[string, EventsStats]>

This is informational only and does not block the PR.

@getsantry

getsantry Bot commented Nov 7, 2026

Copy link
Copy Markdown
Contributor

This issue 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 remove the label Waiting for: Community, I will leave it alone ... forever!


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

@getsantry getsantry Bot added the Stale label Nov 7, 2026
…olication-errors-page

# Conflicts:
#	static/app/router/routes.tsx
#	static/app/views/settings/project/navigationConfiguration.tsx
…rs page

Add a second chart with the daily share of events without a symbolication failure. Stack the other events of the project in grey on the cause chart, and draw each row trend over the total events of its issue, like the issue stream sparkline.

Follow the settings page conventions: apiOptions factories with skipToken, nuqs for the cursor, a Feature gate, the shared Widget frame, and fixtures in the spec.
@github-actions

github-actions Bot commented Nov 10, 2026 •

Copy link
Copy Markdown
Contributor

No findings on the latest commit.

The cause chart already shows the events without a failure as grey bars, so the separate rate chart repeats it. The cause chart takes the full width again.
Each row opens a drawer with the affected releases, a link to an event with the failure, and numbered steps for its cause group with sentry-cli commands. Causes that the user cannot fix say so.

Show the failures next to the issue total in one column, and drop the separate total column.
The drawer of a symbolication failure now has a button that copies a prompt for a coding agent. The prompt holds the cause, the affected releases, a sample event and the fix steps, and it tells the agent to add the upload to the build and to read the token from SENTRY_AUTH_TOKEN.
knip failed in CI because three symbols were exported and only used inside the file.
@shellmayr
shellmayr requested review from a team November 12, 2026 08:33
…ation

Sort the chart query by failure count, so the chart shows the top causes. Show ten causes in hues that alternate, and put the rest in an Other Causes series. Each row trend now has a colour from the chart legend.

Drop the project, cause and action columns on a narrow table, and the trend on a phone. Wrap the buttons of the fix drawer.

Pass previous and next to Pagination, which no longer takes pageLinks.

Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
Remove the custom colour order of the cause chart. The chart and the row trends now take the colours of the theme palette as it gives them.

Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
shellmayr and others added 5 commits November 12, 2026 11:00
Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
The agent prompt now tells the agent to create an organization auth token with the Sentry CLI or the Sentry MCP server when the secret does not exist. Before, it told the agent to stop and ask the user.

Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
The agent prompt now tells the agent to say what the token does and why the upload needs it.

Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
The drawer renders in the global drawer, outside the error boundary of the route. A render error in the fix steps now stays in the drawer.

Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
@shellmayr
shellmayr marked this pull request as ready for review November 12, 2026 10:20
@shellmayr
shellmayr requested a review from a team as a code owner November 12, 2026 10:20
@linear-code

linear-code Bot commented Nov 12, 2026

Copy link
Copy Markdown

TEL-82

@cursor cursor Bot left a comment

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.

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.

Want fixes drafted automatically? Bugbot Autofix can create code changes for findings. A team admin can enable Autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 5b9618a. Configure here.

stack: 'all',
}),
];
}

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.

Other Events stack is miscalculated

Medium Severity

toCausePlottables builds Other Events by subtracting the sum of per-cause count_unique(event_id) values from the errors dataset count(). An event that failed for more than one cause is counted once per cause, so the remainder can drop to zero (the Math.max(0, …) clamp) even when many events symbolicated fine. The stacked chart then reads as if every event failed.

Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 5b9618a. Configure here.

This branch was successfully deployed

1 active deployment
Preview — 5b9618a8 Deployed Nov 12, 2026 by vercel[bot]
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.

1 participant