mirror of
https://github.com/wwiinnddyy/LanMountainDesktop.git
synced 2026-06-21 16:14:28 +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.
28 lines
800 B
C#
28 lines
800 B
C#
using LanMountainDesktop.Shared.IPC;
|
|
using LanMountainDesktop.Shared.IPC.Abstractions.Services;
|
|
using LanMountainDesktop.Shared.Contracts.Launcher;
|
|
|
|
namespace LanMountainDesktop.Services.ExternalIpc;
|
|
|
|
internal sealed class PublicAppInfoService : IPublicAppInfoService
|
|
{
|
|
private readonly DateTimeOffset _startedAt;
|
|
|
|
public PublicAppInfoService(DateTimeOffset startedAt)
|
|
{
|
|
_startedAt = startedAt;
|
|
}
|
|
|
|
public PublicAppInfoSnapshot GetAppInfo()
|
|
{
|
|
var versionInfo = AppVersionProvider.ResolveForCurrentProcess();
|
|
return new PublicAppInfoSnapshot(
|
|
"LanMountainDesktop",
|
|
versionInfo.Version,
|
|
versionInfo.Codename,
|
|
IpcConstants.DefaultPipeName,
|
|
Environment.ProcessId,
|
|
_startedAt);
|
|
}
|
|
}
|