Promote TUI unified mentions in composer to default mentions feature (#27499)

## Summary

This PR promotes Mentions 2.0 (unified TUI mention popup) to stable and
enables it by default.

- Keep `mentions_v2` as a temporary rollback path to the legacy split
popups (`--disable mentions_v2`).
- Add feature-default and snapshot coverage for the default experience.

## Prior work

- [#19068 — Unified mentions in
TUI](https://github.com/openai/codex/pull/19068)
- [#22375 — Use plugin/list to get plugins for
mentions](https://github.com/openai/codex/pull/22375)
- [#23363 — Unified mentions tweaks and rendering
polish](https://github.com/openai/codex/pull/23363)

## Test plan

- Launch Codex without any feature overrides.
- Type `@` in the TUI composer.
- Confirm the unified mentions menu opens and displays filesystem,
plugin, and skill results.
This commit is contained in:
canvrno-oai
2026-06-12 16:29:40 -07:00
committed by GitHub
Unverified
parent 5c48e31954
commit 1bd6b4c41a
8 changed files with 74 additions and 7 deletions
+3 -3
View File
@@ -191,7 +191,7 @@ pub enum Feature {
SkillMcpDependencyInstall,
/// Removed compatibility flag for deleted skill env var dependency prompting.
SkillEnvVarDependencyPrompt,
/// Enable the unified mention popup prototype.
/// Enable the unified mention popup used by default in the TUI.
MentionsV2,
/// Allow request_user_input in Default collaboration mode.
DefaultModeRequestUserInput,
@@ -1119,8 +1119,8 @@ pub const FEATURES: &[FeatureSpec] = &[
FeatureSpec {
id: Feature::MentionsV2,
key: "mentions_v2",
stage: Stage::UnderDevelopment,
default_enabled: false,
stage: Stage::Stable,
default_enabled: true,
},
FeatureSpec {
id: Feature::Steer,
+3 -3
View File
@@ -310,9 +310,9 @@ fn auth_elicitation_is_under_development() {
}
#[test]
fn mentions_v2_is_under_development_and_disabled_by_default() {
assert_eq!(Feature::MentionsV2.stage(), Stage::UnderDevelopment);
assert_eq!(Feature::MentionsV2.default_enabled(), false);
fn mentions_v2_is_stable_and_enabled_by_default() {
assert_eq!(Feature::MentionsV2.stage(), Stage::Stable);
assert_eq!(Feature::MentionsV2.default_enabled(), true);
assert_eq!(feature_for_key("mentions_v2"), Some(Feature::MentionsV2));
}