Repository navigation
fix(agent2): periodic update checks, portable Win10/11 compatibility and clearer V2 errors - #30
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.
Scope
Foundation for low-privilege portable Agent2, scheduled checks and actionable V2 errors. This PR does not implement mandatory updates or auto-install.
Changes
taskkill /F /IM cloudfile-desktop.exefrom install/restart path. Preserve running edits, original process, checkout and worker copies; defer active version handoff until safe exit.reg.exesubprocess for current-user URL associations; use native Win32 registry operations, plus HKCR reads for ownership checks andLOCALAPPDATAfallback.Verification
On connected macOS bb-dev using pinned Rust 1.90:
cargo fmt --all --check: PASScargo clippy --workspace --all-targets --locked -- -D warnings: PASScargo test --workspace --locked --no-fail-fast: PASS (one preexisting ignored OS-keyring test)git diff --check: PASSExplicit gates
Windows 10/11 ordinary-user runtime, HKCU/URL registration, PATH-free/PowerShell-free environments, CAD file E2E, running old desktop version handoff, corporate WDAC/AppLocker policies and signed distribution remain unverified; do not release yet.
For future mandatory updates: the signed release manifest uses
deny_unknown_fields; do not add mandatory fields there. Use a separately signed policy and capability-based routing via Agent/Extension/Web, and never conflate manualforce(bypasses task-exit protection) with mandatory-update enforcement. Old non-updatable clients require one-time portable EXE replacement. This remains separate work.Draft pending Windows CI and physical Win10/11 acceptance. No production deployment.
Follow-up: existing Windows field compatibility (2026-11-11)
--self-testWindows-only checks: OS build classifies Win10/Win11 while separately reporting Server builds, architecture, and the actual current-user write permission on versionedbindirectory. When writable directory missing, report status; when read-only, give non-admin portable relocation guidance without deleting user work copies.scripts/installer-guard.test.cjs: the assertions still required obsolete PowerShellGet-FileHash, even though shipped scripts had migrated to nativecertutil -hashfileand curl fallback. Updated only the test, retaining signature/digest checks and fail-closed behavior. Local Node 2/2 now PASS; rerunning CI is required.CI / Windows installer compatibility follow-up
[WARN]/[ERROR]tags before existing Chinese messages, to make Windows CI fail-closed checks and support logs stable across Windows code pages..gitattributesnow marks the-textCMD files aswhitespace=cr-at-eolsogit diff --checkcorrectly accepts mandatory CRLF while still prohibiting Git encoding/newline conversion. Added small deterministic installer tests asserting the exact safety tags. No scripts are executed on live customer machines.