Add an AccountProvider type and use it within the authentication flow. (#6103)

* Add an AccountProvider type and use it within AppSettings.

* Use the AccountProvider type within the Authentication flow too.

* Fix unit test compilation with Swift 6.4

* Make sure defaultAccountProvider takes allowOtherAccountProviders into account.

* Document a caveat on using AuthenticationService.homeserver.value.accountProvider.
This commit is contained in:
Doug
2026-09-14 15:25:33 +01:00
committed by GitHub
parent 26fddb8aa2
commit 64aae09c6d
29 changed files with 442 additions and 265 deletions
@@ -24,7 +24,7 @@ struct AuthenticationStartScreenViewState: BindableState {
/// The presentation anchor used for OAuth authentication.
var window: UIWindow?
let serverName: String?
let serverNameOrBaseURL: String?
let showCreateAccountButton: Bool
let showQRCodeLoginButton: Bool
@@ -36,8 +36,8 @@ struct AuthenticationStartScreenViewState: BindableState {
var bindings = AuthenticationStartScreenViewStateBindings()
var loginButtonTitle: String {
if let serverName {
L10n.screenOnboardingSignInTo(serverName)
if let serverNameOrBaseURL {
L10n.screenOnboardingSignInTo(serverNameOrBaseURL)
} else if showQRCodeLoginButton {
L10n.screenOnboardingSignInManually
} else {