Add the UserStatus and a status field on UserProfile/RoomMember/TimelineItemSender.

This commit is contained in:
Doug
2026-07-10 12:40:14 +01:00
committed by Doug
parent 5743f263b6
commit 2c4775f357
11 changed files with 122 additions and 9 deletions
@@ -13,6 +13,7 @@ nonisolated struct RoomMemberProxyMockConfiguration {
var userID: String
var displayName: String?
var avatarURL: URL?
var status = UserStatus()
var membership: MembershipState
var isIgnored = false
@@ -23,14 +24,12 @@ nonisolated struct RoomMemberProxyMockConfiguration {
extension RoomMemberProxyMock {
convenience init(with configuration: RoomMemberProxyMockConfiguration) {
self.init()
userID = configuration.userID
displayName = configuration.displayName
if let displayName = configuration.displayName {
disambiguatedDisplayName = "\(displayName) (\(userID))"
}
disambiguatedDisplayName = configuration.displayName.map { "\($0) (\(userID))" }
avatarURL = configuration.avatarURL
status = configuration.status
membership = configuration.membership
isIgnored = configuration.isIgnored
@@ -93,6 +92,20 @@ extension RoomMemberProxyMock {
membership: .join))
}
static var mockErin: RoomMemberProxyMock {
RoomMemberProxyMock(with: .init(userID: "@erin:matrix.org",
displayName: "Erin",
status: .mockFocussing,
membership: .join))
}
static var mockFrank: RoomMemberProxyMock {
RoomMemberProxyMock(with: .init(userID: "@frank:matrix.org",
displayName: "Frank",
status: .mockCall,
membership: .join))
}
static var mockVerbose: RoomMemberProxyMock {
RoomMemberProxyMock(with: .init(userID: "@charliev:matrix.org",
displayName: "Charlie is the best display name",