From 43770ab480ea9de03e0674e1c741464efc753cc9 Mon Sep 17 00:00:00 2001 From: Doug <6060466+pixlwave@users.noreply.github.com> Date: Wed, 21 Jan 2026 17:16:23 +0000 Subject: [PATCH] Replace a debugging visibility check with the real condition. (#4982) --- ElementX/Sources/Mocks/ClientProxyMock.swift | 5 +++-- .../Screens/Spaces/SpaceScreen/View/SpaceScreen.swift | 2 +- ElementX/Sources/UITests/UITestsAppCoordinator.swift | 4 +++- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/ElementX/Sources/Mocks/ClientProxyMock.swift b/ElementX/Sources/Mocks/ClientProxyMock.swift index dc642814a..372c67339 100644 --- a/ElementX/Sources/Mocks/ClientProxyMock.swift +++ b/ElementX/Sources/Mocks/ClientProxyMock.swift @@ -18,6 +18,7 @@ struct ClientProxyMockConfiguration { var roomSummaryProvider: RoomSummaryProviderProtocol = RoomSummaryProviderMock(.init()) var spaceServiceConfiguration: SpaceServiceProxyMock.Configuration = .init() var roomPreviews: [RoomPreviewProxyProtocol]? + var defaultRoomMembers: [RoomMemberProxyMock] = .allMembers var roomDirectorySearchProxy: RoomDirectorySearchProxyProtocol? var overrides = Overrides() @@ -119,12 +120,12 @@ extension ClientProxyMock { let roomProxy = await KnockedRoomProxyMock(.init(id: room.id, name: room.name)) return .knocked(roomProxy) default: - let roomProxy = await JoinedRoomProxyMock(.init(id: room.id, name: room.name, isSpace: room.isSpace)) + let roomProxy = await JoinedRoomProxyMock(.init(id: room.id, name: room.name, isSpace: room.isSpace, members: configuration.defaultRoomMembers)) roomProxy.loadOrFetchEventDetailsForReturnValue = .success(TimelineEventSDKMock()) return .joined(roomProxy) } } else if let spaceServiceRoom = configuration.spaceServiceConfiguration.topLevelSpaces.first(where: { $0.id == identifier }) { - let roomProxy = await JoinedRoomProxyMock(.init(id: spaceServiceRoom.id, name: spaceServiceRoom.name, isSpace: spaceServiceRoom.isSpace)) + let roomProxy = await JoinedRoomProxyMock(.init(id: spaceServiceRoom.id, name: spaceServiceRoom.name, isSpace: spaceServiceRoom.isSpace, members: configuration.defaultRoomMembers)) roomProxy.loadOrFetchEventDetailsForReturnValue = .success(TimelineEventSDKMock()) return .joined(roomProxy) } else { diff --git a/ElementX/Sources/Screens/Spaces/SpaceScreen/View/SpaceScreen.swift b/ElementX/Sources/Screens/Spaces/SpaceScreen/View/SpaceScreen.swift index 2e4cbe2eb..edd5210dc 100644 --- a/ElementX/Sources/Screens/Spaces/SpaceScreen/View/SpaceScreen.swift +++ b/ElementX/Sources/Screens/Spaces/SpaceScreen/View/SpaceScreen.swift @@ -95,7 +95,7 @@ struct SpaceScreen: View { // controller attempts to anchor itself to the button that is no longer visible. ToolbarItem(placement: .primaryAction) { Menu { - if true { + if context.viewState.canEditChildren { Section { Button { context.send(viewAction: .addExistingRooms) } label: { Label(L10n.actionAddExistingRooms, icon: \.room) diff --git a/ElementX/Sources/UITests/UITestsAppCoordinator.swift b/ElementX/Sources/UITests/UITestsAppCoordinator.swift index a0f63e114..3d1a6b941 100644 --- a/ElementX/Sources/UITests/UITestsAppCoordinator.swift +++ b/ElementX/Sources/UITests/UITestsAppCoordinator.swift @@ -587,6 +587,7 @@ class MockScreen: Identifiable { appSettings.hasRunNotificationPermissionsOnboarding = true appSettings.analyticsConsentState = .optedOut appSettings.hasSeenSpacesAnnouncement = true + appSettings.spaceSettingsEnabled = true let roomSummaries: [RoomSummary] = if id == .userSessionSpacesFlow { [[RoomSummary].mockSpaceInvites[0]] + .mockRooms @@ -597,7 +598,8 @@ class MockScreen: Identifiable { deviceID: "MOCKCLIENT", roomSummaryProvider: RoomSummaryProviderMock(.init(state: .loaded(roomSummaries))), spaceServiceConfiguration: .init(topLevelSpaces: .mockSpaceList.filter(\.isSpace) + .mockSingleRoom), - roomPreviews: [SpaceServiceRoomProtocol].mockSpaceList.map(RoomPreviewProxyMock.init))) + roomPreviews: [SpaceServiceRoomProtocol].mockSpaceList.map(RoomPreviewProxyMock.init), + defaultRoomMembers: .allMembersAsAdmin)) clientProxy.recentlyVisitedRoomsFilterReturnValue = .mockRooms // The tab bar remains hidden for the non-spaces tests as we don't supply any mock spaces.