Add some new space properties. (#4544)

* Use the via property on SpaceRoom.

* Fall back to the canonical alias as a space room name if needs be.

* Use SpaceRoom.isDirect for computing the name/avatar.

* Pass in the parent space as a workaround for no restricted join rules.
This commit is contained in:
Doug
2025-09-26 10:03:11 +01:00
committed by GitHub
parent 3d5901f90d
commit 12dc6f42ba
30 changed files with 178 additions and 102 deletions
@@ -15,6 +15,8 @@ extension SpaceRoomProxyMock {
var avatarURL: URL?
var isSpace: Bool
var isDirect: Bool?
var parent: SpaceRoomProxyProtocol?
var childrenCount = 0
var joinedMembersCount = 0
@@ -35,6 +37,8 @@ extension SpaceRoomProxyMock {
name = configuration.name
avatarURL = configuration.avatarURL
isSpace = configuration.isSpace
isDirect = configuration.isDirect
parent = configuration.parent
childrenCount = configuration.childrenCount
joinedMembersCount = configuration.joinedMembersCount
heroes = configuration.heroes
@@ -125,8 +129,10 @@ extension [SpaceRoomProxyProtocol] {
SpaceRoomProxyMock(.init(id: "!\(typeName.lowercased())3:matrix.org",
name: "Joined \(typeName)",
isSpace: isSpace,
parent: SpaceRoomProxyMock(.init(name: "Company", isSpace: true)),
joinedMembersCount: 123,
topic: "Discussion on specific topic goes here.",
joinRule: .restricted(rules: []),
state: .joined))
]
}