diff --git a/codex-rs/core/src/codex.rs b/codex-rs/core/src/codex.rs index 3fa8a00b9f..bdebbaf707 100644 --- a/codex-rs/core/src/codex.rs +++ b/codex-rs/core/src/codex.rs @@ -613,10 +613,10 @@ impl Session { let guard = self.rollout.lock_unchecked(); guard.as_ref().cloned() }; - if let Some(rec) = recorder { - if let Err(e) = rec.record_events(&[event.clone()]).await { - error!("failed to record rollout event: {e:#}"); - } + if let Some(rec) = recorder + && let Err(e) = rec.record_events(std::slice::from_ref(&event)).await + { + error!("failed to record rollout event: {e:#}"); } if let Err(e) = self.tx_event.send(event).await { error!("failed to send tool call event: {e}"); diff --git a/codex-rs/core/src/rollout/tests.rs b/codex-rs/core/src/rollout/tests.rs index 971fbaaacf..f2826f6249 100644 --- a/codex-rs/core/src/rollout/tests.rs +++ b/codex-rs/core/src/rollout/tests.rs @@ -78,7 +78,7 @@ async fn test_get_conversations_filtered_by_id() { let target = u2.to_string(); let filter: ConversationFilter = std::sync::Arc::new(move |item: &ConversationItem| { item.head - .get(0) + .first() .and_then(|v| v.get("id")) .and_then(|v| v.as_str()) .map(|s| s == target)