mirror of
https://github.com/okieselbach/AutopilotMonitor.git
synced 2026-10-24 20:53:06 +00:00
e84ac248f9
Keeps the device awake (system + display via SetThreadExecutionState) during the User-ESP / AccountSetup phase so idle standby/sleep can't stall app installs or account provisioning. Reboots are unaffected; the OS auto-clears the hold on process exit, so it can never leak. - UserEspKeepAwakeHost observes the signal rail: engage on AccountSetup phase, release on AccountSetupProvisioningComplete / host stop / safety cap. - Safety cap is derived from the tenant's Intune ESP SyncFailureTimeout (+30 min margin), read at engage time; falls back to 90 min when unavailable. Resolved cap + source are reported on keep_awake_engaged for fleet observability. - KeepAwakeController owns the hold on a dedicated thread (ES_CONTINUOUS bound to the thread's lifetime). Dispose guard on the engage-ready timeout path. - Per-tenant portal toggle KeepAwakeDuringUserEsp (ConfigVersion 30 -> 31) with full config plumbing (Tenant/Analyzer config, table storage, agent delivery) and Web settings UI. - New events keep_awake_engaged / keep_awake_released across Constants, the MCP resource catalog, and the Web gather-rule on_event autocomplete. - Tests: KeepAwakeController late-confirm timeout edge, host engage/release/cap, and pure cap-resolution policy (V2.Core 1467 green). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>