From 0be91c3e24110af997c74e158a3a5b5e93ca894f Mon Sep 17 00:00:00 2001 From: Michael Bolin Date: Thu, 12 Feb 2026 14:53:34 -0800 Subject: [PATCH] app-server: use in-memory rollout path for detached review --- codex-rs/app-server/src/codex_message_processor.rs | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/codex-rs/app-server/src/codex_message_processor.rs b/codex-rs/app-server/src/codex_message_processor.rs index aaffa266f0..f1e4b83d2c 100644 --- a/codex-rs/app-server/src/codex_message_processor.rs +++ b/codex-rs/app-server/src/codex_message_processor.rs @@ -5152,10 +5152,13 @@ impl CodexMessageProcessor { &mut self, request_id: &ConnectionRequestId, parent_thread_id: ThreadId, + parent_thread: Arc, review_request: ReviewRequest, display_text: &str, ) -> std::result::Result<(), JSONRPCErrorError> { - let rollout_path = + let rollout_path = if let Some(path) = parent_thread.rollout_path() { + path + } else { find_thread_path_by_id_str(&self.config.codex_home, &parent_thread_id.to_string()) .await .map_err(|err| JSONRPCErrorError { @@ -5167,7 +5170,8 @@ impl CodexMessageProcessor { code: INVALID_REQUEST_ERROR_CODE, message: format!("no rollout found for thread id {parent_thread_id}"), data: None, - })?; + })? + }; let mut config = self.config.as_ref().clone(); if let Some(review_model) = &config.review_model { @@ -5290,6 +5294,7 @@ impl CodexMessageProcessor { .start_detached_review( &request_id, parent_thread_id, + parent_thread, review_request, display_text.as_str(), )