Switch to Xcode 14 and handle the UICollectionView-backed List. (#229)

* Fix Timeline on Xcode 14/iOS 16

Raise requirement to iOS 16+
Reduce pagination jumping.
Sonarcloud fixes.
Fix verification test.
Adopt if let optional { syntax.

* Remove unused ScrollViewReader

The ScrollViewReader didn't appear to change the behaviour.

* Fix warnings on Run Scripts.

Run script build phase 'SwiftLint' will be run during every build because it does not specify any outputs. To address this warning, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase.
This commit is contained in:
Doug
2022-10-17 09:56:17 +01:00
committed by GitHub
parent 5e1057ecab
commit 0e90bff34c
53 changed files with 266 additions and 233 deletions
@@ -59,7 +59,7 @@ class AuthenticationCoordinator: Coordinator, Presentable {
let coordinator = SplashScreenCoordinator()
coordinator.callback = { [weak self] action in
guard let self = self else { return }
guard let self else { return }
switch action {
case .login:
Task { await self.startAuthentication() }
@@ -93,7 +93,7 @@ class AuthenticationCoordinator: Coordinator, Presentable {
let coordinator = ServerSelectionCoordinator(parameters: parameters)
coordinator.callback = { [weak self] action in
guard let self = self else { return }
guard let self else { return }
switch action {
case .updated:
@@ -117,7 +117,7 @@ class AuthenticationCoordinator: Coordinator, Presentable {
let coordinator = LoginCoordinator(parameters: parameters)
coordinator.callback = { [weak self] action in
guard let self = self else { return }
guard let self else { return }
switch action {
case .signedIn(let userSession):
@@ -138,7 +138,7 @@ class AuthenticationCoordinator: Coordinator, Presentable {
let coordinator = AnalyticsPromptCoordinator(parameters: parameters)
coordinator.callback = { [weak self] in
guard let self = self else { return }
guard let self else { return }
self.delegate?.authenticationCoordinator(self, didLoginWithSession: userSession)
}
@@ -78,7 +78,7 @@ final class LoginCoordinator: Coordinator, Presentable {
MXLog.debug("Did start.")
loginViewModel.callback = { [weak self] action in
guard let self = self else { return }
guard let self else { return }
MXLog.debug("LoginViewModel did callback with result: \(action).")
switch action {
@@ -144,7 +144,7 @@ final class LoginCoordinator: Coordinator, Presentable {
}
private func loginWithOIDC() {
guard let oidcUserAgent = oidcUserAgent else {
guard let oidcUserAgent else {
handleError(AuthenticationServiceError.oidcError(.notSupported))
return
}
@@ -215,7 +215,7 @@ final class LoginCoordinator: Coordinator, Presentable {
hasModalPresentation: true)
let coordinator = ServerSelectionCoordinator(parameters: parameters)
coordinator.callback = { [weak self, weak coordinator] action in
guard let self = self, let coordinator = coordinator else { return }
guard let self, let coordinator = coordinator else { return }
self.serverSelectionCoordinator(coordinator, didCompleteWith: action)
}
@@ -67,7 +67,7 @@ final class ServerSelectionCoordinator: Coordinator, Presentable {
MXLog.debug("Did start.")
serverSelectionViewModel.callback = { [weak self] action in
guard let self = self else { return }
guard let self else { return }
MXLog.debug("ServerSelectionViewModel did callback with action: \(action).")
switch action {
@@ -89,7 +89,7 @@ final class SoftLogoutCoordinator: Coordinator, Presentable {
MXLog.debug("[SoftLogoutCoordinator] did start.")
softLogoutViewModel.callback = { [weak self] result in
guard let self = self else { return }
guard let self else { return }
MXLog.debug("[SoftLogoutCoordinator] SoftLogoutViewModel did complete with result: \(result).")
switch result {
@@ -154,7 +154,7 @@ final class SoftLogoutCoordinator: Coordinator, Presentable {
}
private func loginWithOIDC() {
guard let oidcUserAgent = oidcUserAgent else {
guard let oidcUserAgent else {
handleError(AuthenticationServiceError.oidcError(.notSupported))
return
}