Skip to content

Migrate crash reporting to Devolutions Cloud and port to Avalonia #4581

Open
Gabriel Dufresne (GabrielDuf) wants to merge 7 commits intomainfrom
MigrateErrorReport
Open

Migrate crash reporting to Devolutions Cloud and port to Avalonia #4581
Gabriel Dufresne (GabrielDuf) wants to merge 7 commits intomainfrom
MigrateErrorReport

Conversation

@GabrielDuf
Copy link
Copy Markdown
Contributor

  • Replaces the old crash-report flow (opening a browser URL) with a POST to https://cloud.devolutions.net/api/senderrormessage, so reports land in a structured way without requiring the user to leave the app.
  • Adds CrashReportWindow (WinUI + Avalonia) — a modal dialog shown on the next normal launch after a crash, letting the user optionally attach their email and additional context before sending or dismissing.
  • Ports the full crash-handler pipeline to the Avalonia shell: CrashHandler (cross-platform, no user32.dll), AppDomain.CurrentDomain.UnhandledException hook in Program.Main, and the modal startup gate in App.axaml.cs.

How it works

  1. When the app crashes, CrashHandler.ReportFatalException writes the crash report to %TEMP% UniGetUI_pending_crash.txt and exits.
  2. On the next launch, StartupAsync detects the file, deletes it, and shows CrashReportWindow as a modal dialog over the main window — the rest of startup is blocked until the user sends or dismisses the report.
  3. Sending POSTs a JSON payload { email, message, errorMessage, productInfo } to the Devolutions endpoint; network failures are swallowed silently.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants