Skip to content

fix(message): use locale-aware time formatting in IMP_Message_Date (#22) - #82

Merged
ralflang merged 1 commit into
horde:pr/82-message-datefrom
jcdelepine:fix/message-date
Jun 27, 2026
Merged

ralflang merged 1 commit into
horde:pr/82-message-datefrom
jcdelepine:fix/message-date

Conversation

@jcdelepine

@jcdelepine jcdelepine commented Jun 27, 2026 •

Copy link
Copy Markdown
Contributor

Title: fix(message): use locale-aware time formatting in IMP_Message_Date (#22)

Description:

IMP_Message_Date::_format() passed the preference value directly to Horde\Date\Format::formatDate(). When time_format or time_format_mini held a named ICU style ('medium', 'short'), formatDate() formatted the date portion instead of the time portion, resulting in dates being displayed where times were expected.

Fix by using Horde\Date\Format::TIME_ONLY for time preferences:

if (in_array($type, ['time_format', 'time_format_mini'], true)) {
    return ltrim(Horde\Date\Format::formatDate((int) $udate, $GLOBALS['prefs']->getValue($type), $GLOBALS['language'] ?? 'en_US', Horde\Date\Format::TIME_ONLY));
}
return ltrim(Horde\Date\Format::formatDate((int) $udate, $GLOBALS['prefs']->getValue($type), $GLOBALS['language'] ?? 'en_US'));

Depends on feat(format): add TIME_ONLY constant and parameter to formatDate() : horde/Date#19.
@ralflang FYI.

@ralflang
ralflang changed the base branch from FRAMEWORK_6_0 to pr/82-message-date June 27, 2026 11:37
@ralflang
ralflang merged commit 809bb4f into horde:pr/82-message-date Jun 27, 2026
0 of 6 checks passed
ralflang added a commit that referenced this pull request Jun 30, 2026
Release version 7.0.0

fix(doc): repair changelog.yml syntax for legacy 0.0.1 entry
test: add @coversNothing and drop empty anonymous-class parens in ItipRequestCounterTest
chore: update CI
fix: is: time-ago is the trigger, not the outcome
fix(dynamic): handle dynamically inserted time elements via MutationObserver (#22)
refactor: Most of PR #82 's changes are no longer needed due horde/base#120 and horde/Date#19
fix(message): use locale-aware time formatting in IMP_Message_Date (#22)
fix(themes): dark-mode overrides for dynamic compose
fix(compose): batch multi-file attachment uploads into one request (#76)
fix(compose): batch multi-file attachment uploads into one request (#76)
fix(dynamic): localize relative date display via Intl.RelativeTimeFormat (#22)
fix: Intermittent crashes when session data cannot be unpacked
fix(imp): repair HTML view-in-popup after Horde 6 CSRF tokens
fix(imp): avoid undefined data key in delivery status render
feat(imp): show iTip RSVP UI above invitation HTML body
feat(imp): show iTip RSVP UI above invitation HTML body
fix(icons): update delete-small autocompleter remove icon
fix(icons): update delete-small autocompleter remove icon
feat(imp): Expose IMP dynamic view dimensions as CSS custom properties
Address review: use sidebar's rendered clientWidth for left offsets
Expose IMP dynamic view dimensions as CSS custom properties
Merge pull request #68 from horde/feat/polish_EAS16.1
test: rename misleading counter-accept test
Potential fix for pull request finding
Potential fix for pull request finding
Update mime_drivers.php
feat(imp): wire EAS 16.1 counter-proposal accept/decline in iTip UI
Merge pull request #67 from horde/feat/Initial_EAS16.1-support
Delete doc/pr directory
fix(imp): address COUNTER iTIP review feedback
feat(imp): handle COUNTER accept/decline workflows and proposal updates
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants