Files
2026-05-31 19:41:10 +08:00

1.1 KiB

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.