Removing the about section title + Fix notification tap crash (#778)

* Removing the about section title

updated tests

* fixed a bug that made the app crash when tapping

a notification in an unhandled state

* missing screenshots
This commit is contained in:
Mauro 2023-04-06 18:40:27 +02:00 committed by GitHub
parent cabb8e5442
commit f02a5c7ac0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
16 changed files with 74 additions and 44 deletions

View File

@ -476,7 +476,7 @@ extension AppCoordinator: NotificationManagerDelegate {
return
}
userSessionFlowCoordinator?.tryDisplayingRoomScreen(roomId: content.threadIdentifier)
userSessionFlowCoordinator?.handleAppRoute(.room(roomID: content.threadIdentifier))
}
func handleInlineReply(_ service: NotificationManagerProtocol, content: UNNotificationContent, replyText: String) async {

View File

@ -0,0 +1,21 @@
//
// Copyright 2023 New Vector Ltd
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
import Foundation
enum AppRoute {
case room(roomID: String)
}

View File

@ -33,9 +33,7 @@ struct RoomDetailsScreen: View {
aboutSection
}
if context.viewState.isEncrypted {
securitySection
}
securitySection
if let recipient = context.viewState.dmRecipient {
ignoreUserSection(user: recipient)
@ -134,31 +132,31 @@ struct RoomDetailsScreen: View {
.foregroundColor(.element.primaryContent)
.accessibilityIdentifier(A11yIdentifiers.roomDetailsScreen.people)
.disabled(context.viewState.isLoadingMembers)
} header: {
Text(L10n.commonAbout)
.formSectionHeader()
}
.formSectionStyle()
}
@ViewBuilder
private var securitySection: some View {
Section {
Label {
VStack(alignment: .leading, spacing: 2) {
Text(L10n.screenRoomDetailsEncryptionEnabledTitle)
Text(L10n.screenRoomDetailsEncryptionEnabledSubtitle)
.foregroundColor(.element.secondaryContent)
.font(.element.footnote)
if context.viewState.isEncrypted {
Section {
Label {
VStack(alignment: .leading, spacing: 2) {
Text(L10n.screenRoomDetailsEncryptionEnabledTitle)
Text(L10n.screenRoomDetailsEncryptionEnabledSubtitle)
.foregroundColor(.element.secondaryContent)
.font(.element.footnote)
}
} icon: {
Image(systemName: "lock.shield")
}
} icon: {
Image(systemName: "lock.shield")
.labelStyle(FormRowLabelStyle(alignment: .top))
} header: {
Text(L10n.commonSecurity)
.formSectionHeader()
}
.labelStyle(FormRowLabelStyle(alignment: .top))
} header: {
Text(L10n.commonSecurity)
.formSectionHeader()
.formSectionStyle()
}
.formSectionStyle()
}
private var leaveRoomSection: some View {

View File

@ -62,8 +62,17 @@ class UserSessionFlowCoordinator: CoordinatorProtocol {
stateMachine.isDisplayingRoomScreen(withRoomId: roomId)
}
func tryDisplayingRoomScreen(roomId: String) {
stateMachine.processEvent(.selectRoom(roomId: roomId))
func handleAppRoute(_ appRoute: AppRoute) {
switch stateMachine.state {
case .feedbackScreen, .sessionVerificationScreen, .settingsScreen, .startChatScreen:
navigationSplitCoordinator.setSheetCoordinator(nil)
case .roomList, .initial:
break
}
switch appRoute {
case .room(let roomID):
stateMachine.processEvent(.selectRoom(roomId: roomID))
}
}
// MARK: - Private

1
changelog.d/777.change Normal file
View File

@ -0,0 +1 @@
Removed the about title copy from the people section.

1
changelog.d/779.bugfix Normal file
View File

@ -0,0 +1 @@
Fixed a bug that crashed the app when tapping on push notifications while the app was in some specific unhandled screens.