All checks were successful
Build SilverMetal Enhanced - Windows ISO / build (pull_request) Successful in 5m29s
4th VM e2e: kiosk shell engages + the app launches fullscreen, but the Blazor wizard renders BLANK and the kiosk chrome didn't apply (title bar present) — the app didn't crash, so there's no log to read. Two changes: 1) ApplyKioskChrome made defensive (null-guard HWND/AppWindow, FullScreen presenter only, returns bool) and wrapped in try/catch at the call site, so a chrome failure can never stall app/WebView startup (the likely cause of the blank). 2) Always-on file log at C:\ProgramData\SilverMetal\welcome.log: app ctor, window create, chrome result, unhandled exceptions, and the BlazorWebView/WebView2 lifecycle (Initialized, NavigationCompleted, ProcessFailed). If the wizard is still blank next run, this pinpoints whether WebView2 env creation failed. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
25 lines
895 B
C#
25 lines
895 B
C#
namespace SilverOS.Welcome.App;
|
|
|
|
// Lightweight always-on file logger for first-boot diagnosis. The Welcome app
|
|
// runs as the kiosk shell with no console and (in Release) no debugger, so when
|
|
// something fails silently (blank WebView, chrome not applied) there is nowhere
|
|
// to look. This writes to a world-writable ProgramData path that survives the
|
|
// session and can be read off the disk image.
|
|
public static class Diag
|
|
{
|
|
const string Dir = @"C:\ProgramData\SilverMetal";
|
|
const string Path = Dir + @"\welcome.log";
|
|
static readonly object _lock = new();
|
|
|
|
public static void Log(string msg)
|
|
{
|
|
try
|
|
{
|
|
System.IO.Directory.CreateDirectory(Dir);
|
|
lock (_lock)
|
|
System.IO.File.AppendAllText(Path, $"{DateTime.Now:HH:mm:ss.fff} {msg}{Environment.NewLine}");
|
|
}
|
|
catch { /* logging must never throw */ }
|
|
}
|
|
}
|