mirror of
https://github.com/wwiinnddyy/LanMountainDesktop.git
synced 2026-06-20 23:54:26 +08:00
1.2 KiB
1.2 KiB
Tray Menu Shutdown Addendum
Requirements
- Tray menu
Exit Appmust commit an irreversible host shutdown request. - Once shutdown is committed, tray menu actions must not reopen the desktop, settings window, or component library.
- Shutdown cleanup must release Public IPC, plugin runtime, tray icon, fused desktop edit UI, and telemetry resources before the forced-exit deadline.
- Forced process termination must be scheduled when the shutdown request is accepted, not only after Avalonia lifetime exit.
- Restart must preserve
RestartRequestedintent and must not route through an exit path that overwrites it. - Fused desktop component library menu activation must reuse the existing library window and must exit edit mode if opening fails.
Acceptance
- Selecting
Exit Appfrom the tray leaves no background host process and allows a later Launcher start to perform multi-instance detection through public IPC. - Selecting
Restart Appstarts the Launcher or upgrade helper once, then shuts down the old host as a restart. - Repeated tray clicks during shutdown are ignored and logged.
- Repeated component-library clicks focus the existing window instead of opening duplicates.