Skip to content

[Feature]: Locale-aware date format in email list #331

Description

@dealerweb

Problem / Motivation

The email list shows dates in English ("1h ago", "2d ago", "Apr 28") even when I have the UI set to German. Also "1h ago" isn't very useful — I'd rather see the actual time the mail arrived. Pretty much every other mail client (Gmail, Outlook, Apple Mail, Thunderbird) does this differently.

Proposed Solution

Show dates like this instead:

  • Today → just the time, e.g. 15:31
  • Last 7 days → short weekday + time, e.g. Fr 15:31
  • Older → full date in the user's locale, e.g. 28.04.2026 (de) or 04/28/2026 (en)

Respect the user's locale (from the language picker) and the 12h/24h setting that already exists.

I've put together a working implementation here, in case it helps:
https://github.com/dealerweb/bulwark-webmail/compare/main...feature/email-list-date-format

It's a single function in lib/utils.ts, no call-site changes needed.

Works automatically for all 17 locales Bulwark supports — uses Intl.DateTimeFormat under the hood, so no per-language strings to maintain.

Alternatives Considered

No response

Feature Area

Email

Mockups / Examples

No response

Additional Context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions