mirror of
https://github.com/openai/codex.git
synced 2026-05-05 22:01:37 +03:00
feat: ignore keyring on 0.0.0 (#17221)
To prevent the spammy: <img width="424" height="172" alt="Screenshot 2026-04-09 at 13 36 16" src="https://github.com/user-attachments/assets/b5ece9e3-c561-422f-87ec-041e7bd6813d" />
This commit is contained in:
@@ -124,6 +124,7 @@ pub(crate) const PROJECT_DOC_MAX_BYTES: usize = 32 * 1024; // 32 KiB
|
||||
pub(crate) const DEFAULT_AGENT_MAX_THREADS: Option<usize> = Some(6);
|
||||
pub(crate) const DEFAULT_AGENT_MAX_DEPTH: i32 = 1;
|
||||
pub(crate) const DEFAULT_AGENT_JOB_MAX_RUNTIME_SECONDS: Option<u64> = None;
|
||||
const LOCAL_DEV_BUILD_VERSION: &str = "0.0.0";
|
||||
|
||||
pub const CONFIG_TOML_FILE: &str = "config.toml";
|
||||
|
||||
@@ -141,6 +142,32 @@ fn resolve_sqlite_home_env(resolved_cwd: &Path) -> Option<PathBuf> {
|
||||
}
|
||||
}
|
||||
|
||||
fn resolve_cli_auth_credentials_store_mode(
|
||||
configured: AuthCredentialsStoreMode,
|
||||
package_version: &str,
|
||||
) -> AuthCredentialsStoreMode {
|
||||
match (package_version, configured) {
|
||||
(
|
||||
LOCAL_DEV_BUILD_VERSION,
|
||||
AuthCredentialsStoreMode::Keyring | AuthCredentialsStoreMode::Auto,
|
||||
) => AuthCredentialsStoreMode::File,
|
||||
(_, mode) => mode,
|
||||
}
|
||||
}
|
||||
|
||||
fn resolve_mcp_oauth_credentials_store_mode(
|
||||
configured: OAuthCredentialsStoreMode,
|
||||
package_version: &str,
|
||||
) -> OAuthCredentialsStoreMode {
|
||||
match (package_version, configured) {
|
||||
(
|
||||
LOCAL_DEV_BUILD_VERSION,
|
||||
OAuthCredentialsStoreMode::Keyring | OAuthCredentialsStoreMode::Auto,
|
||||
) => OAuthCredentialsStoreMode::File,
|
||||
(_, mode) => mode,
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
pub(crate) fn test_config() -> Config {
|
||||
let codex_home = tempfile::tempdir().expect("create temp dir");
|
||||
@@ -2014,11 +2041,17 @@ impl Config {
|
||||
include_environment_context,
|
||||
// The config.toml omits "_mode" because it's a config file. However, "_mode"
|
||||
// is important in code to differentiate the mode from the store implementation.
|
||||
cli_auth_credentials_store_mode: cfg.cli_auth_credentials_store.unwrap_or_default(),
|
||||
cli_auth_credentials_store_mode: resolve_cli_auth_credentials_store_mode(
|
||||
cfg.cli_auth_credentials_store.unwrap_or_default(),
|
||||
env!("CARGO_PKG_VERSION"),
|
||||
),
|
||||
mcp_servers,
|
||||
// The config.toml omits "_mode" because it's a config file. However, "_mode"
|
||||
// is important in code to differentiate the mode from the store implementation.
|
||||
mcp_oauth_credentials_store_mode: cfg.mcp_oauth_credentials_store.unwrap_or_default(),
|
||||
mcp_oauth_credentials_store_mode: resolve_mcp_oauth_credentials_store_mode(
|
||||
cfg.mcp_oauth_credentials_store.unwrap_or_default(),
|
||||
env!("CARGO_PKG_VERSION"),
|
||||
),
|
||||
mcp_oauth_callback_port: cfg.mcp_oauth_callback_port,
|
||||
mcp_oauth_callback_url: cfg.mcp_oauth_callback_url.clone(),
|
||||
model_providers,
|
||||
|
||||
Reference in New Issue
Block a user