Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion codex-rs/app-server/tests/suite/v2/account.rs
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,9 @@ use wiremock::ResponseTemplate;
use wiremock::matchers::method;
use wiremock::matchers::path;

const DEFAULT_READ_TIMEOUT: std::time::Duration = std::time::Duration::from_secs(10);
// Account tests spin up fresh app-server processes repeatedly, which can take
// longer on slower Bazel macOS runners once the suite is already warm.
const DEFAULT_READ_TIMEOUT: std::time::Duration = std::time::Duration::from_secs(20);
const LOGIN_ISSUER_ENV_VAR: &str = "CODEX_APP_SERVER_LOGIN_ISSUER";

// Helper to create a minimal config.toml for the app server
Expand Down
6 changes: 6 additions & 0 deletions codex-rs/core/config.schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -503,6 +503,9 @@
"unified_exec": {
"type": "boolean"
},
"use_agent_identity": {
"type": "boolean"
},
"use_legacy_landlock": {
"type": "boolean"
},
Expand Down Expand Up @@ -2349,6 +2352,9 @@
"unified_exec": {
"type": "boolean"
},
"use_agent_identity": {
"type": "boolean"
},
"use_legacy_landlock": {
"type": "boolean"
},
Expand Down
3 changes: 2 additions & 1 deletion codex-rs/exec-server/src/server/handler/tests.rs
Original file line number Diff line number Diff line change
Expand Up @@ -275,7 +275,8 @@ async fn output_and_exit_are_retained_after_notification_receiver_closes() {
process_id.as_str(),
shell_argv(
"sleep 0.05; printf 'first\\n'; sleep 0.05; printf 'second\\n'",
"echo first&& ping -n 2 127.0.0.1 >NUL&& echo second",
// `cmd.exe` retains the space before `&&` in `echo first && ...`.
"(echo first) && ping -n 2 127.0.0.1 >NUL && (echo second)",
),
))
.await
Expand Down
8 changes: 8 additions & 0 deletions codex-rs/features/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -186,6 +186,8 @@ pub enum Feature {
ResponsesWebsockets,
/// Legacy rollout flag for Responses API WebSocket transport v2 experiments.
ResponsesWebsocketsV2,
/// Use the agent identity registration flow for ChatGPT-authenticated sessions.
UseAgentIdentity,
}

impl Feature {
Expand Down Expand Up @@ -909,6 +911,12 @@ pub const FEATURES: &[FeatureSpec] = &[
stage: Stage::Removed,
default_enabled: false,
},
FeatureSpec {
id: Feature::UseAgentIdentity,
key: "use_agent_identity",
stage: Stage::UnderDevelopment,
default_enabled: false,
},
];

pub fn unstable_features_warning_event(
Expand Down
18 changes: 18 additions & 0 deletions codex-rs/features/src/tests.rs
Original file line number Diff line number Diff line change
Expand Up @@ -163,6 +163,24 @@ fn remote_control_is_under_development() {
assert_eq!(Feature::RemoteControl.default_enabled(), false);
}

#[test]
fn use_agent_identity_is_under_development() {
assert_eq!(Feature::UseAgentIdentity.stage(), Stage::UnderDevelopment);
assert_eq!(Feature::UseAgentIdentity.default_enabled(), false);
}

#[test]
fn image_detail_original_feature_is_experimental_and_user_toggleable() {
let stage = Feature::ImageDetailOriginal.stage();

assert!(matches!(stage, Stage::Experimental { .. }));
assert_eq!(
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Fix ImageDetailOriginal stage assertion

The added image_detail_original_feature_is_under_development test asserts Feature::ImageDetailOriginal.stage() == Stage::UnderDevelopment, but FEATURES defines ImageDetailOriginal as Stage::Experimental. This makes cargo test -p codex-features fail and can block CI on unrelated work.

Useful? React with 👍 / 👎.

stage.experimental_menu_name(),
Some("Original image detail")
);
assert_eq!(Feature::ImageDetailOriginal.default_enabled(), false);
}

#[test]
fn collab_is_legacy_alias_for_multi_agent() {
assert_eq!(feature_for_key("multi_agent"), Some(Feature::Collab));
Expand Down
Loading