Space flow improvements. (#4430)

* Space flow improvements

- Use a state machine to select a space.
- Add a SpaceFlowCoordinator for recursively presenting subspaces.
- Get the spaceRoomListProxy when tapping on the space so we can indicate failures.
- Fix the total room count in SpaceListScreen.

* Refactor spaceRoom → spaceRoomProxy.

* Add a UI test for the Spaces flow.
This commit is contained in:
Doug
2025-08-22 15:49:47 +01:00
committed by GitHub
parent bb5deb9c50
commit d119964d50
34 changed files with 503 additions and 73 deletions
@@ -57,6 +57,8 @@ class ClientProxy: ClientProxyProtocol {
private(set) var sessionVerificationController: SessionVerificationControllerProxyProtocol?
let spaceService: SpaceServiceProxyProtocol
private static var roomCreationPowerLevelOverrides: PowerLevels {
.init(usersDefault: nil,
eventsDefault: nil,
@@ -164,6 +166,10 @@ class ClientProxy: ClientProxyProtocol {
secureBackupController = SecureBackupController(encryption: client.encryption())
// Temporarily using the mock until the SDK is updated.
// spaceService = SpaceServiceProxy(spaceService: client.spaceService())
spaceService = SpaceServiceProxyMock(.init())
let configuredAppService = try await ClientProxyServices(client: client,
actionsSubject: actionsSubject,
notificationSettings: notificationSettings,