Repository navigation
Releases: hazeliscoding/oopsling
Releases · hazeliscoding/oopsling
Release list
Oopsling 1.1.0
Crash reports for users without a GitHub account, and a window in your app's language.
Try it
dotnet add package Oopsling.Avalonia --version 1.1.0- Call
CrashReports.Start("My App", "owner/my-app", contact: "crashes@my-app.example")first thing inMain. - Crash your app and start it again: the contact is under the window's buttons.
What's in it
- A contact: an email address or an
https://link. Clicking it copies the report, then opens a mail draft with the report's title as its subject, or the page. - Your app's language:
CrashReportStringsholds every string the window shows, and the note at the top of a long report's issue. Each one you leave out stays English. - Same as 1.0 without them:
Start(appName, repo)and the English text are unchanged, and each pack is now checked against 1.0.0's API.
Heads-up
- Write each string as a whole sentence with your app's name in it. Oopsling fills nothing in, and the contact link follows the contact sentence.
Startthrows for a contact that isn't a plain ASCII email address or anhttps://link.- The draft opens empty, since a
mailto:link can't carry a long report. The report is on the clipboard to paste in.
Oopsling 1.0.0
Crash reports for .NET apps that send nothing: after a crash, the user files the report as a GitHub issue from their own browser.
Try it
dotnet add package Oopsling.Avalonia- Call
CrashReports.Start("My App", "owner/my-app")first thing inMain. - Call
CrashReportWindow.ShowUnshown(desktop.MainWindow)where you create your main window, then crash your app and start it again.
What's in it
- Masked before it's written: home folders, user, machine and domain names, and tokens, in every path shape found so far, including JSON-escaped and percent-encoded ones.
- Shown once: at the next launch, a window shows the report with Report on GitHub, Copy and Dismiss.
- Filled-in issues: Report on GitHub opens your repo's new-issue page with the report in it. A report too long for a link goes on the clipboard whole.
- Safe in a dying process: the handler never marks a crash handled, never changes how the app exits, and masks a huge message in linear time.
- Tray apps:
ShowUnshown()with no owner shows the report on its own. - NativeAOT and trim safe on Windows, macOS and Linux, with no network code at all.
Heads-up
- Needs .NET 10 and Avalonia 12.
- If your repo has issue templates, keep blank issues enabled, or some users may get the template picker instead of the filled-in issue.
- Stack overflows,
Environment.FailFastand native crashes end the process before any handler runs, so they leave no report. - NativeAOT stacks show offsets instead of line numbers.