fix: use sqlx chrono decode for thread timestamps instead of manual parsing (#8575)

Signed-off-by: Matt Toohey <contact@matttoohey.com>
This commit is contained in:
Matt Toohey
2026-04-16 13:06:52 +10:00
committed by GitHub
parent d3881897a1
commit c29e3203b4
+7 -7
View File
@@ -54,9 +54,9 @@ type ThreadRow = (
String, String,
bool, bool,
Option<String>, Option<String>,
String, DateTime<Utc>,
String, DateTime<Utc>,
Option<String>, Option<DateTime<Utc>>,
String, String,
Option<String>, Option<String>,
i64, i64,
@@ -70,21 +70,21 @@ fn thread_from_row(
working_dir, working_dir,
created_at, created_at,
updated_at, updated_at,
archived_at_str, archived_at,
metadata_json, metadata_json,
current_session_id, current_session_id,
message_count, message_count,
): ThreadRow, ): ThreadRow,
) -> Result<Thread> { ) -> Result<Thread> {
let metadata: ThreadMetadata = serde_json::from_str(&metadata_json).unwrap_or_default(); let metadata: ThreadMetadata = serde_json::from_str(&metadata_json).unwrap_or_default();
let archived_at = archived_at_str.as_deref().and_then(|s| s.parse().ok());
Ok(Thread { Ok(Thread {
id, id,
name, name,
user_set_name, user_set_name,
working_dir, working_dir,
created_at: created_at.parse().unwrap_or_else(|_| Utc::now()), created_at,
updated_at: updated_at.parse().unwrap_or_else(|_| Utc::now()), updated_at,
archived_at, archived_at,
metadata, metadata,
current_session_id, current_session_id,