Fixes #2679 - Timestamps in room list inconsistently use absolute and relative formatting

This commit is contained in:
Stefan Ceriu 2024-06-18 17:38:52 +03:00 committed by Stefan Ceriu
parent 834260c144
commit 4a9de65030
4 changed files with 7 additions and 2 deletions

View File

@ -26,7 +26,8 @@ extension Date {
return formatted(date: .omitted, time: .shortened)
} else if calendar.isDateInYesterday(self) {
// Simply "Yesterday" if it was yesterday.
return formatted(Date.RelativeFormatStyle(presentation: .named, capitalizationContext: .beginningOfSentence))
guard let yesterday = Calendar.current.date(byAdding: .day, value: -1, to: Date()) else { fatalError() }
return yesterday.formatted(Date.RelativeFormatStyle(presentation: .named, capitalizationContext: .beginningOfSentence))
} else if let sixDaysAgo = calendar.date(byAdding: .day, value: -6, to: calendar.startOfDay(for: .now)),
sixDaysAgo <= self {
// The named day if it was in the last 6 days.

View File

@ -484,7 +484,7 @@ struct RoomTimelineItemFactory: RoomTimelineItemFactoryProtocol {
return firstTimestamp > secondTimestamp
}
.map { key, receipt in
ReadReceipt(userID: key, formattedTimestamp: receipt.dateTimestamp?.formatted(date: .omitted, time: .shortened))
ReadReceipt(userID: key, formattedTimestamp: receipt.dateTimestamp?.formattedMinimal())
}
}

View File

@ -31,6 +31,9 @@ class DateTests: XCTestCase {
let yesterday = calendar.date(byAdding: .hour, value: 1, to: startOfYesterday)!
XCTAssertEqual(yesterday.formattedMinimal(), yesterday.formatted(Date.RelativeFormatStyle(presentation: .named, capitalizationContext: .beginningOfSentence)))
let nearYesterday = calendar.date(byAdding: DateComponents(hour: -10), to: today)!
XCTAssertEqual(nearYesterday.formattedMinimal(), yesterday.formatted(Date.RelativeFormatStyle(presentation: .named, capitalizationContext: .beginningOfSentence)))
let threeDaysAgo = calendar.date(byAdding: .day, value: -3, to: startOfToday)!
XCTAssertEqual(threeDaysAgo.formattedMinimal(), threeDaysAgo.formatted(.dateTime.weekday(.wide)))

1
changelog.d/2679.bugfix Normal file
View File

@ -0,0 +1 @@
Timestamps in room list inconsistently use absolute and relative formatting