Skip to content

feat(messenger): show message send times in the chat - #1842

Merged
bmc08gt merged 1 commit into
code/cashfrom
feat/message-timestamps
Oct 23, 2026
Merged

bmc08gt merged 1 commit into
code/cashfrom
feat/message-timestamps

Conversation

@bmc08gt

@bmc08gt bmc08gt commented Oct 23, 2026

Copy link
Copy Markdown
Collaborator

The only way to see when a message was sent was the date separators, and on Android those appear only after 3 hours of quiet. Spec: code-payments/flipcash-client-orchestrator#57. iOS is implementing the same behavior in parallel.

  • Reveal: a left drag on the transcript slides your own bubbles 76dp left (a 64dp time column plus a 12dp margin) and shows their send times. Received bubbles stay in place and their times share the same column. The bubbles spring back on release.
  • Gesture handling: the drag is detected on the list's initial pointer pass. A right drag still reaches the row's swipe-to-reply, and a drag that starts inside the right edge's system gesture inset is left to predictive back. SwipeToReply.kt is unchanged.
  • Selection bar: the empty title slot in MessageSelectionBar now shows the selected message's full time, e.g. "Today, 6:13 PM", in textMedium.
  • Accessibility: each bubble adds its full time as a state description, so TalkBack reads it after the message text.

The full-time formatter is in chat-ui (MessageTime.kt) so the bar and the bubble share it. New tests: MessageTimeTest, TimestampRevealTest, and a ChatMessageActionScreenshotTest case for the bar.

The 3-hour separator gap is unchanged. It comes from SeparatorConfig.Continuous(), where iOS uses 15 minutes.

A send time was only visible through the date separators, which on
Android appear after 3 hours of quiet.

- A left drag on the transcript slides the viewer's own bubbles 76dp
  left and uncovers a column of send times; received bubbles stay put
  and their times join the same column. It springs back on release.
  The drag runs on the list's initial pointer pass, so a right drag
  still reaches the row's swipe-to-reply, and a drag that starts in
  the right edge's system gesture inset is left to predictive back.
- The selection bar's empty title slot shows the selected message's
  full time ("Today, 6:13 PM").
- Each bubble adds its full time as a state description, so TalkBack
  reads it after the message text.
@bmc08gt bmc08gt self-assigned this Oct 23, 2026
@github-actions github-actions Bot added the type: feature New functionality label Oct 23, 2026
@bmc08gt
bmc08gt merged commit c55552a into code/cash Oct 23, 2026
5 checks passed
@bmc08gt
bmc08gt deleted the feat/message-timestamps branch October 23, 2026 21:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

type: feature New functionality

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant