mirror of
https://github.com/4gray/iptvnator.git
synced 2026-10-10 10:06:15 -08:00
The global app-update notification panel called installAppUpdate() directly, bypassing the unload-guard suspension entirely — with a dirty settings form its install was cancelled at the DOM layer and treated as a reload. The whole install choreography (suspend registered unload guards, invoke the updater, restore on non-downloaded reply / rejected IPC / later error push, tolerant of push-vs-reply ordering) now lives in the root AppUpdateInstallService; the settings facade and the panel both delegate to it, and the settings unload guard registers its suspend/resume hooks with it while settings is mounted. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>