{"repo":"NousResearch/hermes-agent","public_id":"41531","display_label":"Timestamps feature across CLI, TUI, and desktop","summary":"These issues and PRs concern adding or unifying per-message timestamp display across CLI, TUI, and desktop interfaces. A proposed feature consolidates timestamp configuration under a single key and adds unconditional log-line stamps.","subsystem":"apps/desktop","counts":{"members":3,"open_issues":0,"open_issues_distinct":0,"open_prs":0,"closed_issues":2,"merged_prs":1,"attempt_prs":0},"landed_fix":{"status":"merged_to_main","basis":"structural","pr":86783,"merged_at":"2026-08-15T08:04:20+00:00"},"resolution":{"state":"partially_resolved","by":"pr-86783"},"freshness":{"state":"verified","last_verified_at":"2026-08-15T08:04:20+00:00","is_stale":false},"grouping":{"backbone":"STRUCTURAL_PARTIAL","link_density":0.4533333333333333},"fix_edges":[{"issue_number":41531,"pr_number":86783,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-08-15T08:04:20+00:00"},{"issue_number":58674,"pr_number":86783,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-08-15T08:04:20+00:00"},{"issue_number":68052,"pr_number":86783,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-08-15T08:04:20+00:00"},{"issue_number":70450,"pr_number":86783,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-08-15T08:04:20+00:00"},{"issue_number":84405,"pr_number":86783,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-08-15T08:04:20+00:00"}],"members":[{"kind":"issue","number":41531,"title":"TUI / Desktop support for display.timestamps","url":null,"state":"closed"},{"kind":"issue","number":65272,"title":"Feature Request: Per-message timestamps in TUI/Desktop chat","url":null,"state":"closed"},{"kind":"pr","number":86783,"title":"feat(display): timestamps QoL — one display.timestamps key across CLI/TUI/desktop + unconditional log-line stamps (salvages #54690 #70487 #83764 #82840 #84508 #59137)","url":null,"state":"merged","close_reason":{"category":"merged"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["agent/chat_completion_helpers.py","agent/codex_runtime.py","agent/conversation_compression.py","agent/conversation_loop.py","agent/message_metadata.py","agent/message_sanitization.py","agent/model_metadata.py","agent/tool_dispatch_helpers.py","agent/turn_context.py","agent/turn_finalizer.py","apps/desktop/electron/desktop-log-line.test.ts","apps/desktop/electron/desktop-log-line.ts","apps/desktop/electron/main.ts","apps/desktop/src/app/chat/sidebar/session-row.test.tsx","apps/desktop/src/app/chat/sidebar/session-row.tsx","apps/desktop/src/app/session/hooks/use-hermes-config.ts","apps/desktop/src/app/session/hooks/use-message-stream/gateway-event.ts","apps/desktop/src/app/session/hooks/use-message-stream/index.ts","apps/desktop/src/app/session/hooks/use-message-stream/stale-pending-settle.test.tsx","apps/desktop/src/app/session/hooks/use-message-stream/stream-flush.test.tsx","apps/desktop/src/app/session/hooks/use-message-stream/timeline-events.test.tsx","apps/desktop/src/app/session/hooks/use-prompt-actions/rewind.test.ts","apps/desktop/src/app/session/hooks/use-prompt-actions/rewind.ts","apps/desktop/src/app/session/hooks/use-prompt-actions/submit.ts","apps/desktop/src/app/session/hooks/use-session-actions/utils.test.ts","apps/desktop/src/app/session/hooks/use-session-actions/utils.ts","apps/desktop/src/components/assistant-ui/thread/assistant-message.test.tsx","apps/desktop/src/components/assistant-ui/thread/assistant-message.tsx","apps/desktop/src/components/assistant-ui/thread/message-parts.tsx","apps/desktop/src/components/assistant-ui/thread/system-message.test.tsx","apps/desktop/src/components/assistant-ui/thread/system-message.tsx","apps/desktop/src/components/assistant-ui/thread/timeline-timestamp.test.tsx","apps/desktop/src/components/assistant-ui/thread/timeline-timestamp.tsx","apps/desktop/src/components/assistant-ui/thread/timestamp.test.ts","apps/desktop/src/components/assistant-ui/thread/timestamp.ts","apps/desktop/src/components/assistant-ui/thread/user-message.tsx","apps/desktop/src/components/assistant-ui/tool/fallback-model/types.ts","apps/desktop/src/components/assistant-ui/tool/fallback.tsx","apps/desktop/src/components/assistant-ui/tool/tool-group.test.tsx","apps/desktop/src/lib/chat-messages.test.ts","apps/desktop/src/lib/chat-messages.ts","apps/desktop/src/lib/chat-runtime.test.ts","apps/desktop/src/lib/chat-runtime.ts","apps/desktop/src/lib/tool-run-continuity.test.ts","apps/desktop/src/store/display-timestamps.ts","apps/desktop/src/types/hermes.ts","cli.py","contributors/emails/[redacted:email]","contributors/emails/[redacted:email]","contributors/emails/[redacted:email]","contributors/emails/nicochase@users.noreply.github.com","gateway/run.py","hermes_cli/config_defaults.py","hermes_cli/gateway.py","hermes_cli/stderr_timestamp.py","tests/agent/test_close_interrupted_tool_sequence.py","tests/agent/test_codex_app_server_persist.py","tests/agent/test_empty_tool_name_loop_dampening.py","tests/agent/test_message_metadata.py","tests/agent/test_model_metadata.py","tests/agent/test_tool_dispatch_helpers.py","tests/agent/test_turn_context.py","tests/agent/test_turn_finalizer_final_response_persistence.py","tests/cli/test_cli_interrupt_ack_race.py","tests/cli/test_focus_view.py","tests/gateway/test_stderr_formatting.py","tests/hermes_cli/test_gateway.py","tests/hermes_cli/test_gateway_service.py","tests/hermes_cli/test_stderr_timestamp.py","tests/run_agent/test_413_compression.py","tests/run_agent/test_partial_stream_finish_reason.py","tests/run_agent/test_run_agent.py","tui_gateway/server.py","ui-tui/src/__tests__/messages.test.ts","ui-tui/src/app/interfaces.ts","ui-tui/src/app/uiStore.ts","ui-tui/src/app/useConfigSync.ts","ui-tui/src/components/appLayout.tsx","ui-tui/src/components/messageLine.tsx","ui-tui/src/domain/messages.ts","ui-tui/src/gatewayTypes.ts","ui-tui/src/lib/messages.ts","ui-tui/src/types.ts"]}],"trust":{"default_tier":"verified","includes_suggested":false}}