Skip to content

Use process-owned Power Requests for idle-sleep prevention - #5

Merged
RomainROCH merged 7 commits into
mainfrom
dev
Oct 4, 2026
Merged

RomainROCH merged 7 commits into
mainfrom
dev

Conversation

@RomainROCH

@RomainROCH RomainROCH commented Oct 4, 2026 •

Copy link
Copy Markdown
Owner

Block now acquires an owned system/display Power Request pair synchronously, with rollback on partial activation and release on Allow, normal exit, or process termination. This replaces the periodic thread execution-state worker. Windows explicit Sleep/Hibernate remains authoritative, and the existing resume path renews Block protection.

The change also fixes autostart AccessCheck with identification-level tokens. Smoke testing explicitly defers the absent Update Orchestrator Reboot task and the autostart lifecycle when the current elevated process has no linked UAC token. Unexpected scheduler or token-query errors remain failures. The full autostart lifecycle and safe refusal were exercised separately in the interactive VM.

Validation: 42 Rust tests passed; formatting, default release build, and ordinary Clippy passed. Guest smoke recorded 18 passes, zero failures, and three documented skips. Both Clippy warnings predate this migration. Local MSVC release retries hit SDK autodetection failures; the retained Windows runtime artifact is bound to the candidate's source.

The eight requested power cases passed in an isolated Windows 11 S3 VM, including actual Start-menu sleep in Block, same-process reacquisition, protected idle/display timeouts, automatic sleep/display in Allow, and request cleanup. The VM needed a separate firmware resume repair. Physical S3/monitor behavior, Hibernate, and Modern Standby remain unvalidated. A completed independent source and evidence review found no actionable issue.

Details: VM acceptance record. No release tag is part of this integration.

@RomainROCH
RomainROCH merged commit 942fd59 into main Oct 4, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant