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,