mirror of
https://github.com/openai/codex.git
synced 2026-11-13 14:46:14 +00:00
Route pet asset downloads through the shared HTTP client (#36008)
## Why Built-in pet downloads used a standalone blocking client, so CDN redirects did not use Codex's configured route handling. ## What changed - Download pet spritesheets asynchronously with a reusable `RouteAwareClientPool`. - Keep cache validation, asset installation, and pet decoding off the async runtime while sharing one asset-and-load path across startup, previews, and selection. - Preserve the download size limit while consuming streamed response chunks, and remove the TUI's direct `reqwest` dependency. ## Testing Add coverage for oversized response chunks, cached built-in assets, pet loads without an existing Tokio runtime, and stale preview and selection completions. GitOrigin-RevId: 725e76f3ddb7e84b7212769892f28dc0add15741
This commit is contained in:
1 parent
ad6fc66b6d
commit
09cf609218
11 files changed
+293
-95
No files matched your search
@@ -637,6 +637,8 @@ pub(crate) struct ChatWidget {
|
||||
review: ReviewState,
|
||||
// Active hook runs render in a dedicated live cell so they can run alongside tools.
|
||||
active_hook_cell: Option<HookCell>,
|
||||
// Reused for built-in pet CDN requests so redirects remain route-aware.
|
||||
pub(crate) pet_http_client: codex_http_client::RouteAwareClientPool,
|
||||
// Ambient companion rendered over the transcript area, never inside the footer rows.
|
||||
ambient_pet: Option<crate::pets::AmbientPet>,
|
||||
pet_picker_preview_state: crate::pets::PetPickerPreviewState,
|
||||
|
||||
Reference in new issue
Block a user