Add support for aliases to RoomProxy and bump the SDK. (#486)

This commit is contained in:
Doug
2023-01-24 17:01:00 +00:00
committed by GitHub
parent b8e2d6f823
commit 3a74f13097
8 changed files with 21 additions and 11 deletions
@@ -29,6 +29,8 @@ struct MockRoomProxy: RoomProxyProtocol {
var isPublic = Bool.random()
var isEncrypted = Bool.random()
var isTombstoned = Bool.random()
var canonicalAlias: String?
var alternativeAliases: [String] = []
var hasUnreadNotifications = Bool.random()
var members: [RoomMemberProxy]?
@@ -83,6 +83,14 @@ class RoomProxy: RoomProxyProtocol {
room.isTombstoned()
}
var canonicalAlias: String? {
room.canonicalAlias()
}
var alternativeAliases: [String] {
room.alternativeAliases()
}
var hasUnreadNotifications: Bool {
slidingSyncRoom.hasUnreadNotifications()
}
@@ -40,6 +40,8 @@ protocol RoomProxyProtocol {
var isSpace: Bool { get }
var isEncrypted: Bool { get }
var isTombstoned: Bool { get }
var canonicalAlias: String? { get }
var alternativeAliases: [String] { get }
var hasUnreadNotifications: Bool { get }
var name: String? { get }
@@ -261,14 +261,11 @@ class RoomTimelineController: RoomTimelineControllerProtocol {
}
case .virtual(let virtualItem):
switch virtualItem {
case .dayDivider(let year, let month, let day):
case .dayDivider(let timestamp):
// These components will be replaced by a timestamp in upcoming releases
let dateComponents = DateComponents(calendar: .current, year: Int(year), month: Int(month), day: Int(day))
if let dateString = dateComponents.date?.formatted(date: .complete, time: .omitted) {
newTimelineItems.append(SeparatorRoomTimelineItem(text: dateString))
} else {
MXLog.error("Failed formatting separator date")
}
let date = Date(timeIntervalSince1970: TimeInterval(timestamp / 1000))
let dateString = date.formatted(date: .complete, time: .omitted)
newTimelineItems.append(SeparatorRoomTimelineItem(text: dateString))
case .readMarker:
// Don't show the read marker if it's the last item in the timeline
if index != timelineProvider.itemsPublisher.value.indices.last {