All checks were successful
Build SilverMetal Enhanced - Windows ISO / build (pull_request) Successful in 4m46s
The Welcome wizard showed nothing until WebView2 cold-started and Blazor booted, so the whole startup cost presented as a blank window long enough that operators thought first boot had failed. - Native MAUI splash overlay (renders in the first frame, no WebView2/JIT dependency) + a visually identical in-page splash inside #app, so the native -> webview -> Blazor handoff reads as one continuous loading screen. Fades out on first successful WV2 NavigationCompleted. - PublishReadyToRun=true (publish-only) to remove first-run JIT on the one-shot cold-disk path. R2R header verified present after publish. - Fixed-version WebView2 runtime baked offline next to the exe (build.ps1 stages it, app points WEBVIEW2_BROWSER_EXECUTABLE_FOLDER at it). Removes the Evergreen registry probe and the LTSC "no WebView2 at all" risk flagged in welcome-app-spec.md; air-gap friendly. Absent => falls back to Evergreen. - De-flash launch: drop the `cmd /c` wrapper and add -WindowStyle Hidden in autounattend FirstLogonCommands (kills the console flash + one process). Verified: Release build clean, win-x64 self-contained publish succeeds with R2R confirmed, 38/38 tests pass. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
59 lines
2.7 KiB
XML
59 lines
2.7 KiB
XML
<?xml version="1.0" encoding="utf-8" ?>
|
|
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
|
|
xmlns:local="clr-namespace:SilverOS.Welcome.App"
|
|
xmlns:components="clr-namespace:SilverOS.Welcome.App.Components;assembly=SilverOS.Welcome.UI"
|
|
x:Class="SilverOS.Welcome.App.MainPage">
|
|
|
|
<!--
|
|
A native MAUI splash sits ON TOP of the BlazorWebView. MAUI controls render
|
|
immediately when the window is shown — they do NOT wait on WebView2/.NET JIT —
|
|
so the user sees branded "loading" within the first frame instead of a blank
|
|
window for the seconds it takes WebView2 to cold-start and Blazor to boot.
|
|
The overlay is dismissed in MainPage.xaml.cs once WV2 finishes its first
|
|
navigation (the index.html splash then carries the eye through Blazor's boot).
|
|
-->
|
|
<Grid BackgroundColor="#0b0f14">
|
|
|
|
<BlazorWebView x:Name="blazorWebView" HostPage="wwwroot/index.html"
|
|
BlazorWebViewInitialized="OnBlazorInitialized"
|
|
UrlLoading="OnUrlLoading">
|
|
<BlazorWebView.RootComponents>
|
|
<RootComponent Selector="#app" ComponentType="{x:Type components:Routes}" />
|
|
</BlazorWebView.RootComponents>
|
|
</BlazorWebView>
|
|
|
|
<Grid x:Name="SplashOverlay"
|
|
BackgroundColor="#0b0f14"
|
|
InputTransparent="False">
|
|
<VerticalStackLayout HorizontalOptions="Center"
|
|
VerticalOptions="Center"
|
|
Spacing="22">
|
|
<Label Text="SilverOS"
|
|
HorizontalOptions="Center"
|
|
FontFamily="OpenSansRegular"
|
|
FontSize="42"
|
|
FontAutoScalingEnabled="False"
|
|
TextColor="#e8edf5" />
|
|
<Label Text="WELCOME"
|
|
HorizontalOptions="Center"
|
|
FontSize="13"
|
|
CharacterSpacing="8"
|
|
TextColor="#00d4ff" />
|
|
<ActivityIndicator IsRunning="True"
|
|
Color="#00d4ff"
|
|
HeightRequest="34"
|
|
WidthRequest="34"
|
|
HorizontalOptions="Center"
|
|
Margin="0,10,0,0" />
|
|
<Label Text="Preparing your setup…"
|
|
HorizontalOptions="Center"
|
|
FontSize="14"
|
|
TextColor="#8fa4bc" />
|
|
</VerticalStackLayout>
|
|
</Grid>
|
|
|
|
</Grid>
|
|
|
|
</ContentPage>
|