From bd3f4edd483777eae4213df969eb31e344842e2e Mon Sep 17 00:00:00 2001 From: xli-oai Date: Wed, 29 Apr 2026 22:48:24 -0700 Subject: [PATCH] Fix plugin manager CI failures --- codex-rs/app-server/tests/suite/v2/plugin_list.rs | 14 ++++++++++++-- codex-rs/app-server/tests/suite/v2/skills_list.rs | 4 ++++ codex-rs/config/src/mcp_edit_tests.rs | 2 +- codex-rs/core-plugins/src/manager.rs | 3 ++- codex-rs/core-plugins/src/manager_tests.rs | 10 ++++++---- 5 files changed, 25 insertions(+), 8 deletions(-) diff --git a/codex-rs/app-server/tests/suite/v2/plugin_list.rs b/codex-rs/app-server/tests/suite/v2/plugin_list.rs index 0d119694dc..3d8b54363d 100644 --- a/codex-rs/app-server/tests/suite/v2/plugin_list.rs +++ b/codex-rs/app-server/tests/suite/v2/plugin_list.rs @@ -1186,13 +1186,23 @@ async fn app_server_startup_refreshes_remote_installed_cache_each_process() -> R { let mut mcp = McpProcess::new_with_plugin_startup_tasks(codex_home.path()).await?; timeout(DEFAULT_TIMEOUT, mcp.initialize()).await??; - wait_for_remote_plugin_request_count(&server, "/ps/plugins/installed", 2).await?; + wait_for_remote_plugin_request_count( + &server, + "/ps/plugins/installed", + /*expected_count*/ 2, + ) + .await?; } { let mut mcp = McpProcess::new_with_plugin_startup_tasks(codex_home.path()).await?; timeout(DEFAULT_TIMEOUT, mcp.initialize()).await??; - wait_for_remote_plugin_request_count(&server, "/ps/plugins/installed", 4).await?; + wait_for_remote_plugin_request_count( + &server, + "/ps/plugins/installed", + /*expected_count*/ 4, + ) + .await?; } Ok(()) diff --git a/codex-rs/app-server/tests/suite/v2/skills_list.rs b/codex-rs/app-server/tests/suite/v2/skills_list.rs index b95adb9044..e72ab228ca 100644 --- a/codex-rs/app-server/tests/suite/v2/skills_list.rs +++ b/codex-rs/app-server/tests/suite/v2/skills_list.rs @@ -200,8 +200,10 @@ async fn skills_list_loads_remote_installed_plugin_skills_from_cache() -> Result "installation_policy": "AVAILABLE", "authentication_policy": "ON_USE", "release": { + "version": "local", "display_name": "Linear", "description": "Track work in Linear", + "bundle_download_url": "https://example.com/linear.tar.gz", "app_ids": [], "interface": {}, "skills": [] @@ -222,8 +224,10 @@ async fn skills_list_loads_remote_installed_plugin_skills_from_cache() -> Result "installation_policy": "AVAILABLE", "authentication_policy": "ON_USE", "release": { + "version": "local", "display_name": "Linear", "description": "Track work in Linear", + "bundle_download_url": "https://example.com/linear.tar.gz", "app_ids": [], "interface": {}, "skills": [] diff --git a/codex-rs/config/src/mcp_edit_tests.rs b/codex-rs/config/src/mcp_edit_tests.rs index 8ba6607a57..59304863ae 100644 --- a/codex-rs/config/src/mcp_edit_tests.rs +++ b/codex-rs/config/src/mcp_edit_tests.rs @@ -102,7 +102,7 @@ enabled = true )?; ConfigEditsBuilder::new(&codex_home) - .set_plugin_enabled("linear@openai-curated", true) + .set_plugin_enabled("linear@openai-curated", /*enabled*/ true) .clear_plugin("gmail@openai-curated") .apply() .await?; diff --git a/codex-rs/core-plugins/src/manager.rs b/codex-rs/core-plugins/src/manager.rs index afbcc4f762..5e57896caa 100644 --- a/codex-rs/core-plugins/src/manager.rs +++ b/codex-rs/core-plugins/src/manager.rs @@ -1058,7 +1058,8 @@ impl PluginsManager { if current_enabled != Some(true) { result.enabled_plugin_ids.push(plugin_key.clone()); - config_edits = config_edits.set_plugin_enabled(&plugin_key, true); + config_edits = + config_edits.set_plugin_enabled(&plugin_key, /*enabled*/ true); has_config_edits = true; } } else if !additive_only { diff --git a/codex-rs/core-plugins/src/manager_tests.rs b/codex-rs/core-plugins/src/manager_tests.rs index c8ad0026af..117ae3034b 100644 --- a/codex-rs/core-plugins/src/manager_tests.rs +++ b/codex-rs/core-plugins/src/manager_tests.rs @@ -786,7 +786,9 @@ remote_plugin = true let server = MockServer::start().await; mount_remote_installed_plugin_pages( &server, - &remote_installed_plugin_json_with_release("linear", true, "2.0.0", None), + &remote_installed_plugin_json_with_release( + "linear", /*enabled*/ true, "2.0.0", /*bundle_download_url*/ None, + ), "", ) .await; @@ -836,8 +838,8 @@ remote_plugin = true &server, &format!( "{},\n{}", - remote_installed_plugin_json("linear", true), - remote_installed_plugin_json("gmail", false) + remote_installed_plugin_json("linear", /*enabled*/ true), + remote_installed_plugin_json("gmail", /*enabled*/ false) ), "", ) @@ -938,7 +940,7 @@ async fn remote_installed_plugins_cache_refresh_clears_stale_cache_when_auth_is_ notification_count_for_callback.fetch_add(1, Ordering::SeqCst); })), ); - wait_for_counter(¬ification_count, 1).await; + wait_for_counter(¬ification_count, /*expected*/ 1).await; let outcome = manager .plugins_for_config(