Skip to content

fix(server): keep provider CLIs available in the macOS service - #8173

Merged
t3dotgg merged 3 commits into
mainfrom
t3code/fix-launchd-provider-path
Aug 25, 2026
Merged

t3dotgg merged 3 commits into
mainfrom
t3code/fix-launchd-provider-path

fix(server): include provider paths in minimal launchd environments

e2e1de2
Select commit
Loading
Failed to load commit list.
MacroscopeApp / Macroscope - Correctness Check succeeded Aug 25, 2026 in 3m 24s

No issues identified (1 code object reviewed).

• Merge Base: afc8342
• Head: e2e1de2

Details

✅ File Path Comments Posted Reason
✅ apps/server/src/cloud/bootService.ts 0
➖ apps/server/src/cloud/bootService.test.ts Excluded by default ignore patterns

Filtered Issues Details

apps/server/src/cloud/bootService.ts
  • line 464: The xmlSafeInstallerDirectories predicate is not actually an XML 1.0 character check: it accepts code units 0xFFFE/0xFFFF (and lone UTF-16 surrogates) because every value at least 0x20 passes. A PATH entry containing such a Unicode character is therefore emitted unchanged by escapeXmlText, producing a malformed plist that launchd cannot parse/bootstrap instead of dropping the unsafe entry. The check needs to enforce the XML Char ranges (and iterate code points). [ Already posted ]
  • line 715: normalizeUnit removes the PATH entry from both plists before comparison. Consequently, an existing pre-change LaunchAgent plist that has no PATH compares equal to the new rendered plist (all other fields are unchanged), so status.current becomes true; reconcileService then skips install and never writes the PATH needed to make provider CLIs available. The normalization should distinguish a missing PATH key from a differing PATH value. [ Already posted ]