fix: Agent installer - 36 cross-platform bug fixes (Windows/Mac/Linux)#7
fix: Agent installer - 36 cross-platform bug fixes (Windows/Mac/Linux)#7SatishwaranM wants to merge 3 commits into
Conversation
- Windows: BOM-free writes, hidden .git detection, XML task scheduling, MS Store python stub detection, scan.py file isolation, -UseBasicParsing, -Otp param for EXE, authorized_domains filename match - Mac/Linux: Apple CLT stub detection, PEP 668 bcrypt, quoted heredocs, reliable MAC, /Volumes coverage, launchd stdout, OTP silent input - Server: UNINSTALLED event handling, status.json update, dashboard badges - Delivery: Content-Disposition download fix, template placeholder leak fix - New: standalone uninstall scripts with server notification, macOS guide
|
Findings [P0] Windows EXE install still cannot run non-interactively. The new [P1] Windows scheduled tasks are registered with literal strings instead of variables. [P1] Uninstall notifications do not update agent status. [P1] Runtime scripts ignore the Python interpreter validated during install. The installers carefully choose [P2] Unix pre-commit hooks break for normal company names with spaces. The hook emits [P2] Uninstalled agents are counted as “Never checked”. |
…ecycle - Detect real Python 3 on Windows (skip MS Store stub) and persist path to python_path.txt so scheduled tasks use the same interpreter - param([string]$Otp) moved before $ErrorActionPreference (PS parser req) - Write-Utf8NoBom helper eliminates BOM from all file writes on Windows - Backtick-escaped $false/$Xml/$_ removed from Register-PatronAITask - eval in hook script hardened with shlex.quote() for shell-safe config reads - OTP input silenced with read -rsp; PYCFG heredoc single-quoted to prevent shell expansion inside Python source - BUNDLE_JSON env-var pattern prevents JSON injection in url-refresh path - SilentInstall normal in NSIS so OTP prompt is visible; Read-Host pause added at end of setup_agent.ps1 for clean window close - UNINSTALLED event lifecycle: normaliser, pipeline, fleet dashboard, agent_store.write_agent_status() -- pipeline no longer calls _store._put directly; public API boundary enforced - json/datetime imports moved to module level in pipeline.py and agent.py - /Volumes scanning on macOS; launchd StandardOutPath added; macOS 13+ background items notice surfaced to user Reviewed with Raven (shadow mode) -- security, coupling, and style findings addressed before merge. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
fix: resolve 36 cross-platform agent installer bugs + UNINSTALLED lifecycle
Reviewed with Raven (shadow mode) — security, coupling, and style findings Co-Authored-By: Claude Sonnet 4.6 noreply@anthropic.com |
Summary
36 cross-platform bug fixes for the PatronAI agent installer (Windows/Mac/Linux).
4 critical, 10 high, 14 medium, 8 low severity bugs resolved.
Changes
Windows (setup_agent.ps1.template)
-Forceflag-UseBasicParsingon all Invoke-WebRequest calls-Otpparameter for non-interactive EXE installspython -m pip install --userinstead of bare pipMac/Linux (setup_agent.sh.template)
--user+--break-system-packagesfallback)read -rsp)Server
Delivery
New Files
Testing