Conversation
💡 Codex Reviewcodex/codex-rs/backend-client/Cargo.toml Lines 19 to 20 in bc05be0 This manifest adds new Rust dependencies, and the commit also changes Cargo.lock, but MODULE.bazel.lock is not included in the diff. That leaves Bazel's crate lock stale and should fail the lockfile drift check; please run AGENTS.md reference: AGENTS.md:L37-L39 codex/codex-rs/core-plugins/src/startup_sync.rs Lines 1051 to 1055 in bc05be0 When curated plugin sync falls back to the GitHub HTTP path, these requests used to go through codex/codex-rs/http-client/src/outbound_proxy.rs Lines 21 to 22 in bc05be0 On Linux and other non-macOS/non-Windows targets, ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
Why
Curated-plugin startup sync has HTTP fallback paths for GitHub metadata/archives and a ChatGPT export archive. Those requests bypassed the effective
HttpClientFactory, sofeatures.respect_system_proxycould be enabled for the rest of Codex while startup sync still failed on PAC/OS-proxy-only networks.RemotePluginServiceConfigis also the handoff point for remote-plugin traffic. Making its factory mandatory in this foundation PR ensures callers cannot construct service state without consulting the effective proxy policy, while the child PR can stay focused on converting request families.This is split from #31837 so reviewers can evaluate shared configuration and startup sync independently from the remote-plugin request migration.
What changed
HttpClientFactorythroughPluginsConfigInputinto the background curated-repository sync.RemotePluginServiceConfigconstruction require that factory, create its privacy-safe route-aware pool, and convert all construction sites. The child PR begins using the pool for remote-plugin requests.Review guide
manager.rs,core/src/config/mod.rs, andRemotePluginServiceConfig::newinremote.rs.startup_sync.rs; the git path is unchanged.startup_sync_tests.rscovers the two-hop export archive flow, while the config tests verify the effective proxy policy reaches plugin service state.Validation
cargo check -p codex-core-plugins -p codex-core -p codex-app-server --tests.Stack created with Sapling. Best reviewed with ReviewStack.