diff --git a/crates/goose-server/src/routes/schedule.rs b/crates/goose-server/src/routes/schedule.rs index 518252dc679e..b15e3f131481 100644 --- a/crates/goose-server/src/routes/schedule.rs +++ b/crates/goose-server/src/routes/schedule.rs @@ -8,8 +8,6 @@ use axum::{ }; use serde::{Deserialize, Serialize}; -use chrono::NaiveDateTime; - use crate::state::AppState; use goose::scheduler::ScheduledJob; @@ -82,12 +80,6 @@ pub struct SessionDisplayInfo { accumulated_output_tokens: Option, } -fn parse_session_name_to_iso(session_name: &str) -> String { - NaiveDateTime::parse_from_str(session_name, "%Y%m%d_%H%M%S") - .map(|dt| dt.and_utc().to_rfc3339()) - .unwrap_or_else(|_| String::new()) // Fallback to empty string if parsing fails -} - #[utoipa::path( post, path = "/schedule/create", @@ -326,7 +318,7 @@ async fn sessions_handler( display_infos.push(SessionDisplayInfo { id: session_name.clone(), name: session.name, - created_at: parse_session_name_to_iso(&session_name), + created_at: session.created_at.to_rfc3339(), working_dir: session.working_dir.to_string_lossy().into_owned(), schedule_id: session.schedule_id, message_count: session.message_count, diff --git a/ui/desktop/src/components/schedule/ScheduleDetailView.tsx b/ui/desktop/src/components/schedule/ScheduleDetailView.tsx index 5f4e8cbc4040..7697c033babd 100644 --- a/ui/desktop/src/components/schedule/ScheduleDetailView.tsx +++ b/ui/desktop/src/components/schedule/ScheduleDetailView.tsx @@ -631,7 +631,7 @@ const ScheduleDetailView: React.FC = ({ scheduleId, onN

Created:{' '} - {session.createdAt ? new Date(session.createdAt).toLocaleString() : 'N/A'} + {session.createdAt ? formatToLocalDateWithTimezone(session.createdAt) : 'N/A'}

{session.messageCount !== undefined && (