Skip to content

Sentry reporting - #2382

Open
vatral wants to merge 29 commits into
overte-org:masterfrom
vatral:sentry-reporting
Open

Sentry reporting#2382
vatral wants to merge 29 commits into
overte-org:masterfrom
vatral:sentry-reporting

Conversation

@vatral

@vatral vatral commented Aug 8, 2026

Copy link
Copy Markdown
Contributor

Based on Julian's PR.

This was an extensive refactor that removed most of the old code, as well as support for Breakpad and Crashpad. Those can come back if they're wanted, but were removed because I saw that Sentry's capabilities needed a bit of accommodation, and we're probably sticking with Sentry anyway.

The crash handler is opt-in. On crash you'll get the "reset settings?" screen, with the crash handler settings right there. They're also in the Developer/Network menu.

Functionality:

  • Reporting of crashes to our Sentry server
  • Optional realtime streaming of the log file
  • Optional realtime streaming of stats (nothing yet, but all the scaffolding is in place)
  • Support tag: a 3 random word tag that can be used to uniquely identify a crash on Sentry. This is there to make it easier to work with anonymous users. Tag is randomly generated on every start.
  • Scripting API, CrashHandler object. Read-only.
  • Crash reports get various useful metadata attached, like hardware info.

Removed functionality:

  • Code dealing with exceptions was removed during the refactoring. There might be a better way to re-implement it.

TODO:

  • Sentry allows attaching screenshots, this could be used to eg, report renderer bugs.
  • Stats submission. I was thinking of using it to collect MTUs to help us figure out what people actually have, and maybe framerates and network error rates.

I'm going on a long trip starting tomorrow, so time to do further work on this will likely be scarce. If something is not right, help would be very welcome.

JulianGro and others added 24 commits August 3, 2026 12:15
Works, but still needs settings, more data, a bit of refactoring, etc
This is the start of a plan to refactor the API to better fit the features Sentry Native
exposes. If we want to bring back Crashpad and Breakpad later, they should be adapted
to the new API.

It appears that we can also do cleaner exception handling based on the API docs, so
that's removed here as well.
Add log streaming and stats submission
Generates a random but easily pronounceable tag that can be used
to pass to a developer, to let them easily locate a matching report
in the Sentry (or similar) database.
Avoid discarding reports
Since the current version of Sentry Native is too old, contexts have to
be manually merged. This could be removed after an upgrade
Make it correctly persist. There was a bit of a snag between the menu system
and the crash specific setting. Make it all use the same setting keys.
We've discussed redoing the menu system, so this is probably
better addressed at that point in time or at least as a
separate PR.
JulianGro added a commit to JulianGro/overte that referenced this pull request Aug 10, 2026
@vatral
vatral marked this pull request as ready for review August 10, 2026 19:41
@vatral
vatral requested a review from JulianGro as a code owner August 10, 2026 19:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants