From e20e4edbab090607a0ca56263deeae57c37c24d2 Mon Sep 17 00:00:00 2001 From: easong-openai Date: Fri, 26 Sep 2025 03:17:14 -0700 Subject: [PATCH] no review tasks --- codex-rs/cloud-tasks-client/src/api.rs | 3 +++ codex-rs/cloud-tasks-client/src/http.rs | 4 ++++ codex-rs/cloud-tasks-client/src/mock.rs | 1 + codex-rs/cloud-tasks/src/app.rs | 5 ++++- 4 files changed, 12 insertions(+), 1 deletion(-) diff --git a/codex-rs/cloud-tasks-client/src/api.rs b/codex-rs/cloud-tasks-client/src/api.rs index a673ed01bb..ea3f65dce9 100644 --- a/codex-rs/cloud-tasks-client/src/api.rs +++ b/codex-rs/cloud-tasks-client/src/api.rs @@ -41,6 +41,9 @@ pub struct TaskSummary { /// Human-friendly environment label (when available) pub environment_label: Option, pub summary: DiffSummary, + /// True when the backend reports this task as a code review. + #[serde(default)] + pub is_review: bool, } #[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)] diff --git a/codex-rs/cloud-tasks-client/src/http.rs b/codex-rs/cloud-tasks-client/src/http.rs index ffb0cd2c0d..af24189a11 100644 --- a/codex-rs/cloud-tasks-client/src/http.rs +++ b/codex-rs/cloud-tasks-client/src/http.rs @@ -535,6 +535,10 @@ fn map_task_list_item_to_summary(src: backend::TaskListItem) -> TaskSummary { environment_id: None, environment_label: env_label_from_status_display(src.task_status_display.as_ref()), summary: diff_summary_from_status_display(src.task_status_display.as_ref()), + is_review: src + .pull_requests + .as_ref() + .map_or(false, |prs| !prs.is_empty()), } } diff --git a/codex-rs/cloud-tasks-client/src/mock.rs b/codex-rs/cloud-tasks-client/src/mock.rs index de1160f65f..a2342400b7 100644 --- a/codex-rs/cloud-tasks-client/src/mock.rs +++ b/codex-rs/cloud-tasks-client/src/mock.rs @@ -51,6 +51,7 @@ impl CloudBackend for MockClient { lines_added: a, lines_removed: d, }, + is_review: false, }); } Ok(out) diff --git a/codex-rs/cloud-tasks/src/app.rs b/codex-rs/cloud-tasks/src/app.rs index 1cc1c48aee..9de6e47382 100644 --- a/codex-rs/cloud-tasks/src/app.rs +++ b/codex-rs/cloud-tasks/src/app.rs @@ -115,7 +115,9 @@ pub async fn load_tasks( ) -> anyhow::Result> { // In later milestones, add a small debounce, spinner, and error display. let tasks = tokio::time::timeout(Duration::from_secs(5), backend.list_tasks(env)).await??; - Ok(tasks) + // Hide review-only tasks from the main list. + let filtered: Vec = tasks.into_iter().filter(|t| !t.is_review).collect(); + Ok(filtered) } pub struct DiffOverlay { @@ -216,6 +218,7 @@ mod tests { environment_id: env.map(|s| s.to_string()), environment_label: None, summary: codex_cloud_tasks_client::DiffSummary::default(), + is_review: false, }); } Ok(out)