[Stability][BUG-009] Chat history timestamps are timezone-shifted
#3120 opened on May 21, 2026
Description
Parent stability dashboard: #3107
This issue tracks BUG-009 from #3107.
Problem
Recently completed chats can appear in the history/search list as roughly 8 hours ago when tested in Asia/Shanghai.
Representative API shape:
Source: threads/history API response inspected in the browser/runtime.
{
"created_at": "2026-05-20T06:10:22.970977",
"updated_at": "2026-05-20T06:12:31.333753"
}
These timestamps have no timezone suffix such as Z or +00:00.
Mechanism
Browser JavaScript parses timezone-less ISO strings as local time:
new Date("2026-05-20T06:12:31.333753")
In Asia/Shanghai, this is interpreted as local 06:12, not UTC 06:12. If the backend intended UTC, the displayed relative time is shifted by about 8 hours.
Code evidence
frontend/src/app/workspace/chats/page.tsx
frontend/src/core/utils/datetime.ts
The frontend passes the raw timestamp string into date formatting without normalizing timezone-less backend timestamps.
Impact
- Recent threads look stale.
- History/search ordering and user trust in persistence/status are affected.
Expected behavior
Backend should return timezone-aware ISO timestamps, preferably UTC with Z, for example:
2026-05-20T06:12:31.333753Z
Alternatively, the frontend should normalize DeerFlow API timestamps without timezone as UTC before formatting.