Add message timestamps with relative/absolute formatting#48
Merged
Conversation
…tamp Buttons (copy, source toggle) moved from top to bottom of each message bubble. Timestamp shown left-aligned in the footer: relative time (< 24h) or short date. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0197sTYR9EjMxRR9Q2m46cbL
# Conflicts: # frontend/src/components/chatPanel/Message.jsx # frontend/src/components/chatPanel/MessageList.jsx
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0197sTYR9EjMxRR9Q2m46cbL
…roper alignment - transformPage read wrong field (m.createdAt → m.timestamp); backend ChatMessage exposes `timestamp`, so dates were always null. History now shows time/date. - Live bubbles (optimistic user echo, streamed AI) now get a client-side timestamp so the date appears immediately, before reload. - Message render reverted during rebase: footer was back inside the bubble without the .message-block wrapper, breaking width and alignment. Restored footer outside the bubble; AI block left-aligned with buttons on the right, user block right- aligned with buttons on the left. - toolbar.css footer styles updated for the new out-of-bubble placement. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0197sTYR9EjMxRR9Q2m46cbL
User message footer: copy button left, date right (mirror of AI layout). Both AI and user time labels show full date+time on hover via native title tooltip. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0197sTYR9EjMxRR9Q2m46cbL
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Add timestamp display to chat messages with smart formatting: relative time (e.g., "5 мин. назад") for messages < 24 hours old, and absolute date (e.g., "15 янв.") for older messages.
Changes
Message.jsx:
formatTimestamp()utility function that converts timestamps to user-friendly labels (relative for < 24h, absolute date otherwise)timestampprop inMessagecomponent.message-footercontainer below message content, add timestamp display.message-footerbelow message texttoolbar.css:
.message-source-toggleand.message-toolbarwith unified.message-footerlayoutspace-betweento position timestamp on left and action buttons on right.message-footer-timestyling (small, muted text, no selection)ChatWindow.jsx: Pass
createdAttimestamp from message data to bubble objectsMessageList.jsx: Forward
timestampprop toMessagecomponentImplementation notes
https://claude.ai/code/session_0197sTYR9EjMxRR9Q2m46cbL