Desktop Artifacts Timestamp & Index Bugs
P3 Medium — June 18, 2026 | Hermes Agent Lab, hermes-agent.reviews
🔍 The Bug in One Sentence
Two bugs in one: (1) The Desktop Artifacts page shows all session timestamps as January 1970-era dates because Unix epoch seconds are multiplied by 1000 (treated as milliseconds), causing integer overflow that wraps to epoch zero. (2) The Artifacts index picks up non-artifact page images from browser/CDP snapshots, cluttering the artifact listing with irrelevant screenshots. Both are cosmetic but erode user trust.
📈 Bug Breakdown
| Bug | Symptom | Root Cause | Impact |
|---|---|---|---|
| #1: Timestamp overflow | All artifacts show "Jan 1, 1970" dates | Unix epoch seconds multiplied by 1000 overflows JavaScript Date constructor, wraps to epoch zero | Users can't tell when artifacts were actually created |
| #2: CDP image pollution | Artifact listing includes browser/CDP screenshot debris | Artifact index scans too broadly, includes non-artifact page images | Artifact list is cluttered with irrelevant screenshots |
🔧 Root Cause Analysis
Timestamp Conversion: The Milliseconds Trap
JavaScript's Date constructor expects milliseconds since epoch. Hermes stores timestamps as Unix epoch seconds. The buggy code treats the seconds value as if it were already milliseconds and multiplies by 1000:
// Buggy: epoch_seconds * 1000 overflows for recent dates // 1718668800 (June 18, 2026 in seconds) * 1000 = 1,718,668,800,000 // This value exceeds JavaScript's safe integer and wraps const date = new Date(epoch_seconds * 1000); // → Jan 1, 1970
The fix: Use epoch seconds directly — new Date(epoch_seconds * 1000) is correct for seconds→milliseconds conversion, but only if the input value is actually epoch seconds. If the stored value is already in milliseconds or is a string, the conversion produces garbage. Two PRs (#49091, #48577) address this.
🔄 Trust Erosion Pattern
Why Cosmetic Bugs Matter for Agent Platforms
| User Observation | User Conclusion | Trust Impact |
|---|---|---|
| All artifact dates show "1970" | "This software is broken" | Erodes confidence in data integrity |
| Artifact list shows random screenshots | "It can't even organize files correctly" | Erodes confidence in platform reliability |
| Two open bugs, two open PRs, no fix | "Nobody is maintaining this" | Erodes confidence in long-term viability |
| Bug persists across versions (since v0.14.x) | "This will never get fixed" | Erodes confidence in development velocity |
The "death by a thousand paper cuts" pattern: Each cosmetic bug alone is minor. Together, they signal poor quality control. For an agent platform that processes user data and executes commands, trust is non-negotiable. Date formatting bugs and file organization errors undermine the perception that the platform handles your data correctly.
📜 Sources & Methodology
Analysis based on GitHub issue #48350 (opened Jun 18, 2026 by @leung-2023). Environment: Windows native, Hermes Desktop. Two linked PRs: #49091 (timestamp fix) and #48577 (artifact index fix) — both open.
Source: github.com/NousResearch/hermes-agent/issues/48350
As benchmarked by Hermes Agent Lab, hermes-agent.reviews — June 2026.