mirror of
https://github.com/wwiinnddyy/LanMountainDesktop.git
synced 2026-06-20 23:54:26 +08:00
Introduce a new LanMountainDesktop.Shared.IPC project implementing a public IPC host and client (LanMountainDesktopIpcClient, PublicIpcHostService), IPC constants and routed notify IDs, DTOs and DI helpers for registering public services. Update Plugin SDK to allow plugins to contribute public IPC services and registrations, add related descriptors/records and extension helpers. Migrate Launcher/App to use the new public IPC for startup/loading notifications and wiring (including TryConnect helper), switch LoadingStateReporter to use the external notification publisher, and add host-side public services (app info, shell control, plugin catalog). Include integration tests and spec/checklist/docs for the external IPC public API.
LanMountainDesktop.PluginSdk
Official SDK package for LanMountainDesktop plugins.
Includes
IPlugin/PluginBaseentry abstractionsIPluginWorker/PluginWorkerBaseworker-side entry abstractions for isolated background modePluginManifestand shared contract declarationsruntime.modemanifest support forin-proc,isolated-background, andisolated-window- desktop component registration extensions
- plugin runtime context and host service abstractions
- build-transitive packaging targets for
.laappoutput
Quick Start
<ItemGroup>
<PackageReference Include="LanMountainDesktop.PluginSdk" Version="4.0.1" />
</ItemGroup>
Create plugin.json in your plugin project root, then run dotnet build to produce both build output and a .laapp package.