mirror of
https://github.com/openai/codex.git
synced 2026-06-02 03:11:59 +00:00
codex: address PR review feedback (#14710)
This commit is contained in:
@@ -7551,7 +7551,7 @@ smart_approvals = true
|
||||
}
|
||||
|
||||
#[tokio::test]
|
||||
async fn override_turn_context_and_reload_user_config_use_runtime_path() {
|
||||
async fn legacy_runtime_ops_use_runtime_path() {
|
||||
let mut app = make_test_app().await;
|
||||
let app_server = start_test_app_server(app.config.clone()).await;
|
||||
let event = app
|
||||
@@ -7583,6 +7583,16 @@ smart_approvals = true
|
||||
app.submit_app_server_op(&app_server, event.session_id, Op::ReloadUserConfig)
|
||||
.await
|
||||
);
|
||||
assert!(
|
||||
app.submit_app_server_op(
|
||||
&app_server,
|
||||
event.session_id,
|
||||
Op::AddToHistory {
|
||||
text: "persist me".to_string(),
|
||||
},
|
||||
)
|
||||
.await
|
||||
);
|
||||
|
||||
app_server
|
||||
.shutdown()
|
||||
|
||||
@@ -624,11 +624,6 @@ impl App {
|
||||
resolve_server_request(app_server_client, request_id, response, "item/tool/call")
|
||||
.await?;
|
||||
}
|
||||
Op::AddToHistory { text } => {
|
||||
let _ = (thread_id, text);
|
||||
// TODO(app-server): expose message-history append/lookup APIs and migrate
|
||||
// `AddToHistory`/`GetHistoryEntryRequest` together.
|
||||
}
|
||||
Op::ListSkills { cwds, force_reload } => {
|
||||
let response: SkillsListResponse = send_request_with_response(
|
||||
app_server_client,
|
||||
@@ -720,7 +715,8 @@ impl App {
|
||||
self.unsubscribe_thread_via_app_server(app_server_client, thread_id)
|
||||
.await?;
|
||||
}
|
||||
Op::ListCustomPrompts
|
||||
Op::AddToHistory { .. }
|
||||
| Op::ListCustomPrompts
|
||||
| Op::Undo
|
||||
| Op::DropMemories
|
||||
| Op::UpdateMemories
|
||||
|
||||
@@ -678,17 +678,7 @@ async fn run_ratatui_app(
|
||||
None
|
||||
};
|
||||
let login_status = if let Some(app_server) = onboarding_app_server.as_ref() {
|
||||
match read_login_status_via_app_server(app_server).await {
|
||||
Ok(status) => status,
|
||||
Err(err) => {
|
||||
if let Some(app_server) = onboarding_app_server.take() {
|
||||
let _ = app_server.shutdown().await;
|
||||
}
|
||||
restore();
|
||||
session_log::log_session_end();
|
||||
return Err(color_eyre::eyre::eyre!("{err}"));
|
||||
}
|
||||
}
|
||||
read_login_status_via_app_server(app_server).await
|
||||
} else {
|
||||
LoginStatus::NotAuthenticated
|
||||
};
|
||||
|
||||
@@ -10,6 +10,7 @@ use codex_app_server_protocol::LoginAccountResponse;
|
||||
use codex_app_server_protocol::RequestId;
|
||||
use codex_core::auth::AuthMode;
|
||||
use serde::de::DeserializeOwned;
|
||||
use tracing::warn;
|
||||
|
||||
use crate::LoginStatus;
|
||||
|
||||
@@ -105,12 +106,25 @@ pub(crate) fn login_status_from_account(account: Option<&Account>) -> LoginStatu
|
||||
}
|
||||
}
|
||||
|
||||
fn login_status_from_account_read_result(
|
||||
result: Result<GetAccountResponse, String>,
|
||||
) -> LoginStatus {
|
||||
match result {
|
||||
Ok(response) => login_status_from_account(response.account.as_ref()),
|
||||
Err(err) => {
|
||||
warn!(
|
||||
"account/read failed during onboarding startup; continuing unauthenticated: {err}"
|
||||
);
|
||||
LoginStatus::NotAuthenticated
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
pub(crate) async fn read_login_status_via_app_server(
|
||||
app_server: &InProcessAppServerClient,
|
||||
) -> Result<LoginStatus, String> {
|
||||
) -> LoginStatus {
|
||||
let mut api = OnboardingAccountApi::default();
|
||||
let response = api.read_account(app_server).await?;
|
||||
Ok(login_status_from_account(response.account.as_ref()))
|
||||
login_status_from_account_read_result(api.read_account(app_server).await)
|
||||
}
|
||||
|
||||
async fn send_request_with_response<T>(
|
||||
@@ -126,3 +140,16 @@ where
|
||||
.await
|
||||
.map_err(|err| format!("{method} failed: {err}"))
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use super::*;
|
||||
use pretty_assertions::assert_eq;
|
||||
|
||||
#[tokio::test]
|
||||
async fn read_login_status_falls_back_to_unauthenticated_on_rpc_error() {
|
||||
let status = login_status_from_account_read_result(Err("boom".to_string()));
|
||||
|
||||
assert_eq!(status, LoginStatus::NotAuthenticated);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user