RocketChat / RocketChat/Rocket.Chat

feat: Display User's Local Time and Message Timestamp in Sender’s Timezone*

Open
#35,216 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
46.1k
Forks
13.9k
Avg merge
3d 3h
Merged PRs (30d)
130

Description

Problem Statement

Rocket.Chat is used by teams working across different time zones, making it difficult to coordinate effectively.

  • Message Timestamp Issue: While hovering over a message timestamp shows a detailed time format, it only displays it in the viewer’s local time rather than the sender’s original timezone.
Proposed Solution

Show Message Timestamp in Sender’s Timezone on Hover:

  • When hovering over a message timestamp, display both:
    • Viewer’s local time (current behavior).
    • Sender’s local time when the message was sent (new feature).
  • Example format:
    Sent: Monday, 12 Feb 2025, 10:30 AM (Sender’s Timezone: PST)
    
Implementation Approach
  • Use [Day.js](https://day.js.org/) with the timezone plugin, which is already widely used in JS/TS applications.
  • Update message timestamps to store and retrieve the original sending time in the sender’s timezone.
Benefits

✅ Less confusion about when messages were actually sent.
✅ Uses a robust and lightweight library (Day.js), ensuring easy integration.

Would love feedback from the maintainers and community on this! 🚀

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating the message timestamp hover UI and the existing Day.js usage, then review how message send times and sender timezone data are stored and retrieved. Confirm the expected display with maintainers before changing behavior. Done means the hover shows both viewer-local time and the sender’s local time with timezone information, with coverage for different timezones.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, typescript
Domain
frontend, internationalization
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
28/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.