Repository navigation
feat: add unified environment monitoring and improve startup reliability - #2
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR introduces a unified environment monitoring service for all-users installations and improves the existing per-user background monitoring and change-origin tracking.
The unified service runs under LocalSystem, monitors machine and user environment variables through a shared ETW collector, and preserves per-user configuration and history isolation. Machine PATH organization policies are managed through global settings, while user-specific policies remain independent.
Origin tracking now supports reusable, protected scheduled tasks, avoiding repeated UAC prompts during login and background startup. Installer maintenance handles task registration, service updates, and cleanup.
The changes also harden privileged service deployment with ACL validation, reparse-point protection, SHA-256 payload verification, and protected executable storage. Service recovery and health reporting are improved, and multi-session users receive environment change notifications in each active desktop session.
Testing
CI passes on Windows x86, x64, and ARM64.
Windows x64 integration tests additionally cover privileged origin tracking, unified service lifecycle, automatic recovery after service failures, machine PATH organization, and installation cleanup.
New tests verify unsafe deployment rejection, protected file permissions, per-user workspace isolation, and multi-session notification routing.