Handle alias room permalinks

This commit is contained in:
Stefan Ceriu
2024-04-22 18:05:18 +03:00
committed by Stefan Ceriu
parent 8ba544bc44
commit 69ffd3be46
8 changed files with 200 additions and 44 deletions
@@ -190,16 +190,21 @@ class AppCoordinator: AppCoordinatorProtocol, AuthenticationFlowCoordinatorDeleg
}
case .userProfile(let userID):
if isExternalURL {
userSessionFlowCoordinator?.handleAppRoute(route, animated: true)
handleAppRoute(route)
} else {
userSessionFlowCoordinator?.handleAppRoute(.roomMemberDetails(userID: userID), animated: true)
handleAppRoute(.roomMemberDetails(userID: userID))
}
case .room(let roomID):
// check that the room is joined here, if not use a joinRoom route.
if isExternalURL {
userSessionFlowCoordinator?.handleAppRoute(route, animated: true)
handleAppRoute(route)
} else {
userSessionFlowCoordinator?.handleAppRoute(.childRoom(roomID: roomID), animated: true)
handleAppRoute(.childRoom(roomID: roomID))
}
case .roomAlias(let alias):
if isExternalURL {
handleAppRoute(route)
} else {
handleAppRoute(.childRoomAlias(alias))
}
default:
break
@@ -255,7 +260,6 @@ class AppCoordinator: AppCoordinatorProtocol, AuthenticationFlowCoordinatorDeleg
return
}
// Handle here the account switching when available
handleAppRoute(.room(roomID: roomID))
}