From b1e7069ac320ce2432f4a9f9f56fe196b9b52d72 Mon Sep 17 00:00:00 2001 From: Nicolas Buquet Date: Wed, 2 Oct 2024 11:30:24 +0200 Subject: [PATCH] typo in build files and lint --- .../Sources/Application/AppCoordinator.swift | 1 - .../AppLockFlowCoordinator.swift | 3 -- .../OnboardingFlowCoordinator.swift | 5 -- .../RoomFlowCoordinator.swift | 53 ++++++++++--------- .../UserSessionFlowCoordinator.swift | 10 ---- ...erSessionFlowCoordinatorStateMachine.swift | 7 +++ .../MockServerSelectionScreenState.swift | 1 - ...essionVerificationScreenStateMachine.swift | 4 ++ .../View/SessionVerificationScreen.swift | 1 + ...mNotificationSettingsScreenViewModel.swift | 1 + .../RoomScreen/View/SwipeRightAction.swift | 6 +-- .../View/ItemMenu/TimelineItemMenu.swift | 4 +- .../Audio/Recorder/AudioRecorder.swift | 1 + TchapX/staging/SupportingFiles/NSE/target.yml | 2 +- 14 files changed, 48 insertions(+), 51 deletions(-) diff --git a/ElementX/Sources/Application/AppCoordinator.swift b/ElementX/Sources/Application/AppCoordinator.swift index c979c0035b..c5b70a1100 100644 --- a/ElementX/Sources/Application/AppCoordinator.swift +++ b/ElementX/Sources/Application/AppCoordinator.swift @@ -406,7 +406,6 @@ class AppCoordinator: AppCoordinatorProtocol, AuthenticationFlowCoordinatorDeleg presentSplashScreen() case (.restoringSession, .createdUserSession, .signedIn): setupUserSession(isNewLogin: false) - case (.signingOut, .signOut, .signingOut): // We can ignore signOut when already in the process of signing out, // such as the SDK sending an authError due to token invalidation. diff --git a/ElementX/Sources/FlowCoordinators/AppLockFlowCoordinator.swift b/ElementX/Sources/FlowCoordinators/AppLockFlowCoordinator.swift index f309d81006..322cecf830 100644 --- a/ElementX/Sources/FlowCoordinators/AppLockFlowCoordinator.swift +++ b/ElementX/Sources/FlowCoordinators/AppLockFlowCoordinator.swift @@ -141,7 +141,6 @@ class AppLockFlowCoordinator: CoordinatorProtocol { switch (fromState, event) { case (.initial, .start): return .backgrounded - case (.unlocked, .willResignActive): return .appObscured case (.appObscured, .didBecomeActive): @@ -165,14 +164,12 @@ class AppLockFlowCoordinator: CoordinatorProtocol { return .unlocked case (.attemptingPINUnlock, .forceLogout): return .loggingOut - // Transition to a valid state when enabling the service for the first time. case (.initial, .serviceEnabled): return .unlocked // Transition to a valid state once the service is disabled following a forced logout. case (.loggingOut, .serviceDisabled): return .unlocked - default: return fromState } diff --git a/ElementX/Sources/FlowCoordinators/OnboardingFlowCoordinator.swift b/ElementX/Sources/FlowCoordinators/OnboardingFlowCoordinator.swift index e64ff8f465..ff1b48e11a 100644 --- a/ElementX/Sources/FlowCoordinators/OnboardingFlowCoordinator.swift +++ b/ElementX/Sources/FlowCoordinators/OnboardingFlowCoordinator.swift @@ -160,7 +160,6 @@ class OnboardingFlowCoordinator: FlowCoordinatorProtocol { return .notificationPermissions case (.initial, false, false, false, false): return .finished - case (.identityConfirmation, _, _, _, _): if event == .nextSkippingIdentityConfimed { // Used when the verification state has updated to verified @@ -186,22 +185,18 @@ class OnboardingFlowCoordinator: FlowCoordinatorProtocol { return .notificationPermissions case (.identityConfirmed, _, false, false, false): return .finished - case (.appLockSetup, _, _, true, _): return .analyticsPrompt case (.appLockSetup, _, _, false, true): return .notificationPermissions case (.appLockSetup, _, _, false, false): return .finished - case (.analyticsPrompt, _, _, _, true): return .notificationPermissions case (.analyticsPrompt, _, _, _, false): return .finished - case (.notificationPermissions, _, _, _, _): return .finished - default: return nil } diff --git a/ElementX/Sources/FlowCoordinators/RoomFlowCoordinator.swift b/ElementX/Sources/FlowCoordinators/RoomFlowCoordinator.swift index 5993152834..76a1d7cb52 100644 --- a/ElementX/Sources/FlowCoordinators/RoomFlowCoordinator.swift +++ b/ElementX/Sources/FlowCoordinators/RoomFlowCoordinator.swift @@ -230,95 +230,78 @@ class RoomFlowCoordinator: FlowCoordinatorProtocol { return .joinRoomScreen case (_, .dismissJoinRoomScreen): return .complete - case (_, .presentRoom): return .room case (_, .dismissFlow): return .complete - case (.initial, .presentRoomDetails): return .roomDetails(isRoot: true) case (.room, .presentRoomDetails): return .roomDetails(isRoot: false) case (.roomDetails, .dismissRoomDetails): return .room - case (.roomDetails, .presentRoomDetailsEditScreen): return .roomDetailsEditScreen case (.roomDetailsEditScreen, .dismissRoomDetailsEditScreen): return .roomDetails(isRoot: false) - case (.roomDetails, .presentNotificationSettingsScreen): return .notificationSettings case (.notificationSettings, .dismissNotificationSettingsScreen): return .roomDetails(isRoot: false) - case (.notificationSettings, .presentGlobalNotificationSettingsScreen): return .globalNotificationSettings case (.globalNotificationSettings, .dismissGlobalNotificationSettingsScreen): return .notificationSettings - case (.roomDetails, .presentRoomMembersList): return .roomMembersList case (.roomMembersList, .dismissRoomMembersList): return .roomDetails(isRoot: false) - case (.room, .presentRoomMemberDetails(userID: let userID)): return .roomMemberDetails(userID: userID, previousState: .room) case (.roomMembersList, .presentRoomMemberDetails(userID: let userID)): return .roomMemberDetails(userID: userID, previousState: .roomMembersList) case (.roomMemberDetails(_, let previousState), .dismissRoomMemberDetails): return previousState - case (.roomMemberDetails(_, let previousState), .presentUserProfile(let userID)): return .userProfile(userID: userID, previousState: previousState) case (.userProfile(_, let previousState), .dismissUserProfile): return previousState - case (.roomDetails, .presentInviteUsersScreen): return .inviteUsersScreen(fromRoomMembersList: false) case (.roomMembersList, .presentInviteUsersScreen): return .inviteUsersScreen(fromRoomMembersList: true) case (.inviteUsersScreen(let fromRoomMembersList), .dismissInviteUsersScreen): return fromRoomMembersList ? .roomMembersList : .roomDetails(isRoot: false) - case (.room, .presentReportContent(let itemID, let senderID)): return .reportContent(itemID: itemID, senderID: senderID) case (.reportContent, .dismissReportContent): return .room - case (.room, .presentMediaUploadPicker(let source)): return .mediaUploadPicker(source: source) case (.mediaUploadPicker, .dismissMediaUploadPicker): return .room - case (.mediaUploadPicker, .presentMediaUploadPreview(let fileURL)): return .mediaUploadPreview(fileURL: fileURL) case (.room, .presentMediaUploadPreview(let fileURL)): return .mediaUploadPreview(fileURL: fileURL) case (.mediaUploadPreview, .dismissMediaUploadPreview): return .room - case (.room, .presentEmojiPicker(let itemID, let selectedEmoji)): return .emojiPicker(itemID: itemID, selectedEmojis: selectedEmoji) case (.emojiPicker, .dismissEmojiPicker): return .room - case (.room, .presentMessageForwarding(let forwardingItem)): return .messageForwarding(forwardingItem: forwardingItem) case (.messageForwarding, .dismissMessageForwarding): return .room - case (.room, .presentMapNavigator): return .mapNavigator case (.mapNavigator, .dismissMapNavigator): return .room - case (.room, .presentPollForm): return .pollForm case (.pollForm, .dismissPollForm): return .room - case (.room, .presentPinnedEventsTimeline): return .pinnedEventsTimeline(previousState: .room) case (.roomDetails(let isRoot), .presentPinnedEventsTimeline): @@ -330,37 +313,29 @@ class RoomFlowCoordinator: FlowCoordinatorProtocol { case .details(let isRoot): return .roomDetails(isRoot: isRoot) } - case (.roomDetails, .presentPollsHistory): return .pollsHistory case (.pollsHistory, .dismissPollsHistory): return .roomDetails(isRoot: false) - case (.pollsHistory, .presentPollForm): return .pollsHistoryForm case (.pollsHistoryForm, .dismissPollForm): return .pollsHistory - case (.roomDetails, .presentRolesAndPermissionsScreen): return .rolesAndPermissions case (.rolesAndPermissions, .dismissRolesAndPermissionsScreen): return .roomDetails(isRoot: false) - case (.roomDetails, .presentRoomMemberDetails(let userID)): return .roomMemberDetails(userID: userID, previousState: fromState) - case (.room, .presentResolveSendFailure): return .resolveSendFailure case (.resolveSendFailure, .dismissResolveSendFailure): return .room - // Child flow - case (_, .startChildFlow(let roomID, _, _)): return .presentingChild(childRoomID: roomID, previousState: fromState) case (.presentingChild(_, let previousState), .dismissChildFlow): return previousState - default: return nil } @@ -374,11 +349,13 @@ class RoomFlowCoordinator: FlowCoordinatorProtocol { switch (context.fromState, context.event, context.toState) { case (_, .presentJoinRoomScreen(let via), .joinRoomScreen): presentJoinRoomScreen(via: via, animated: true) + case (_, .dismissJoinRoomScreen, .complete): dismissFlow(animated: animated) case (_, .presentRoom(let focussedEvent), .room): Task { await self.presentRoom(fromState: context.fromState, focussedEvent: focussedEvent, animated: animated) } + case (_, .dismissFlow, .complete): dismissFlow(animated: animated) @@ -386,118 +363,142 @@ class RoomFlowCoordinator: FlowCoordinatorProtocol { (.room, .presentRoomDetails, .roomDetails(let isRoot)), (.roomDetails, .presentRoomDetails, .roomDetails(let isRoot)): Task { await self.presentRoomDetails(isRoot: isRoot, animated: animated) } + case (.roomDetails, .dismissRoomDetails, .room): break case (.roomDetails, .presentRoomDetailsEditScreen, .roomDetailsEditScreen): presentRoomDetailsEditScreen() + case (.roomDetailsEditScreen, .dismissRoomDetailsEditScreen, .roomDetails): break case (.roomDetails, .presentNotificationSettingsScreen, .notificationSettings): presentNotificationSettingsScreen() + case (.notificationSettings, .dismissNotificationSettingsScreen, .roomDetails): break case (.notificationSettings, .presentGlobalNotificationSettingsScreen, .globalNotificationSettings): presentGlobalNotificationSettingsScreen() + case (.globalNotificationSettings, .dismissGlobalNotificationSettingsScreen, .notificationSettings): break case (.roomDetails, .presentRoomMembersList, .roomMembersList): presentRoomMembersList() + case (.roomMembersList, .dismissRoomMembersList, .roomDetails): break case (.room, .presentRoomMemberDetails, .roomMemberDetails(let userID, _)): presentRoomMemberDetails(userID: userID) + case (.roomMemberDetails, .dismissRoomMemberDetails, .room): break case (.roomMembersList, .presentRoomMemberDetails, .roomMemberDetails(let userID, _)): presentRoomMemberDetails(userID: userID) + case (.roomMemberDetails, .dismissRoomMemberDetails, .roomMembersList): break case (.roomMemberDetails, .presentUserProfile(let userID), .userProfile): replaceRoomMemberDetailsWithUserProfile(userID: userID) + case (.userProfile, .dismissUserProfile, .room): break case (.roomDetails, .presentInviteUsersScreen, .inviteUsersScreen): presentInviteUsersScreen() + case (.inviteUsersScreen, .dismissInviteUsersScreen, .roomDetails): break case (.roomMembersList, .presentInviteUsersScreen, .inviteUsersScreen): presentInviteUsersScreen() + case (.inviteUsersScreen, .dismissInviteUsersScreen, .roomMembersList): break case (.room, .presentReportContent, .reportContent(let itemID, let senderID)): presentReportContent(for: itemID, from: senderID) + case (.reportContent, .dismissReportContent, .room): break case (.room, .presentMediaUploadPicker, .mediaUploadPicker(let source)): presentMediaUploadPickerWithSource(source) + case (.mediaUploadPicker, .dismissMediaUploadPicker, .room): break case (.mediaUploadPicker, .presentMediaUploadPreview, .mediaUploadPreview(let fileURL)): presentMediaUploadPreviewScreen(for: fileURL) + case (.room, .presentMediaUploadPreview, .mediaUploadPreview(let fileURL)): presentMediaUploadPreviewScreen(for: fileURL) + case (.mediaUploadPreview, .dismissMediaUploadPreview, .room): break case (.room, .presentEmojiPicker, .emojiPicker(let itemID, let selectedEmoji)): presentEmojiPicker(for: itemID, selectedEmoji: selectedEmoji) + case (.emojiPicker, .dismissEmojiPicker, .room): break case (.room, .presentMessageForwarding(let forwardingItem), .messageForwarding): presentMessageForwarding(with: forwardingItem) + case (.messageForwarding, .dismissMessageForwarding, .room): break case (.room, .presentMapNavigator(let mode), .mapNavigator): presentMapNavigator(interactionMode: mode) + case (.mapNavigator, .dismissMapNavigator, .room): break case (.room, .presentPollForm(let mode), .pollForm): presentPollForm(mode: mode) + case (.pollForm, .dismissPollForm, .room): break case (.room, .presentPinnedEventsTimeline, .pinnedEventsTimeline): presentPinnedEventsTimeline() + case (.pinnedEventsTimeline, .dismissPinnedEventsTimeline, .room): break case (.roomDetails, .presentPollsHistory, .pollsHistory): presentPollsHistory() + case (.pollsHistory, .dismissPollsHistory, .roomDetails): break case (.roomDetails, .presentPinnedEventsTimeline, .pinnedEventsTimeline): presentPinnedEventsTimeline() + case (.pinnedEventsTimeline, .dismissPinnedEventsTimeline, .roomDetails): break case (.pollsHistory, .presentPollForm(let mode), .pollsHistoryForm): presentPollForm(mode: mode) + case (.pollsHistoryForm, .dismissPollForm, .pollsHistory): break case (.roomDetails, .presentRolesAndPermissionsScreen, .rolesAndPermissions): presentRolesAndPermissionsScreen() + case (.rolesAndPermissions, .dismissRolesAndPermissionsScreen, .roomDetails): rolesAndPermissionsFlowCoordinator = nil case (.roomDetails, .presentRoomMemberDetails(let userID), .roomMemberDetails): presentRoomMemberDetails(userID: userID) + case (.roomMemberDetails, .dismissRoomMemberDetails, .roomDetails): break @@ -506,12 +507,14 @@ class RoomFlowCoordinator: FlowCoordinatorProtocol { case (.room, .presentResolveSendFailure(let failure, let itemID), .resolveSendFailure): presentResolveSendFailure(failure: failure, itemID: itemID) + case (.resolveSendFailure, .dismissResolveSendFailure, .room): break // Child flow case (_, .startChildFlow(let roomID, let via, let entryPoint), .presentingChild): Task { await self.startChildFlow(for: roomID, via: via, entryPoint: entryPoint) } + case (.presentingChild, .dismissChildFlow, _): childRoomFlowCoordinator = nil diff --git a/ElementX/Sources/FlowCoordinators/UserSessionFlowCoordinator.swift b/ElementX/Sources/FlowCoordinators/UserSessionFlowCoordinator.swift index a352e2a3f7..1f5f8137ff 100644 --- a/ElementX/Sources/FlowCoordinators/UserSessionFlowCoordinator.swift +++ b/ElementX/Sources/FlowCoordinators/UserSessionFlowCoordinator.swift @@ -240,7 +240,6 @@ class UserSessionFlowCoordinator: FlowCoordinatorProtocol { case .success(let resolved): await asyncHandleAppRoute(.childRoom(roomID: resolved.roomId, via: resolved.servers), animated: animated) case .failure: showFailureIndicator() } - case .roomDetails(let roomID): if stateMachine.state.selectedRoomID == roomID { roomFlowCoordinator?.handleAppRoute(appRoute, animated: animated) @@ -258,7 +257,6 @@ class UserSessionFlowCoordinator: FlowCoordinatorProtocol { case .success(let resolved): await asyncHandleAppRoute(.event(eventID: eventID, roomID: resolved.roomId, via: resolved.servers), animated: animated) case .failure: showFailureIndicator() } - case .childEvent: roomFlowCoordinator?.handleAppRoute(appRoute, animated: animated) case .childEventOnRoomAlias(let eventID, let alias): @@ -266,7 +264,6 @@ class UserSessionFlowCoordinator: FlowCoordinatorProtocol { case .success(let resolved): await asyncHandleAppRoute(.childEvent(eventID: eventID, roomID: resolved.roomId, via: resolved.servers), animated: animated) case .failure: showFailureIndicator() } - case .userProfile(let userID): stateMachine.processEvent(.showUserProfileScreen(userID: userID), userInfo: .init(animated: animated)) case .call(let roomID): @@ -322,12 +319,10 @@ class UserSessionFlowCoordinator: FlowCoordinatorProtocol { hideCallScreenOverlay() // Turn any active call into a PiP so that navigation from a notification is visible to the user. case(.roomList, .deselectRoom, .roomList): dismissRoomFlow(animated: animated) - case (.roomList, .showSettingsScreen, .settingsScreen): break case (.settingsScreen, .dismissedSettingsScreen, .roomList): break - case (.roomList, .feedbackScreen, .feedbackScreen): bugReportFlowCoordinator = BugReportFlowCoordinator(parameters: .init(presentationMode: .sheet(sidebarNavigationStackCoordinator), userIndicatorController: ServiceLocator.shared.userIndicatorController, @@ -336,27 +331,22 @@ class UserSessionFlowCoordinator: FlowCoordinatorProtocol { bugReportFlowCoordinator?.start() case (.feedbackScreen, .dismissedFeedbackScreen, .roomList): break - case (.roomList, .showStartChatScreen, .startChatScreen): presentStartChat(animated: animated) case (.startChatScreen, .dismissedStartChatScreen, .roomList): break - case (.roomList, .showLogoutConfirmationScreen, .logoutConfirmationScreen): presentSecureBackupLogoutConfirmationScreen() case (.logoutConfirmationScreen, .dismissedLogoutConfirmationScreen, .roomList): break - case (.roomList, .showRoomDirectorySearchScreen, .roomDirectorySearchScreen): presentRoomDirectorySearch() case (.roomDirectorySearchScreen, .dismissedRoomDirectorySearchScreen, .roomList): dismissRoomDirectorySearch() - case (_, .showUserProfileScreen(let userID), .userProfileScreen): presentUserProfileScreen(userID: userID, animated: animated) case (.userProfileScreen, .dismissedUserProfileScreen, .roomList): break - default: fatalError("Unknown transition: \(context)") } diff --git a/ElementX/Sources/FlowCoordinators/UserSessionFlowCoordinatorStateMachine.swift b/ElementX/Sources/FlowCoordinators/UserSessionFlowCoordinatorStateMachine.swift index 96189d7b12..652d1e5992 100644 --- a/ElementX/Sources/FlowCoordinators/UserSessionFlowCoordinatorStateMachine.swift +++ b/ElementX/Sources/FlowCoordinators/UserSessionFlowCoordinatorStateMachine.swift @@ -123,36 +123,43 @@ class UserSessionFlowCoordinatorStateMachine { switch (fromState, event) { case (.roomList, .selectRoom(let roomID, _, _)): return .roomList(selectedRoomID: roomID) + case (.roomList, .deselectRoom): return .roomList(selectedRoomID: nil) case (.roomList(let selectedRoomID), .showSettingsScreen): return .settingsScreen(selectedRoomID: selectedRoomID) + case (.settingsScreen(let selectedRoomID), .dismissedSettingsScreen): return .roomList(selectedRoomID: selectedRoomID) case (.roomList(let selectedRoomID), .feedbackScreen): return .feedbackScreen(selectedRoomID: selectedRoomID) + case (.feedbackScreen(let selectedRoomID), .dismissedFeedbackScreen): return .roomList(selectedRoomID: selectedRoomID) case (.roomList(let selectedRoomID), .showStartChatScreen): return .startChatScreen(selectedRoomID: selectedRoomID) + case (.startChatScreen(let selectedRoomID), .dismissedStartChatScreen): return .roomList(selectedRoomID: selectedRoomID) case (.roomList(let selectedRoomID), .showLogoutConfirmationScreen): return .logoutConfirmationScreen(selectedRoomID: selectedRoomID) + case (.logoutConfirmationScreen(let selectedRoomID), .dismissedLogoutConfirmationScreen): return .roomList(selectedRoomID: selectedRoomID) case (.roomList(let selectedRoomID), .showRoomDirectorySearchScreen): return .roomDirectorySearchScreen(selectedRoomID: selectedRoomID) + case (.roomDirectorySearchScreen(let selectedRoomID), .dismissedRoomDirectorySearchScreen): return .roomList(selectedRoomID: selectedRoomID) case (_, .showUserProfileScreen): return .userProfileScreen + case (.userProfileScreen, .dismissedUserProfileScreen): return .roomList(selectedRoomID: nil) diff --git a/ElementX/Sources/Screens/Authentication/ServerSelectionScreen/MockServerSelectionScreenState.swift b/ElementX/Sources/Screens/Authentication/ServerSelectionScreen/MockServerSelectionScreenState.swift index d97a7d37ea..0c9408861e 100644 --- a/ElementX/Sources/Screens/Authentication/ServerSelectionScreen/MockServerSelectionScreenState.swift +++ b/ElementX/Sources/Screens/Authentication/ServerSelectionScreen/MockServerSelectionScreenState.swift @@ -20,7 +20,6 @@ enum MockServerSelectionScreenState: CaseIterable { return ServerSelectionScreenViewModel(homeserverAddress: "https://matrix.org", slidingSyncLearnMoreURL: ServiceLocator.shared.settings.slidingSyncLearnMoreURL, isModallyPresented: true) - case .emptyAddress: return ServerSelectionScreenViewModel(homeserverAddress: "", slidingSyncLearnMoreURL: ServiceLocator.shared.settings.slidingSyncLearnMoreURL, diff --git a/ElementX/Sources/Screens/Onboarding/SessionVerificationScreen/SessionVerificationScreenStateMachine.swift b/ElementX/Sources/Screens/Onboarding/SessionVerificationScreen/SessionVerificationScreenStateMachine.swift index 1c90d5e9d3..99445d097f 100644 --- a/ElementX/Sources/Screens/Onboarding/SessionVerificationScreen/SessionVerificationScreenStateMachine.swift +++ b/ElementX/Sources/Screens/Onboarding/SessionVerificationScreen/SessionVerificationScreenStateMachine.swift @@ -89,8 +89,10 @@ class SessionVerificationScreenStateMachine { case (.sasVerificationStarted, .didReceiveChallenge(let emojis)): return .showingChallenge(emojis: emojis) + case (.showingChallenge(let emojis), .acceptChallenge): return .acceptingChallenge(emojis: emojis) + case (.acceptingChallenge(let emojis), .didFail): return .showingChallenge(emojis: emojis) @@ -99,11 +101,13 @@ class SessionVerificationScreenStateMachine { case (.showingChallenge(let emojis), .declineChallenge): return .decliningChallenge(emojis: emojis) + case (.decliningChallenge(let emojis), .didFail): return .showingChallenge(emojis: emojis) case (_, .cancel): return .cancelling + case (_, .didCancel): return .cancelled diff --git a/ElementX/Sources/Screens/Onboarding/SessionVerificationScreen/View/SessionVerificationScreen.swift b/ElementX/Sources/Screens/Onboarding/SessionVerificationScreen/View/SessionVerificationScreen.swift index ac76937f55..52bf9acf21 100644 --- a/ElementX/Sources/Screens/Onboarding/SessionVerificationScreen/View/SessionVerificationScreen.swift +++ b/ElementX/Sources/Screens/Onboarding/SessionVerificationScreen/View/SessionVerificationScreen.swift @@ -126,6 +126,7 @@ struct SessionVerificationScreen: View { .buttonStyle(.compound(.primary)) .accessibilityIdentifier(A11yIdentifiers.sessionVerificationScreen.requestVerification) } + case .cancelled: Button(L10n.actionRetry) { context.send(viewAction: .restart) diff --git a/ElementX/Sources/Screens/RoomNotificationSettingsScreen/RoomNotificationSettingsScreenViewModel.swift b/ElementX/Sources/Screens/RoomNotificationSettingsScreen/RoomNotificationSettingsScreenViewModel.swift index 748f07caa5..1075a58f42 100644 --- a/ElementX/Sources/Screens/RoomNotificationSettingsScreen/RoomNotificationSettingsScreenViewModel.swift +++ b/ElementX/Sources/Screens/RoomNotificationSettingsScreen/RoomNotificationSettingsScreenViewModel.swift @@ -140,6 +140,7 @@ class RoomNotificationSettingsScreenViewModel: RoomNotificationSettingsScreenVie state.bindings.alertInfo = AlertInfo(id: type, title: L10n.commonError, message: L10n.screenRoomNotificationSettingsErrorLoadingSettings) + case .setModeFailed: state.bindings.alertInfo = AlertInfo(id: type, title: L10n.commonError, diff --git a/ElementX/Sources/Screens/RoomScreen/View/SwipeRightAction.swift b/ElementX/Sources/Screens/RoomScreen/View/SwipeRightAction.swift index 9f97704dfb..09c9286fd3 100644 --- a/ElementX/Sources/Screens/RoomScreen/View/SwipeRightAction.swift +++ b/ElementX/Sources/Screens/RoomScreen/View/SwipeRightAction.swift @@ -116,14 +116,14 @@ extension View { @ViewBuilder fileprivate func timelineGesture(_ gesture: some Gesture) -> some View { -// Tchap: don't check for iOS 18 while not using Xcode 16 + // Tchap: don't check for iOS 18 while not using Xcode 16 // if #available(iOS 18.0, *) { // // iOS 18 has a bug https://forums.developer.apple.com/forums/thread/760035 and you // // can't scroll the timeline when `gesture` is used. // simultaneousGesture(gesture) // } else { - // Equally on iOS 17 you can't scroll the timeline when `simultaneousGesture` is used. - self.gesture(gesture) + // Equally on iOS 17 you can't scroll the timeline when `simultaneousGesture` is used. + self.gesture(gesture) // } } } diff --git a/ElementX/Sources/Screens/Timeline/View/ItemMenu/TimelineItemMenu.swift b/ElementX/Sources/Screens/Timeline/View/ItemMenu/TimelineItemMenu.swift index 4ff271d804..8f65d0837a 100644 --- a/ElementX/Sources/Screens/Timeline/View/ItemMenu/TimelineItemMenu.swift +++ b/ElementX/Sources/Screens/Timeline/View/ItemMenu/TimelineItemMenu.swift @@ -237,11 +237,11 @@ private extension EncryptionAuthenticity { private extension View { /// Uses the old page style modal so that on iPadOS 18 the presentation detents have no effect. @ViewBuilder func presentationPage() -> some View { -// Tchap: don't check for iOS 18 while not using Xcode 16 + // Tchap: don't check for iOS 18 while not using Xcode 16 // if #available(iOS 18.0, *) { // presentationSizing(.page) // } else { - self + self // } } } diff --git a/ElementX/Sources/Services/Audio/Recorder/AudioRecorder.swift b/ElementX/Sources/Services/Audio/Recorder/AudioRecorder.swift index 01403ae836..2353769a3f 100644 --- a/ElementX/Sources/Services/Audio/Recorder/AudioRecorder.swift +++ b/ElementX/Sources/Services/Audio/Recorder/AudioRecorder.swift @@ -363,6 +363,7 @@ class AudioRecorder: AudioRecorderProtocol { case .began: MXLog.info("Interruption started: \(notification)") setInternalState(.suspended) + case .ended: MXLog.info("Interruption ended: \(notification)") diff --git a/TchapX/staging/SupportingFiles/NSE/target.yml b/TchapX/staging/SupportingFiles/NSE/target.yml index e61ef56d1a..b76ac07d48 100644 --- a/TchapX/staging/SupportingFiles/NSE/target.yml +++ b/TchapX/staging/SupportingFiles/NSE/target.yml @@ -116,4 +116,4 @@ targets: - path: ../../../../ElementX/Sources/Application/AppSettings.swift - path: ../../../../ElementX/Sources/AppHooks/AppHooks.swift - path: ../../../../ElementX/Sources/AppHooks/Hooks/ClientBuilderHook.swift - - path: ../PrivacyInfo.xcprivacy \ No newline at end of file + - path: ../PrivacyInfo.xcprivacy \ No newline at end of file