WIP: feat(launcher): problems in plain words, and crashes found at the next start #48
No reviewers
Labels
No labels
area/build
area/install
area/saves
area/ui
area/updates
good first issue
gpu/amd
gpu/intel
gpu/nvidia
help wanted
kind
bug
kind
chore
kind
docs
kind
feature
kind
performance
kind
question
platform/linux
platform/steam-deck
platform/windows
priority
critical
priority
high
priority
low
status
blocked
status
confirmed
status
duplicate
status
invalid
status
needs-info
status
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
MagicBeanDev/LongshotLauncher!48
Loading…
Reference in a new issue
No description provided.
Delete branch "TrashPanda/LongshotLauncher:feat/friendly-errors"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Why
When a build stops, the launcher shows make_game.py's message as it is, and a crash leaves only a log for the player to find. This puts the common problems in plain words with the fix, and says at the next start that the game crashed. Split out of #42 so it can be reviewed and merged without the crash reporting.
What changed
Core/Problems.csmaps make_game.py's and the game's messages to a plain headline, what to do and a fix: the antivirus removed the tools, another game version, an incomplete dump, a full drive, the build ran out of memory, a lost GPU, no mesh shaders. A crash also gets a signature (its exception code and module+offset, no folder). A message it doesn't know still shows as "make_game.py stopped", never as a wrong fix.CrashCheck(inProblems.cs) finds a crash in a build's last run, or the run before it, when the launcher starts. Each log is shown once (SeenCrashLogsinsettings.json).ProblemPageViewModel/ProblemPageView) says the game closed unexpectedly, shows what to do and a button to the graphics driver's page for the card's maker, and has Close.tests/launcher_core/ProblemChecks.cscovers the mapping and the crash found once.Nothing is sent anywhere: the report and sending are in #42, which builds on this.
Testing
Tested: on Linux (CachyOS, .NET 10.0.115), at
c92e73d6:python -I tests/test_launcher_core.py --strict: 688 checks pass.dotnet build LongshotLauncher.slnx --configuration Release -p:RestoreLockedMode=true(CI's command): 0 errors, and 1 warning (TextBox.WatermarkinBuildStepView.axaml), whichmainhas too.Not tested: the pages in the running launcher (not run yet); Windows.
Needs other testers: a Windows run with a crashed build's log in the build folder, expecting the problem page at the next start, once.
Screenshots
To come: the problem page and the build's problem screen.
Reviewer notes
#42 adds Send report on top of this branch, so merge this first; #42's diff then shrinks to the reporting alone.
View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.