#5504 - Add logs around route handling and the global search window presentation

This commit is contained in:
Stefan Ceriu
2026-04-30 09:12:32 +03:00
parent 6cf3defa28
commit 51d9c4e13a
9 changed files with 32 additions and 2 deletions

View File

@@ -241,6 +241,8 @@ class AppCoordinator: AppCoordinatorProtocol, AuthenticationFlowCoordinatorDeleg
}
func handleAppRoute(_ appRoute: AppRoute, windowType: SecondaryWindowType?) {
MXLog.info("Handling app route: \(appRoute)")
if let windowType {
windowManager.handleRoute(appRoute, windowType: windowType)
return

View File

@@ -83,9 +83,14 @@ class WindowManager: SecureWindowManagerProtocol {
}
func handleRoute(_ appRoute: AppRoute, windowType: SecondaryWindowType) {
if let flowCoordinator = coordinators[windowType]?.flowCoordinator {
flowCoordinator.handleAppRoute(appRoute, animated: true)
MXLog.info("Handling app route: \(appRoute) for window type: \(windowType)")
guard let flowCoordinator = coordinators[windowType]?.flowCoordinator else {
MXLog.error("Invalid flow coordinator")
return
}
flowCoordinator.handleAppRoute(appRoute, animated: true)
}
func switchToMain() {
@@ -126,7 +131,10 @@ class WindowManager: SecureWindowManagerProtocol {
}
func showGlobalSearch() {
MXLog.info("Received global search presentation request.")
guard alternateWindow.isHidden else {
MXLog.info("The alternate window is visible, ignoring.")
return
}
@@ -142,7 +150,10 @@ class WindowManager: SecureWindowManagerProtocol {
}
func hideGlobalSearch() {
MXLog.info("Received global search dismissal request.")
guard alternateWindow.isHidden else {
MXLog.info("The alternate window is visible, ignoring.")
return
}
@@ -163,7 +174,10 @@ class WindowManager: SecureWindowManagerProtocol {
// MARK: - Secondary window support
func windowForType(_ type: SecondaryWindowType) -> AnyView {
MXLog.info("Requesting window for type: \(type)")
guard let coordinator = coordinators[type]?.coordinator else {
MXLog.error("Invalid coordinator for window type: \(type)")
return AnyView(InstantlyDismissingWindow())
}

View File

@@ -137,6 +137,8 @@ class AuthenticationFlowCoordinator: FlowCoordinatorProtocol {
}
func handleAppRoute(_ appRoute: AppRoute, animated: Bool) {
MXLog.info("Handling app route: \(appRoute)")
switch appRoute {
case .accountProvisioningLink(let provisioningParameters):
guard appSettings.allowOtherAccountProviders else {

View File

@@ -84,6 +84,8 @@ class ChatsTabFlowCoordinator: FlowCoordinatorProtocol {
// MARK: - FlowCoordinatorProtocol
func handleAppRoute(_ appRoute: AppRoute, animated: Bool) {
MXLog.info("Handling app route: \(appRoute)")
Task {
await asyncHandleAppRoute(appRoute, animated: animated)
}

View File

@@ -77,6 +77,8 @@ class EncryptionSettingsFlowCoordinator: FlowCoordinatorProtocol {
}
func handleAppRoute(_ appRoute: AppRoute, animated: Bool) {
MXLog.info("Handling app route: \(appRoute)")
switch appRoute {
case .accountProvisioningLink:
break // We always ignore this flow when logged in.

View File

@@ -121,6 +121,8 @@ class RoomFlowCoordinator: FlowCoordinatorProtocol {
// swiftlint:disable:next cyclomatic_complexity
func handleAppRoute(_ appRoute: AppRoute, animated: Bool) {
MXLog.info("Handling app route: \(appRoute)")
guard stateMachine.state != .complete else {
fatalError("This flow coordinator is `finished` ☠️")
}

View File

@@ -97,6 +97,8 @@ final class RoomMembersFlowCoordinator: FlowCoordinatorProtocol {
}
func handleAppRoute(_ appRoute: AppRoute, animated: Bool) {
MXLog.info("Handling app route: \(appRoute)")
switch appRoute {
case .roomMemberDetails(let userID):
if case .roomFlow = stateMachine.state, let childFlowCoordinator {

View File

@@ -51,6 +51,8 @@ class SettingsFlowCoordinator: FlowCoordinatorProtocol {
}
func handleAppRoute(_ appRoute: AppRoute, animated: Bool) {
MXLog.info("Handling app route: \(appRoute)")
switch appRoute {
case .settings:
presentSettingsScreen(animated: animated)

View File

@@ -118,6 +118,8 @@ class UserSessionFlowCoordinator: FlowCoordinatorProtocol {
}
func handleAppRoute(_ appRoute: AppRoute, animated: Bool) {
MXLog.info("Handling app route: \(appRoute)")
switch appRoute {
case .accountProvisioningLink:
break // We always ignore this flow when logged in.