fix(service): keep service startup healthy in service-mode input#123
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.
Intent
Fix the PR #122 dogfood blocker where the MSI-owned LocalSystem service can exit before reporting Running when service-mode input diagnostics are initialized during startup.
Changes
boundless-service.exewith that mode instead of probing interactive desktop input from the LocalSystem service path.service_session_unsupported,input_locked=false, andinput_lock_supported=falsebefore the named-pipe API is exposed.Root Cause
PR #122 made service/session-0 input truthful by detecting unsupported interactive input at runtime, but the MSI service path still depended on implicit interactive probing during startup. The fix makes service mode explicit for the service host so startup does not depend on desktop-session input availability while the control plane remains truthful.
Validation
cargo test -p boundless-daemon service_mode_named_pipe_startup_preserves_diagnostic_input_state -- --nocapturecargo test -p boundless-daemon service_session -- --nocapturecargo test -p boundless-daemon unsupported_interactive -- --nocapturecargo fmt --all -- --checkcargo clippy --workspace --all-targets -- -D warningscargo test --workspace --quietgit diff --checkcargo build --release -p boundless-daemon --bin boundless-serviceNot Run
Deferred
Boundless-<version>-windows-x64-setup.exelauncher is deferred to BND-NEXT-9B-6. Adding a launcher would require new packaging/artifact/checksum behavior and should not delay this hotfix.