From 7a08d53b2d88b4bcbd49d5c03ee4fa5f9c02caa2 Mon Sep 17 00:00:00 2001 From: Eric Traut Date: Sun, 12 Apr 2026 13:16:02 -0700 Subject: [PATCH] codex: address PR review feedback (#17380) --- codex-rs/cli/src/queue_cmd.rs | 112 ---------------------------------- codex-rs/core/src/codex.rs | 1 + 2 files changed, 1 insertion(+), 112 deletions(-) diff --git a/codex-rs/cli/src/queue_cmd.rs b/codex-rs/cli/src/queue_cmd.rs index df79584658..57f4488a85 100644 --- a/codex-rs/cli/src/queue_cmd.rs +++ b/codex-rs/cli/src/queue_cmd.rs @@ -180,71 +180,6 @@ mod tests { assert_eq!(err.kind(), clap::error::ErrorKind::MissingRequiredArgument); } - #[test] - fn queue_rejects_legacy_content_flag() { - assert!( - MultitoolCli::try_parse_from([ - "codex", - "queue", - "--thread", - "thread-1", - "--content", - "do work", - ]) - .is_err() - ); - } - - #[test] - fn queue_rejects_meta_flag() { - assert!( - MultitoolCli::try_parse_from([ - "codex", - "queue", - "--thread", - "thread-1", - "--message", - "do work", - "--meta", - "ticket=ABC_123", - ]) - .is_err() - ); - } - - #[test] - fn queue_rejects_instructions_flag() { - assert!( - MultitoolCli::try_parse_from([ - "codex", - "queue", - "--thread", - "thread-1", - "--message", - "do work", - "--instructions", - "be brief", - ]) - .is_err() - ); - } - - #[test] - fn queue_rejects_steer_flag() { - assert!( - MultitoolCli::try_parse_from([ - "codex", - "queue", - "--thread", - "thread-1", - "--message", - "do work", - "--steer", - ]) - .is_err() - ); - } - #[test] fn queue_requires_queued_messages_feature() { let mut features = Features::with_defaults(); @@ -363,51 +298,4 @@ mod tests { "no thread named `stale`" ); } - - #[tokio::test] - async fn queue_cleanup_removes_message_when_thread_disappears() { - let codex_home = TempDir::new().expect("codex home tempdir"); - let sqlite_home = TempDir::new().expect("sqlite home tempdir"); - let runtime = StateRuntime::init( - sqlite_home.path().to_path_buf(), - "test-provider".to_string(), - ) - .await - .expect("initialize state runtime"); - let thread_id = ThreadId::new().to_string(); - let params = codex_state::ThreadMessageCreateParams::new( - thread_id.clone(), - "external".to_string(), - "do work".to_string(), - /*instructions*/ None, - "{}".to_string(), - TimerDelivery::AfterTurn.as_str().to_string(), - /*queued_at*/ 100, - ); - runtime - .create_thread_message(¶ms) - .await - .expect("create message"); - - let err = remove_queued_message_if_thread_missing( - codex_home.path(), - &runtime, - &thread_id, - ¶ms.id, - ) - .await - .expect_err("missing thread should fail after cleanup"); - - assert_eq!( - err.to_string(), - format!("thread `{thread_id}` was archived before queued work could be created") - ); - assert_eq!( - runtime - .list_thread_messages(&thread_id) - .await - .expect("list messages"), - Vec::new() - ); - } } diff --git a/codex-rs/core/src/codex.rs b/codex-rs/core/src/codex.rs index dbc76e2548..91c33ae8c1 100644 --- a/codex-rs/core/src/codex.rs +++ b/codex-rs/core/src/codex.rs @@ -2137,6 +2137,7 @@ impl Session { for event in events { sess.send_event_raw(event).await; } + // Start the watcher after SessionConfigured so it cannot emit earlier events. sess.start_skills_watcher_listener(); // Construct sandbox_state before MCP startup so it can be sent to each