From f2b490e2e84bb4c9fb373b0b38ecd8f497ecddf2 Mon Sep 17 00:00:00 2001 From: "Gan, Jimmy" Date: Thu, 2 Apr 2026 01:28:18 +0800 Subject: [PATCH] fix: strip timezone from datetime fields in task update endpoint --- dashboard/backend/routers/opc_tasks.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/dashboard/backend/routers/opc_tasks.py b/dashboard/backend/routers/opc_tasks.py index b9f0b08..f099ce2 100644 --- a/dashboard/backend/routers/opc_tasks.py +++ b/dashboard/backend/routers/opc_tasks.py @@ -158,6 +158,12 @@ async def update_task( if new_status == "done" and old_status != "done": updates["completed_at"] = datetime.utcnow() + # Strip timezone info from datetime fields (database uses TIMESTAMP not TIMESTAMPTZ) + if "due_date" in updates and updates["due_date"] is not None: + updates["due_date"] = updates["due_date"].replace(tzinfo=None) + if "completed_at" in updates and updates["completed_at"] is not None: + updates["completed_at"] = updates["completed_at"].replace(tzinfo=None) + updated_task = await opc_db.update_task( task_id=task_id, updates=updates,