You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(diagnostics): session journal + WER dumps + startup post-mortem
A 0.5.x user's app dies with NOTHING in the crashes folder — a death the
CLR never saw (native crash, stack overflow, OOM kill, or an antivirus
terminating the process). CrashLog already covers every managed escape
route; this adds the nets for the rest, all best-effort and silent on
failure:
- SessionJournal (%LocalAppData%\EQ2Parser\session.log): startup-stage
breadcrumbs, source add marks, raid-command-file writes, a mark BEFORE
every native TTS synthesis call (prime unmanaged suspect), and a
once-a-minute heartbeat with working-set/GC numbers (OOM creep shows
as a marching trend). Ends with a clean-exit mark.
- WER LocalDumps self-registration (HKCU, no admin): Windows writes a
minidump to crashes\dumps on native crashes and stack overflows.
- Startup post-mortem: a previous session.log without the clean-exit
mark means the last run died silently — its journal is copied into
crashes\postmortem-<ts>.txt together with any EQ2Parser-related
Application Error / .NET Runtime / WER event-log entries from the
last 48h. Empty harvest + no dump = external kill (antivirus).
Verified end-to-end: run + taskkill /F + restart produces the postmortem
with the journal tail and the "(none found — consistent with an external
process kill)" verdict; the WER key lands with DumpType=1, DumpCount=5.
Support flow is now just "send the crashes folder".
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>