Skip to content

recall --format detail and tui show UTC timestamps instead of local time (incomplete fix from #119) #254

@Acharnite

Description

@Acharnite

Description

icm recall --format detail and icm tui show timestamps in UTC instead of the user's local timezone. icm list and icm stats are correct — they use the format_local() helper that was added to fix #119.

Reproduction

# Log a memory at 14:23 CEST
icm store -t test -c "hello world"
icm recall --format detail

Observe: created: 12:23 (UTC-0) instead of created: 14:23 (CEST).

Root cause

Issue #119 introduced format_local() in icm_core::time_fmt to convert UTC timestamps at the display boundary, but the fix was only applied to a subset of display paths. Two code paths still call .format() directly on DateTime<Utc>:

1. crates/icm-cli/src/recall_format.rs lines 99-108 (render_detail)

  • m.created_at.format(...) instead of format_local(&m.created_at, ...)
  • m.last_accessed.format(...) instead of format_local(&m.last_accessed, ...)

This is the path used by icm recall --format detail.

2. crates/icm-cli/src/tui.rs — 9 instances

Lines 742, 747 (StoreStats oldest/newest), 989 (TopicHealth.last_accessed), 1345, 1349, 1353 (TopicHealth detail), 1433, 1437, 1441 (memory detail view).

Fix

Replace .format(...) with format_local(&dt, ...) in both files. The helper is re-exported as icm_core::format_local.

Affected paths (correct for reference)

  • main.rs:5786,5790print_memory_detail()
  • main.rs:3183,3186cmd_stats()
  • icm-mcp/src/tools.rs:1415,1421 — MCP stats ✅

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions