## Why
Git remote URLs can embed usernames, passwords, or tokens. Codex carries these
URLs through turn metadata and persisted thread metadata, so credentials must be
removed before a remote enters those paths.
## What changed
- Add `SanitizedGitUrl`, which parses Git URL and SCP-style remotes, strips
authentication data, and preserves the conventional `git` SSH user.
- Use sanitized remotes when collecting Git metadata, enriching model requests,
discovering cloud environments, updating thread metadata, and reading legacy
rollouts. Reject or omit malformed remotes instead of retaining their raw
contents.
- Keep API, schema, and TypeScript representations as strings while enforcing
sanitization in Rust.
## Testing
- Cover URL schemes, SCP and IPv6 forms, remote helpers, encoded paths,
malformed values, and legacy deserialization.
- Verify credentials do not appear in model requests, API responses, SQLite, or
rollout files.
GitOrigin-RevId: 6435efc4c45bfbfad4723ce7a0457cb00175f25c
## What changed
- Increase the listener, stream read, and overall test timeouts from 2 to 10 seconds.
- Switch the accepted stream back to blocking mode before reading the request.
GitOrigin-RevId: 1e876350421d7791194e145751603c4d709c7d39
## What changed
- Build a route-aware API client from the cloud backend's configured HTTP
factory and reuse it for environment listing and autodetection.
- Replace direct `reqwest` environment requests with a small injectable HTTP
boundary while preserving status, content-type, body, and header handling.
- Centralize asynchronous environment-list loading around the initialized
backend context.
## Testing
- Add coverage for production header forwarding and response decoding.
- Verify repository-specific lookup, global fallback, endpoint selection,
deduplication, and merged environment metadata with a fake HTTP client.
GitOrigin-RevId: 2e6812015ec3eb01773184541a1fad135ed53edb