mirror of
https://github.com/wwiinnddyy/LanMountainDesktop.git
synced 2026-06-20 23:54:26 +08:00
Add automatic release version stamping and multiple launcher reliability improvements. The Release workflow now runs scripts/Set-ReleaseVersion.ps1 in build jobs to inject tag-derived Version/AssemblyVersion into project metadata; several .csproj/Directory.Build.props and app.manifest files were changed to use a dev placeholder. Introduced AppVersionProvider (and related runtime metadata) to centralize version resolution and updated DeploymentLocator to use it and to prefer package-root/version.json. Launcher startup flow was hardened: added startup success tracking, public-activation recovery path, improved success/fallback semantics, and related IPC handling. UI/UX fixes include OOBE entrance/exit animation improvements (scaling-aware, concurrent fade+translate) and minor window lifecycle reorder in DesktopShellHost. CommandContext now recognizes restart and key=value args. New DesktopTrayService and .trae spec files (spec, checklist, tasks) document shell/tray hardening work. Miscellaneous logging, comments and housekeeping edits across launcher and shared contracts to support the above.
47 lines
1.1 KiB
C#
47 lines
1.1 KiB
C#
namespace LanMountainDesktop.Shared.Contracts.Launcher;
|
|
|
|
public enum StartupStage
|
|
{
|
|
Initializing,
|
|
LoadingSettings,
|
|
LoadingPlugins,
|
|
TrayReady,
|
|
InitializingUI,
|
|
ShellInitialized,
|
|
BackgroundReady,
|
|
DesktopVisible,
|
|
ActivationRedirected,
|
|
ActivationFailed,
|
|
Ready
|
|
}
|
|
|
|
public record StartupProgressMessage
|
|
{
|
|
public StartupStage Stage { get; init; }
|
|
|
|
public int ProgressPercent { get; init; }
|
|
|
|
public string? Message { get; init; }
|
|
|
|
public DateTimeOffset Timestamp { get; init; } = DateTimeOffset.UtcNow;
|
|
}
|
|
|
|
public static class LauncherIpcConstants
|
|
{
|
|
public const string PipeName = "LanMountainDesktop_Launcher";
|
|
|
|
public const string LauncherPidEnvVar = "LMD_LAUNCHER_PID";
|
|
|
|
public const string PackageRootEnvVar = "LMD_PACKAGE_ROOT";
|
|
|
|
public const string VersionEnvVar = "LMD_VERSION";
|
|
|
|
public const string CodenameEnvVar = "LMD_CODENAME";
|
|
|
|
public const string LaunchSourceOptionName = "launch-source";
|
|
|
|
public const string RestartParentPidOptionName = "restart-parent-pid";
|
|
|
|
public const string RestartPresentationOptionName = "restart-presentation";
|
|
}
|