[codex] Enable remote plugins by default (#30297)

## Summary

- enable the remote plugin feature by default
- promote the remote plugin feature from under development to stable
- preserve the existing `features.remote_plugin` override for explicitly
disabling it
- keep legacy disabled-path coverage explicit in TUI and app-server
tests

## Impact

Remote plugin functionality is enabled by default for configurations
that do not set the feature flag. The existing Codex backend
authentication gate still applies.

## Validation

- `just fmt`
- `just test -p codex-features`
- `just test -p codex-tui
plugins_popup_remote_section_fallback_states_snapshot`
- targeted `codex-app-server` plugin-list and skills-list tests
- `git diff --check`

The full TUI and app-server suites were also exercised locally. All
remote-plugin-related coverage passed; unrelated local
sandbox/test-binary failures remain outside this change.
This commit is contained in:
xl-openai authored and GitHub committed 2026-06-28 11:46:25 -07:00
1 parent bdd282f3bb
commit e428a12d22
15 files changed
+62 -69

No files matched your search

@@ -1062,7 +1062,6 @@ async fn remote_installed_cache_ignores_plugins_missing_local_cache() {
&codex_home.path().join(CONFIG_TOML_FILE),
r#"[features]
plugins = true
remote_plugin = true
"#,
);
@@ -1296,7 +1295,6 @@ async fn remote_global_catalog_ignores_local_curated_plugins() {
&codex_home.path().join(CONFIG_TOML_FILE),
r#"[features]
plugins = true
remote_plugin = true
[plugins."linear@openai-curated"]
enabled = true
@@ -1347,7 +1345,6 @@ async fn remote_plugin_feature_keeps_local_curated_without_codex_backend() {
&codex_home.path().join(CONFIG_TOML_FILE),
r#"[features]
plugins = true
remote_plugin = true
[plugins."linear@openai-curated"]
enabled = true
@@ -4878,7 +4875,6 @@ async fn remote_plugin_caches_refresh_warms_recommended_plugins_cache() {
&tmp.path().join(CONFIG_TOML_FILE),
r#"[features]
plugins = true
remote_plugin = true
"#,
);
@@ -4939,7 +4935,6 @@ async fn recommended_plugins_mode_deduplicates_concurrent_cache_misses() {
&tmp.path().join(CONFIG_TOML_FILE),
r#"[features]
plugins = true
remote_plugin = true
"#,
);
@@ -5017,7 +5012,6 @@ async fn recommended_plugin_candidates_filter_installed_and_disabled_plugins() {
&tmp.path().join(CONFIG_TOML_FILE),
r#"[features]
plugins = true
remote_plugin = true
"#,
);
let server = MockServer::start().await;
@@ -5090,7 +5084,6 @@ async fn recommended_plugins_mode_caches_explicit_false() {
&tmp.path().join(CONFIG_TOML_FILE),
r#"[features]
plugins = true
remote_plugin = true
"#,
);
@@ -5130,7 +5123,6 @@ async fn recommended_plugins_mode_retries_after_fetch_failure() {
&tmp.path().join(CONFIG_TOML_FILE),
r#"[features]
plugins = true
remote_plugin = true
"#,
);