Honor system proxy settings in the daemon updater (#34495)

## Why

The PID-managed daemon updater downloaded the standalone installer directly,
bypassing Codex's configured outbound proxy policy.

## What changed

- Build the updater's HTTP client from the effective Codex configuration so
  `features.respect_system_proxy` also applies to installer downloads.
- Use the route-aware client pool for the installer request.
- Warn and fall back to the default `reqwest` proxy behavior when configuration
  cannot be loaded, allowing updates to continue.

## Testing

Added tests for proxy-policy selection, configuration-load fallback, exact
installer URL usage, byte preservation, and non-success HTTP responses.

GitOrigin-RevId: 559668eb40314d43afa6512da66e59e32cc1b93c
This commit is contained in:
Michael Bolin
2026-07-21 08:50:21 +00:00
committed by copyberry
parent 0e15c31d91
commit 99eb575649
8 changed files with 191 additions and 19 deletions
+2 -1
View File
@@ -2075,12 +2075,12 @@ dependencies = [
"anyhow",
"codex-app-server-protocol",
"codex-app-server-transport",
"codex-http-client",
"codex-uds",
"codex-utils-home-dir",
"futures",
"libc",
"pretty_assertions",
"reqwest 0.12.28",
"serde",
"serde_json",
"sha2 0.10.9",
@@ -2331,6 +2331,7 @@ dependencies = [
"codex-features",
"codex-git-utils",
"codex-home",
"codex-http-client",
"codex-install-context",
"codex-login",
"codex-mcp",