mirror of
https://github.com/openai/codex.git
synced 2026-10-20 17:38:45 +00:00
Track credential storage outcomes and redact sensitive errors (#49384)
## Why Successful file fallback can hide a secure-store failure. Storage diagnostics need to distinguish that fallback from explicit file storage while keeping credential values out of error output. ## What changed - Record credential load, save, delete, and fallback-file cleanup outcomes, including secure-store failures and fallback reasons. - Preserve the initiating client's attribution across app-server requests, login tasks, sessions, turns, and blocking token persistence. - Preserve storage error context and typed causes while redacting credential JSON data errors and payload-bearing keyring errors. - Include sanitized fallback completion warnings in the default `codex login` file logs. ## Testing Add coverage for storage policy and metric attribution, credential redaction, login diagnostics, concurrent app-server clients, device-code login, and token refresh during a turn. GitOrigin-RevId: 6d5651c1718d184016fa77befa02aa528750b2ae
This commit is contained in:
@@ -53,8 +53,14 @@ async fn foreground_update_respects_consent_and_reports_unconfirmed() -> anyhow:
|
||||
continue;
|
||||
}
|
||||
let body: Value = serde_json::from_slice(&requests[0].body)?;
|
||||
let metric = &body["resourceMetrics"][0]["scopeMetrics"][0]["metrics"][0];
|
||||
assert_eq!(metric["name"], "codex.daemon.update");
|
||||
let metric = body["resourceMetrics"]
|
||||
.as_array()
|
||||
.into_iter()
|
||||
.flatten()
|
||||
.flat_map(|resource| resource["scopeMetrics"].as_array().into_iter().flatten())
|
||||
.flat_map(|scope| scope["metrics"].as_array().into_iter().flatten())
|
||||
.find(|metric| metric["name"] == "codex.daemon.update")
|
||||
.context("daemon update metric")?;
|
||||
assert!(
|
||||
metric["sum"]["dataPoints"][0]["attributes"]
|
||||
.as_array()
|
||||
|
||||
Reference in New Issue
Block a user