mirror of
https://github.com/wwiinnddyy/LanMountainDesktop.git
synced 2026-06-22 00:54:26 +08:00
22 lines
1.1 KiB
Markdown
22 lines
1.1 KiB
Markdown
# AirApp Runtime Container
|
|
|
|
## Goal
|
|
|
|
Move built-in Air APP lifecycle management out of Launcher into a dedicated framework-dependent JIT process named `LanMountainDesktop.AirAppRuntime`.
|
|
|
|
## Behavior
|
|
|
|
- Launcher remains the user-facing entry point and pre-starts AirApp Runtime during normal `launch`.
|
|
- AirApp Runtime exposes `IAirAppLifecycleService` and `IAirAppRuntimeControlService` on `LanMountainDesktop.AirAppRuntime.v1`.
|
|
- Desktop host requests Air APP operations through AirApp Runtime IPC.
|
|
- If the runtime pipe is unavailable, the desktop host starts `LanMountainDesktop.AirAppRuntime` directly and retries.
|
|
- AirApp Runtime keeps one AirAppHost process per `{appId}:{sourceComponentId}:{sourcePlacementId}` key, with `world-clock` sharing `world-clock:clock-suite:global`.
|
|
- AirApp Runtime remains alive while Launcher, Host, requester, or any AirAppHost process is alive.
|
|
- AirApp Runtime exits after Launcher/Host/requester are gone and no Air APP windows remain.
|
|
|
|
## Out of Scope
|
|
|
|
- Moving Air APP windows into the runtime process.
|
|
- Third-party plugin-declared Air APP metadata.
|
|
- Persisting the Air APP instance table across OS reboot.
|