From 0c2c47aa2950e89628fb9aa35c56ef210e755f3a Mon Sep 17 00:00:00 2001 From: Charles Cunningham Date: Sun, 25 Jan 2026 00:44:43 -0800 Subject: [PATCH] Preserve query params when building HTTP object URLs --- codex-rs/core/src/session_share.rs | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/codex-rs/core/src/session_share.rs b/codex-rs/core/src/session_share.rs index b8b0f83035..70a80fa18f 100644 --- a/codex-rs/core/src/session_share.rs +++ b/codex-rs/core/src/session_share.rs @@ -247,9 +247,16 @@ fn build_rollout_download_path(codex_home: &Path, session_id: ThreadId) -> anyho impl HttpObjectStore { fn object_url(&self, key: &str) -> anyhow::Result { - self.base_url + let mut base = self.base_url.clone(); + let query = base.query().map(str::to_string); + base.set_query(None); + let mut joined = base .join(key) - .with_context(|| format!("failed to build object URL for key {key}")) + .with_context(|| format!("failed to build object URL for key {key}"))?; + if let Some(query) = query { + joined.set_query(Some(&query)); + } + Ok(joined) } async fn object_exists(&self, key: &str) -> anyhow::Result {