From 1c8c5ea71110c16b355e04d29003ca88831dec8b Mon Sep 17 00:00:00 2001 From: Doug <6060466+pixlwave@users.noreply.github.com> Date: Mon, 27 Apr 2026 14:46:53 +0100 Subject: [PATCH] Update the SDK, handling OIDC/OAuth API breaks. (#5497) Update the SDK handling API breaks. --- ElementX.xcodeproj/project.pbxproj | 2 +- .../xcshareddata/swiftpm/Package.resolved | 6 +- .../Settings/OIDCConfiguration.swift | 16 +- .../Sources/Mocks/SDK/ClientSDKMock.swift | 8 +- .../EncryptionResetScreenViewModel.swift | 6 +- .../AuthenticationService.swift | 26 +- .../UserSession/RestorationToken.swift | 4 +- .../Sources/Generated/SDKGeneratedMocks.swift | 415 ++++++++++++------ ...henticationStartScreenViewModelTests.swift | 28 +- .../Sources/KeychainControllerTests.swift | 8 +- UnitTests/Sources/RestorationTokenTests.swift | 4 +- ...rverConfirmationScreenViewModelTests.swift | 52 +-- project.yml | 2 +- 13 files changed, 363 insertions(+), 214 deletions(-) diff --git a/ElementX.xcodeproj/project.pbxproj b/ElementX.xcodeproj/project.pbxproj index 9824f11e4..9d46b05c3 100644 --- a/ElementX.xcodeproj/project.pbxproj +++ b/ElementX.xcodeproj/project.pbxproj @@ -10131,7 +10131,7 @@ repositoryURL = "https://github.com/element-hq/matrix-rust-components-swift"; requirement = { kind = exactVersion; - version = 26.04.23; + version = 26.04.27; }; }; 701C7BEF8F70F7A83E852DCC /* XCRemoteSwiftPackageReference "GZIP" */ = { diff --git a/ElementX.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/ElementX.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved index b07a349b5..320e56778 100644 --- a/ElementX.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ b/ElementX.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -1,5 +1,5 @@ { - "originHash" : "6eccca91b7f5f7d7d50476c059d00f2944d321851b0e0c1d6afb529416131af2", + "originHash" : "307a0af81ae7a463ea2d0c101af1045c15def8948a63c21aa97fc7929759206e", "pins" : [ { "identity" : "compound-design-tokens", @@ -158,8 +158,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/element-hq/matrix-rust-components-swift", "state" : { - "revision" : "cadee968c71d7ddff8f4b04e934b963b6c08c2bd", - "version" : "26.4.23" + "revision" : "7480a104b123d588fc5be40c0769d9fdb4c5565c", + "version" : "26.4.27" } }, { diff --git a/ElementX/Sources/Application/Settings/OIDCConfiguration.swift b/ElementX/Sources/Application/Settings/OIDCConfiguration.swift index 9b6a35319..c621657c9 100644 --- a/ElementX/Sources/Application/Settings/OIDCConfiguration.swift +++ b/ElementX/Sources/Application/Settings/OIDCConfiguration.swift @@ -22,14 +22,14 @@ struct OIDCConfiguration { import MatrixRustSDK extension OIDCConfiguration { - var rustValue: OidcConfiguration { - OidcConfiguration(clientName: clientName, - redirectUri: redirectURI.absoluteString, - clientUri: clientURI.absoluteString, - logoUri: logoURI.absoluteString, - tosUri: tosURI.absoluteString, - policyUri: policyURI.absoluteString, - staticRegistrations: staticRegistrations) + var rustValue: OAuthConfiguration { + OAuthConfiguration(clientName: clientName, + redirectUri: redirectURI.absoluteString, + clientUri: clientURI.absoluteString, + logoUri: logoURI.absoluteString, + tosUri: tosURI.absoluteString, + policyUri: policyURI.absoluteString, + staticRegistrations: staticRegistrations) } } #endif diff --git a/ElementX/Sources/Mocks/SDK/ClientSDKMock.swift b/ElementX/Sources/Mocks/SDK/ClientSDKMock.swift index 3df922465..b7960b943 100644 --- a/ElementX/Sources/Mocks/SDK/ClientSDKMock.swift +++ b/ElementX/Sources/Mocks/SDK/ClientSDKMock.swift @@ -31,7 +31,7 @@ extension ClientSDKMock { userId: "@alice:matrix.org", deviceId: UUID().uuidString, homeserverUrl: "https://matrix-client.matrix.org", - oidcData: nil, + oauthData: nil, slidingSyncVersion: .native) } @@ -45,7 +45,7 @@ extension ClientSDKMock { userIdServerNameThrowableError = MockError.generic serverReturnValue = "https://\(configuration.serverAddress)" homeserverReturnValue = configuration.homeserverURL - urlForOidcOidcConfigurationPromptLoginHintDeviceIdAdditionalScopesReturnValue = OAuthAuthorizationDataSDKMock(configuration: configuration) + urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesReturnValue = OAuthAuthorizationDataSDKMock(configuration: configuration) loginUsernamePasswordInitialDeviceNameDeviceIdClosure = { [weak self] username, password, _, _ in guard username == configuration.validCredentials.username, password == configuration.validCredentials.password else { @@ -77,8 +77,8 @@ extension HomeserverLoginDetailsSDKMock { slidingSyncVersionReturnValue = configuration.slidingSyncVersion supportsPasswordLoginReturnValue = configuration.supportsPasswordLogin - supportsOidcLoginReturnValue = configuration.oidcLoginURL != nil - supportedOidcPromptsReturnValue = switch (configuration.oidcLoginURL, configuration.supportsOIDCCreatePrompt) { + supportsOauthLoginReturnValue = configuration.oidcLoginURL != nil + supportedOauthPromptsReturnValue = switch (configuration.oidcLoginURL, configuration.supportsOIDCCreatePrompt) { case (.none, _): [] case (.some, true): [.consent, .create] case (.some, false): [.consent] diff --git a/ElementX/Sources/Screens/EncryptionReset/EncryptionResetScreen/EncryptionResetScreenViewModel.swift b/ElementX/Sources/Screens/EncryptionReset/EncryptionResetScreen/EncryptionResetScreenViewModel.swift index 90f71a35c..a6e1c6a5a 100644 --- a/ElementX/Sources/Screens/EncryptionReset/EncryptionResetScreen/EncryptionResetScreenViewModel.swift +++ b/ElementX/Sources/Screens/EncryptionReset/EncryptionResetScreen/EncryptionResetScreenViewModel.swift @@ -84,9 +84,9 @@ class EncryptionResetScreenViewModel: EncryptionResetScreenViewModelType, Encryp } actionsSubject.send(.requestPassword(passwordPublisher: passwordPublisher)) - case .oidc(let oidcInfo): - guard let url = URL(string: oidcInfo.approvalUrl) else { - fatalError("Invalid URL received through identity reset handle: \(oidcInfo.approvalUrl)") + case .oAuth(let oAuthInfo): + guard let url = URL(string: oAuthInfo.approvalUrl) else { + fatalError("Invalid URL received through identity reset handle: \(oAuthInfo.approvalUrl)") } hideLoadingIndicator() diff --git a/ElementX/Sources/Services/Authentication/AuthenticationService.swift b/ElementX/Sources/Services/Authentication/AuthenticationService.swift index a3b521754..76f4529ab 100644 --- a/ElementX/Sources/Services/Authentication/AuthenticationService.swift +++ b/ElementX/Sources/Services/Authentication/AuthenticationService.swift @@ -72,8 +72,8 @@ class AuthenticationService: AuthenticationServiceProtocol { let client = try await makeClient(homeserverAddress: homeserverAddress) let loginDetails = await client.homeserverLoginDetails() - homeserver.loginMode = if loginDetails.supportsOidcLogin() { - .oidc(supportsCreatePrompt: loginDetails.supportedOidcPrompts().contains(.create)) + homeserver.loginMode = if loginDetails.supportsOauthLogin() { + .oidc(supportsCreatePrompt: loginDetails.supportedOauthPrompts().contains(.create)) } else if loginDetails.supportsPasswordLogin() { .password } else { @@ -110,11 +110,11 @@ class AuthenticationService: AuthenticationServiceProtocol { do { // The create prompt is broken: https://github.com/element-hq/matrix-authentication-service/issues/3429 // let prompt: OidcPrompt = flow == .register ? .create : .consent - let oidcData = try await client.urlForOidc(oidcConfiguration: appSettings.oidcConfiguration.rustValue, - prompt: .consent, - loginHint: loginHint, - deviceId: nil, - additionalScopes: nil) + let oidcData = try await client.urlForOauth(oauthConfiguration: appSettings.oidcConfiguration.rustValue, + prompt: .consent, + loginHint: loginHint, + deviceId: nil, + additionalScopes: nil) return .success(OIDCAuthorizationDataProxy(underlyingData: oidcData)) } catch { MXLog.error("Failed to get URL for OIDC login: \(error)") @@ -125,16 +125,16 @@ class AuthenticationService: AuthenticationServiceProtocol { func abortOIDCLogin(data: OIDCAuthorizationDataProxy) async { guard let client else { return } MXLog.info("Aborting OIDC login.") - await client.abortOidcAuth(authorizationData: data.underlyingData) + await client.abortOauthAuth(authorizationData: data.underlyingData) } func loginWithOIDCCallback(_ callbackURL: URL) async -> Result { guard let client else { return .failure(.failedLoggingIn) } do { - try await client.loginWithOidcCallback(callbackUrl: callbackURL.absoluteString) + try await client.loginWithOauthCallback(callbackUrl: callbackURL.absoluteString) await verifyClientIfPossible(client: client) return await userSession(for: client) - } catch OidcError.Cancelled { + } catch OAuthError.Cancelled { return .failure(.oidcError(.userCancellation)) } catch { MXLog.error("Login with OIDC failed: \(error)") @@ -206,7 +206,7 @@ class AuthenticationService: AuthenticationServiceProtocol { Task { do { let client = try await makeClient(homeserverAddress: scannedServerNameOrBaseUrl) - let qrCodeHandler = client.newLoginWithQrCodeHandler(oidcConfiguration: appSettings.oidcConfiguration.rustValue) + let qrCodeHandler = client.newLoginWithQrCodeHandler(oauthConfiguration: appSettings.oidcConfiguration.rustValue) try await qrCodeHandler.scan(qrCodeData: qrData, progressListener: listener) // Since the QR code login flow includes verification. @@ -284,7 +284,7 @@ class AuthenticationService: AuthenticationServiceProtocol { appSettings: appSettings, appHooks: appHooks) let loginDetails = await client.homeserverLoginDetails() - let isServerSupported = loginDetails.supportsOidcLogin() || loginDetails.supportsPasswordLogin() + let isServerSupported = loginDetails.supportsOauthLogin() || loginDetails.supportsPasswordLogin() MXLog.info("Classic app homeserver supported: \(isServerSupported)") classicAppAccount.state.isServerSupported = isServerSupported @@ -370,7 +370,7 @@ private extension HumanQrLoginError { .qrCodeError(.deviceNotSignedIn) case .UnsupportedQrCodeType: .qrCodeError(.invalidQRCode) - case .Unknown, .OidcMetadataInvalid, .CheckCodeAlreadySent, .CheckCodeCannotBeSent: + case .Unknown, .OAuthMetadataInvalid, .CheckCodeAlreadySent, .CheckCodeCannotBeSent: .qrCodeError(.unknown) } } diff --git a/ElementX/Sources/Services/UserSession/RestorationToken.swift b/ElementX/Sources/Services/UserSession/RestorationToken.swift index 0d0c2fb63..7d4ef50c1 100644 --- a/ElementX/Sources/Services/UserSession/RestorationToken.swift +++ b/ElementX/Sources/Services/UserSession/RestorationToken.swift @@ -77,7 +77,7 @@ extension MatrixRustSDK.Session: @retroactive Codable { userId: container.decode(String.self, forKey: .userId), deviceId: container.decode(String.self, forKey: .deviceId), homeserverUrl: container.decode(String.self, forKey: .homeserverUrl), - oidcData: container.decodeIfPresent(String.self, forKey: .oidcData), + oauthData: container.decodeIfPresent(String.self, forKey: .oidcData), slidingSyncVersion: .native) } @@ -88,7 +88,7 @@ extension MatrixRustSDK.Session: @retroactive Codable { try container.encode(userId, forKey: .userId) try container.encode(deviceId, forKey: .deviceId) try container.encode(homeserverUrl, forKey: .homeserverUrl) - try container.encode(oidcData, forKey: .oidcData) + try container.encode(oauthData, forKey: .oidcData) } enum CodingKeys: String, CodingKey { diff --git a/SDKMocks/Sources/Generated/SDKGeneratedMocks.swift b/SDKMocks/Sources/Generated/SDKGeneratedMocks.swift index b81d4df9c..c38271d4f 100644 --- a/SDKMocks/Sources/Generated/SDKGeneratedMocks.swift +++ b/SDKMocks/Sources/Generated/SDKGeneratedMocks.swift @@ -6,6 +6,21 @@ import Foundation +open class BackupSecretsSDKMock: MatrixRustSDK.BackupSecrets, @unchecked Sendable { + public init() { + super.init(noHandle: .init()) + } + + public required init(unsafeFromHandle handle: UInt64) { + fatalError("init(unsafeFromHandle:) has not been implemented") + } + + fileprivate var handle: UInt64 { + get { return underlyingHandle } + set(value) { underlyingHandle = value } + } + fileprivate var underlyingHandle: UInt64! +} open class CheckCodeSenderSDKMock: MatrixRustSDK.CheckCodeSender, @unchecked Sendable { public init() { super.init(noHandle: .init()) @@ -82,17 +97,17 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { } fileprivate var underlyingHandle: UInt64! - //MARK: - abortOidcAuth + //MARK: - abortOauthAuth - open var abortOidcAuthAuthorizationDataUnderlyingCallsCount = 0 - open var abortOidcAuthAuthorizationDataCallsCount: Int { + open var abortOauthAuthAuthorizationDataUnderlyingCallsCount = 0 + open var abortOauthAuthAuthorizationDataCallsCount: Int { get { if Thread.isMainThread { - return abortOidcAuthAuthorizationDataUnderlyingCallsCount + return abortOauthAuthAuthorizationDataUnderlyingCallsCount } else { var returnValue: Int? = nil DispatchQueue.main.sync { - returnValue = abortOidcAuthAuthorizationDataUnderlyingCallsCount + returnValue = abortOauthAuthAuthorizationDataUnderlyingCallsCount } return returnValue! @@ -100,28 +115,28 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { } set { if Thread.isMainThread { - abortOidcAuthAuthorizationDataUnderlyingCallsCount = newValue + abortOauthAuthAuthorizationDataUnderlyingCallsCount = newValue } else { DispatchQueue.main.sync { - abortOidcAuthAuthorizationDataUnderlyingCallsCount = newValue + abortOauthAuthAuthorizationDataUnderlyingCallsCount = newValue } } } } - open var abortOidcAuthAuthorizationDataCalled: Bool { - return abortOidcAuthAuthorizationDataCallsCount > 0 + open var abortOauthAuthAuthorizationDataCalled: Bool { + return abortOauthAuthAuthorizationDataCallsCount > 0 } - open var abortOidcAuthAuthorizationDataReceivedAuthorizationData: OAuthAuthorizationData? - open var abortOidcAuthAuthorizationDataReceivedInvocations: [OAuthAuthorizationData] = [] - open var abortOidcAuthAuthorizationDataClosure: ((OAuthAuthorizationData) async -> Void)? + open var abortOauthAuthAuthorizationDataReceivedAuthorizationData: OAuthAuthorizationData? + open var abortOauthAuthAuthorizationDataReceivedInvocations: [OAuthAuthorizationData] = [] + open var abortOauthAuthAuthorizationDataClosure: ((OAuthAuthorizationData) async -> Void)? - open override func abortOidcAuth(authorizationData: OAuthAuthorizationData) async { - abortOidcAuthAuthorizationDataCallsCount += 1 - abortOidcAuthAuthorizationDataReceivedAuthorizationData = authorizationData + open override func abortOauthAuth(authorizationData: OAuthAuthorizationData) async { + abortOauthAuthAuthorizationDataCallsCount += 1 + abortOauthAuthAuthorizationDataReceivedAuthorizationData = authorizationData DispatchQueue.main.async { - self.abortOidcAuthAuthorizationDataReceivedInvocations.append(authorizationData) + self.abortOauthAuthAuthorizationDataReceivedInvocations.append(authorizationData) } - await abortOidcAuthAuthorizationDataClosure?(authorizationData) + await abortOauthAuthAuthorizationDataClosure?(authorizationData) } //MARK: - accountData @@ -3406,18 +3421,18 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { try await loginWithEmailEmailPasswordInitialDeviceNameDeviceIdClosure?(email, password, initialDeviceName, deviceId) } - //MARK: - loginWithOidcCallback + //MARK: - loginWithOauthCallback - open var loginWithOidcCallbackCallbackUrlThrowableError: Error? - open var loginWithOidcCallbackCallbackUrlUnderlyingCallsCount = 0 - open var loginWithOidcCallbackCallbackUrlCallsCount: Int { + open var loginWithOauthCallbackCallbackUrlThrowableError: Error? + open var loginWithOauthCallbackCallbackUrlUnderlyingCallsCount = 0 + open var loginWithOauthCallbackCallbackUrlCallsCount: Int { get { if Thread.isMainThread { - return loginWithOidcCallbackCallbackUrlUnderlyingCallsCount + return loginWithOauthCallbackCallbackUrlUnderlyingCallsCount } else { var returnValue: Int? = nil DispatchQueue.main.sync { - returnValue = loginWithOidcCallbackCallbackUrlUnderlyingCallsCount + returnValue = loginWithOauthCallbackCallbackUrlUnderlyingCallsCount } return returnValue! @@ -3425,31 +3440,31 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { } set { if Thread.isMainThread { - loginWithOidcCallbackCallbackUrlUnderlyingCallsCount = newValue + loginWithOauthCallbackCallbackUrlUnderlyingCallsCount = newValue } else { DispatchQueue.main.sync { - loginWithOidcCallbackCallbackUrlUnderlyingCallsCount = newValue + loginWithOauthCallbackCallbackUrlUnderlyingCallsCount = newValue } } } } - open var loginWithOidcCallbackCallbackUrlCalled: Bool { - return loginWithOidcCallbackCallbackUrlCallsCount > 0 + open var loginWithOauthCallbackCallbackUrlCalled: Bool { + return loginWithOauthCallbackCallbackUrlCallsCount > 0 } - open var loginWithOidcCallbackCallbackUrlReceivedCallbackUrl: String? - open var loginWithOidcCallbackCallbackUrlReceivedInvocations: [String] = [] - open var loginWithOidcCallbackCallbackUrlClosure: ((String) async throws -> Void)? + open var loginWithOauthCallbackCallbackUrlReceivedCallbackUrl: String? + open var loginWithOauthCallbackCallbackUrlReceivedInvocations: [String] = [] + open var loginWithOauthCallbackCallbackUrlClosure: ((String) async throws -> Void)? - open override func loginWithOidcCallback(callbackUrl: String) async throws { - if let error = loginWithOidcCallbackCallbackUrlThrowableError { + open override func loginWithOauthCallback(callbackUrl: String) async throws { + if let error = loginWithOauthCallbackCallbackUrlThrowableError { throw error } - loginWithOidcCallbackCallbackUrlCallsCount += 1 - loginWithOidcCallbackCallbackUrlReceivedCallbackUrl = callbackUrl + loginWithOauthCallbackCallbackUrlCallsCount += 1 + loginWithOauthCallbackCallbackUrlReceivedCallbackUrl = callbackUrl DispatchQueue.main.async { - self.loginWithOidcCallbackCallbackUrlReceivedInvocations.append(callbackUrl) + self.loginWithOauthCallbackCallbackUrlReceivedInvocations.append(callbackUrl) } - try await loginWithOidcCallbackCallbackUrlClosure?(callbackUrl) + try await loginWithOauthCallbackCallbackUrlClosure?(callbackUrl) } //MARK: - logout @@ -3559,15 +3574,15 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { //MARK: - newLoginWithQrCodeHandler - open var newLoginWithQrCodeHandlerOidcConfigurationUnderlyingCallsCount = 0 - open var newLoginWithQrCodeHandlerOidcConfigurationCallsCount: Int { + open var newLoginWithQrCodeHandlerOauthConfigurationUnderlyingCallsCount = 0 + open var newLoginWithQrCodeHandlerOauthConfigurationCallsCount: Int { get { if Thread.isMainThread { - return newLoginWithQrCodeHandlerOidcConfigurationUnderlyingCallsCount + return newLoginWithQrCodeHandlerOauthConfigurationUnderlyingCallsCount } else { var returnValue: Int? = nil DispatchQueue.main.sync { - returnValue = newLoginWithQrCodeHandlerOidcConfigurationUnderlyingCallsCount + returnValue = newLoginWithQrCodeHandlerOauthConfigurationUnderlyingCallsCount } return returnValue! @@ -3575,29 +3590,29 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { } set { if Thread.isMainThread { - newLoginWithQrCodeHandlerOidcConfigurationUnderlyingCallsCount = newValue + newLoginWithQrCodeHandlerOauthConfigurationUnderlyingCallsCount = newValue } else { DispatchQueue.main.sync { - newLoginWithQrCodeHandlerOidcConfigurationUnderlyingCallsCount = newValue + newLoginWithQrCodeHandlerOauthConfigurationUnderlyingCallsCount = newValue } } } } - open var newLoginWithQrCodeHandlerOidcConfigurationCalled: Bool { - return newLoginWithQrCodeHandlerOidcConfigurationCallsCount > 0 + open var newLoginWithQrCodeHandlerOauthConfigurationCalled: Bool { + return newLoginWithQrCodeHandlerOauthConfigurationCallsCount > 0 } - open var newLoginWithQrCodeHandlerOidcConfigurationReceivedOidcConfiguration: OidcConfiguration? - open var newLoginWithQrCodeHandlerOidcConfigurationReceivedInvocations: [OidcConfiguration] = [] + open var newLoginWithQrCodeHandlerOauthConfigurationReceivedOauthConfiguration: OAuthConfiguration? + open var newLoginWithQrCodeHandlerOauthConfigurationReceivedInvocations: [OAuthConfiguration] = [] - open var newLoginWithQrCodeHandlerOidcConfigurationUnderlyingReturnValue: LoginWithQrCodeHandler! - open var newLoginWithQrCodeHandlerOidcConfigurationReturnValue: LoginWithQrCodeHandler! { + open var newLoginWithQrCodeHandlerOauthConfigurationUnderlyingReturnValue: LoginWithQrCodeHandler! + open var newLoginWithQrCodeHandlerOauthConfigurationReturnValue: LoginWithQrCodeHandler! { get { if Thread.isMainThread { - return newLoginWithQrCodeHandlerOidcConfigurationUnderlyingReturnValue + return newLoginWithQrCodeHandlerOauthConfigurationUnderlyingReturnValue } else { var returnValue: LoginWithQrCodeHandler? = nil DispatchQueue.main.sync { - returnValue = newLoginWithQrCodeHandlerOidcConfigurationUnderlyingReturnValue + returnValue = newLoginWithQrCodeHandlerOauthConfigurationUnderlyingReturnValue } return returnValue! @@ -3605,26 +3620,26 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { } set { if Thread.isMainThread { - newLoginWithQrCodeHandlerOidcConfigurationUnderlyingReturnValue = newValue + newLoginWithQrCodeHandlerOauthConfigurationUnderlyingReturnValue = newValue } else { DispatchQueue.main.sync { - newLoginWithQrCodeHandlerOidcConfigurationUnderlyingReturnValue = newValue + newLoginWithQrCodeHandlerOauthConfigurationUnderlyingReturnValue = newValue } } } } - open var newLoginWithQrCodeHandlerOidcConfigurationClosure: ((OidcConfiguration) -> LoginWithQrCodeHandler)? + open var newLoginWithQrCodeHandlerOauthConfigurationClosure: ((OAuthConfiguration) -> LoginWithQrCodeHandler)? - open override func newLoginWithQrCodeHandler(oidcConfiguration: OidcConfiguration) -> LoginWithQrCodeHandler { - newLoginWithQrCodeHandlerOidcConfigurationCallsCount += 1 - newLoginWithQrCodeHandlerOidcConfigurationReceivedOidcConfiguration = oidcConfiguration + open override func newLoginWithQrCodeHandler(oauthConfiguration: OAuthConfiguration) -> LoginWithQrCodeHandler { + newLoginWithQrCodeHandlerOauthConfigurationCallsCount += 1 + newLoginWithQrCodeHandlerOauthConfigurationReceivedOauthConfiguration = oauthConfiguration DispatchQueue.main.async { - self.newLoginWithQrCodeHandlerOidcConfigurationReceivedInvocations.append(oidcConfiguration) + self.newLoginWithQrCodeHandlerOauthConfigurationReceivedInvocations.append(oauthConfiguration) } - if let newLoginWithQrCodeHandlerOidcConfigurationClosure = newLoginWithQrCodeHandlerOidcConfigurationClosure { - return newLoginWithQrCodeHandlerOidcConfigurationClosure(oidcConfiguration) + if let newLoginWithQrCodeHandlerOauthConfigurationClosure = newLoginWithQrCodeHandlerOauthConfigurationClosure { + return newLoginWithQrCodeHandlerOauthConfigurationClosure(oauthConfiguration) } else { - return newLoginWithQrCodeHandlerOidcConfigurationReturnValue + return newLoginWithQrCodeHandlerOauthConfigurationReturnValue } } @@ -5635,6 +5650,81 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { } } + //MARK: - subscribeToOwnBeaconInfoUpdates + + open var subscribeToOwnBeaconInfoUpdatesListenerThrowableError: Error? + open var subscribeToOwnBeaconInfoUpdatesListenerUnderlyingCallsCount = 0 + open var subscribeToOwnBeaconInfoUpdatesListenerCallsCount: Int { + get { + if Thread.isMainThread { + return subscribeToOwnBeaconInfoUpdatesListenerUnderlyingCallsCount + } else { + var returnValue: Int? = nil + DispatchQueue.main.sync { + returnValue = subscribeToOwnBeaconInfoUpdatesListenerUnderlyingCallsCount + } + + return returnValue! + } + } + set { + if Thread.isMainThread { + subscribeToOwnBeaconInfoUpdatesListenerUnderlyingCallsCount = newValue + } else { + DispatchQueue.main.sync { + subscribeToOwnBeaconInfoUpdatesListenerUnderlyingCallsCount = newValue + } + } + } + } + open var subscribeToOwnBeaconInfoUpdatesListenerCalled: Bool { + return subscribeToOwnBeaconInfoUpdatesListenerCallsCount > 0 + } + open var subscribeToOwnBeaconInfoUpdatesListenerReceivedListener: BeaconInfoListener? + open var subscribeToOwnBeaconInfoUpdatesListenerReceivedInvocations: [BeaconInfoListener] = [] + + open var subscribeToOwnBeaconInfoUpdatesListenerUnderlyingReturnValue: TaskHandle! + open var subscribeToOwnBeaconInfoUpdatesListenerReturnValue: TaskHandle! { + get { + if Thread.isMainThread { + return subscribeToOwnBeaconInfoUpdatesListenerUnderlyingReturnValue + } else { + var returnValue: TaskHandle? = nil + DispatchQueue.main.sync { + returnValue = subscribeToOwnBeaconInfoUpdatesListenerUnderlyingReturnValue + } + + return returnValue! + } + } + set { + if Thread.isMainThread { + subscribeToOwnBeaconInfoUpdatesListenerUnderlyingReturnValue = newValue + } else { + DispatchQueue.main.sync { + subscribeToOwnBeaconInfoUpdatesListenerUnderlyingReturnValue = newValue + } + } + } + } + open var subscribeToOwnBeaconInfoUpdatesListenerClosure: ((BeaconInfoListener) throws -> TaskHandle)? + + open override func subscribeToOwnBeaconInfoUpdates(listener: BeaconInfoListener) throws -> TaskHandle { + if let error = subscribeToOwnBeaconInfoUpdatesListenerThrowableError { + throw error + } + subscribeToOwnBeaconInfoUpdatesListenerCallsCount += 1 + subscribeToOwnBeaconInfoUpdatesListenerReceivedListener = listener + DispatchQueue.main.async { + self.subscribeToOwnBeaconInfoUpdatesListenerReceivedInvocations.append(listener) + } + if let subscribeToOwnBeaconInfoUpdatesListenerClosure = subscribeToOwnBeaconInfoUpdatesListenerClosure { + return try subscribeToOwnBeaconInfoUpdatesListenerClosure(listener) + } else { + return subscribeToOwnBeaconInfoUpdatesListenerReturnValue + } + } + //MARK: - subscribeToRoomInfo open var subscribeToRoomInfoRoomIdListenerThrowableError: Error? @@ -6280,18 +6370,18 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { } } - //MARK: - urlForOidc + //MARK: - urlForOauth - open var urlForOidcOidcConfigurationPromptLoginHintDeviceIdAdditionalScopesThrowableError: Error? - open var urlForOidcOidcConfigurationPromptLoginHintDeviceIdAdditionalScopesUnderlyingCallsCount = 0 - open var urlForOidcOidcConfigurationPromptLoginHintDeviceIdAdditionalScopesCallsCount: Int { + open var urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesThrowableError: Error? + open var urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesUnderlyingCallsCount = 0 + open var urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesCallsCount: Int { get { if Thread.isMainThread { - return urlForOidcOidcConfigurationPromptLoginHintDeviceIdAdditionalScopesUnderlyingCallsCount + return urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesUnderlyingCallsCount } else { var returnValue: Int? = nil DispatchQueue.main.sync { - returnValue = urlForOidcOidcConfigurationPromptLoginHintDeviceIdAdditionalScopesUnderlyingCallsCount + returnValue = urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesUnderlyingCallsCount } return returnValue! @@ -6299,29 +6389,29 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { } set { if Thread.isMainThread { - urlForOidcOidcConfigurationPromptLoginHintDeviceIdAdditionalScopesUnderlyingCallsCount = newValue + urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesUnderlyingCallsCount = newValue } else { DispatchQueue.main.sync { - urlForOidcOidcConfigurationPromptLoginHintDeviceIdAdditionalScopesUnderlyingCallsCount = newValue + urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesUnderlyingCallsCount = newValue } } } } - open var urlForOidcOidcConfigurationPromptLoginHintDeviceIdAdditionalScopesCalled: Bool { - return urlForOidcOidcConfigurationPromptLoginHintDeviceIdAdditionalScopesCallsCount > 0 + open var urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesCalled: Bool { + return urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesCallsCount > 0 } - open var urlForOidcOidcConfigurationPromptLoginHintDeviceIdAdditionalScopesReceivedArguments: (oidcConfiguration: OidcConfiguration, prompt: OidcPrompt?, loginHint: String?, deviceId: String?, additionalScopes: [String]?)? - open var urlForOidcOidcConfigurationPromptLoginHintDeviceIdAdditionalScopesReceivedInvocations: [(oidcConfiguration: OidcConfiguration, prompt: OidcPrompt?, loginHint: String?, deviceId: String?, additionalScopes: [String]?)] = [] + open var urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesReceivedArguments: (oauthConfiguration: OAuthConfiguration, prompt: OAuthPrompt?, loginHint: String?, deviceId: String?, additionalScopes: [String]?)? + open var urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesReceivedInvocations: [(oauthConfiguration: OAuthConfiguration, prompt: OAuthPrompt?, loginHint: String?, deviceId: String?, additionalScopes: [String]?)] = [] - open var urlForOidcOidcConfigurationPromptLoginHintDeviceIdAdditionalScopesUnderlyingReturnValue: OAuthAuthorizationData! - open var urlForOidcOidcConfigurationPromptLoginHintDeviceIdAdditionalScopesReturnValue: OAuthAuthorizationData! { + open var urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesUnderlyingReturnValue: OAuthAuthorizationData! + open var urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesReturnValue: OAuthAuthorizationData! { get { if Thread.isMainThread { - return urlForOidcOidcConfigurationPromptLoginHintDeviceIdAdditionalScopesUnderlyingReturnValue + return urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesUnderlyingReturnValue } else { var returnValue: OAuthAuthorizationData? = nil DispatchQueue.main.sync { - returnValue = urlForOidcOidcConfigurationPromptLoginHintDeviceIdAdditionalScopesUnderlyingReturnValue + returnValue = urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesUnderlyingReturnValue } return returnValue! @@ -6329,29 +6419,29 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { } set { if Thread.isMainThread { - urlForOidcOidcConfigurationPromptLoginHintDeviceIdAdditionalScopesUnderlyingReturnValue = newValue + urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesUnderlyingReturnValue = newValue } else { DispatchQueue.main.sync { - urlForOidcOidcConfigurationPromptLoginHintDeviceIdAdditionalScopesUnderlyingReturnValue = newValue + urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesUnderlyingReturnValue = newValue } } } } - open var urlForOidcOidcConfigurationPromptLoginHintDeviceIdAdditionalScopesClosure: ((OidcConfiguration, OidcPrompt?, String?, String?, [String]?) async throws -> OAuthAuthorizationData)? + open var urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesClosure: ((OAuthConfiguration, OAuthPrompt?, String?, String?, [String]?) async throws -> OAuthAuthorizationData)? - open override func urlForOidc(oidcConfiguration: OidcConfiguration, prompt: OidcPrompt?, loginHint: String?, deviceId: String?, additionalScopes: [String]?) async throws -> OAuthAuthorizationData { - if let error = urlForOidcOidcConfigurationPromptLoginHintDeviceIdAdditionalScopesThrowableError { + open override func urlForOauth(oauthConfiguration: OAuthConfiguration, prompt: OAuthPrompt?, loginHint: String?, deviceId: String?, additionalScopes: [String]?) async throws -> OAuthAuthorizationData { + if let error = urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesThrowableError { throw error } - urlForOidcOidcConfigurationPromptLoginHintDeviceIdAdditionalScopesCallsCount += 1 - urlForOidcOidcConfigurationPromptLoginHintDeviceIdAdditionalScopesReceivedArguments = (oidcConfiguration: oidcConfiguration, prompt: prompt, loginHint: loginHint, deviceId: deviceId, additionalScopes: additionalScopes) + urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesCallsCount += 1 + urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesReceivedArguments = (oauthConfiguration: oauthConfiguration, prompt: prompt, loginHint: loginHint, deviceId: deviceId, additionalScopes: additionalScopes) DispatchQueue.main.async { - self.urlForOidcOidcConfigurationPromptLoginHintDeviceIdAdditionalScopesReceivedInvocations.append((oidcConfiguration: oidcConfiguration, prompt: prompt, loginHint: loginHint, deviceId: deviceId, additionalScopes: additionalScopes)) + self.urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesReceivedInvocations.append((oauthConfiguration: oauthConfiguration, prompt: prompt, loginHint: loginHint, deviceId: deviceId, additionalScopes: additionalScopes)) } - if let urlForOidcOidcConfigurationPromptLoginHintDeviceIdAdditionalScopesClosure = urlForOidcOidcConfigurationPromptLoginHintDeviceIdAdditionalScopesClosure { - return try await urlForOidcOidcConfigurationPromptLoginHintDeviceIdAdditionalScopesClosure(oidcConfiguration, prompt, loginHint, deviceId, additionalScopes) + if let urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesClosure = urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesClosure { + return try await urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesClosure(oauthConfiguration, prompt, loginHint, deviceId, additionalScopes) } else { - return urlForOidcOidcConfigurationPromptLoginHintDeviceIdAdditionalScopesReturnValue + return urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesReturnValue } } @@ -8583,6 +8673,21 @@ open class ClientBuilderSDKMock: MatrixRustSDK.ClientBuilder, @unchecked Sendabl } } } +open class CrossSigningSecretsSDKMock: MatrixRustSDK.CrossSigningSecrets, @unchecked Sendable { + public init() { + super.init(noHandle: .init()) + } + + public required init(unsafeFromHandle handle: UInt64) { + fatalError("init(unsafeFromHandle:) has not been implemented") + } + + fileprivate var handle: UInt64 { + get { return underlyingHandle } + set(value) { underlyingHandle = value } + } + fileprivate var underlyingHandle: UInt64! +} open class EncryptionSDKMock: MatrixRustSDK.Encryption, @unchecked Sendable { public init() { super.init(noHandle: .init()) @@ -10815,17 +10920,17 @@ open class HomeserverLoginDetailsSDKMock: MatrixRustSDK.HomeserverLoginDetails, } } - //MARK: - supportedOidcPrompts + //MARK: - supportedOauthPrompts - open var supportedOidcPromptsUnderlyingCallsCount = 0 - open var supportedOidcPromptsCallsCount: Int { + open var supportedOauthPromptsUnderlyingCallsCount = 0 + open var supportedOauthPromptsCallsCount: Int { get { if Thread.isMainThread { - return supportedOidcPromptsUnderlyingCallsCount + return supportedOauthPromptsUnderlyingCallsCount } else { var returnValue: Int? = nil DispatchQueue.main.sync { - returnValue = supportedOidcPromptsUnderlyingCallsCount + returnValue = supportedOauthPromptsUnderlyingCallsCount } return returnValue! @@ -10833,27 +10938,27 @@ open class HomeserverLoginDetailsSDKMock: MatrixRustSDK.HomeserverLoginDetails, } set { if Thread.isMainThread { - supportedOidcPromptsUnderlyingCallsCount = newValue + supportedOauthPromptsUnderlyingCallsCount = newValue } else { DispatchQueue.main.sync { - supportedOidcPromptsUnderlyingCallsCount = newValue + supportedOauthPromptsUnderlyingCallsCount = newValue } } } } - open var supportedOidcPromptsCalled: Bool { - return supportedOidcPromptsCallsCount > 0 + open var supportedOauthPromptsCalled: Bool { + return supportedOauthPromptsCallsCount > 0 } - open var supportedOidcPromptsUnderlyingReturnValue: [OidcPrompt]! - open var supportedOidcPromptsReturnValue: [OidcPrompt]! { + open var supportedOauthPromptsUnderlyingReturnValue: [OAuthPrompt]! + open var supportedOauthPromptsReturnValue: [OAuthPrompt]! { get { if Thread.isMainThread { - return supportedOidcPromptsUnderlyingReturnValue + return supportedOauthPromptsUnderlyingReturnValue } else { - var returnValue: [OidcPrompt]? = nil + var returnValue: [OAuthPrompt]? = nil DispatchQueue.main.sync { - returnValue = supportedOidcPromptsUnderlyingReturnValue + returnValue = supportedOauthPromptsUnderlyingReturnValue } return returnValue! @@ -10861,36 +10966,36 @@ open class HomeserverLoginDetailsSDKMock: MatrixRustSDK.HomeserverLoginDetails, } set { if Thread.isMainThread { - supportedOidcPromptsUnderlyingReturnValue = newValue + supportedOauthPromptsUnderlyingReturnValue = newValue } else { DispatchQueue.main.sync { - supportedOidcPromptsUnderlyingReturnValue = newValue + supportedOauthPromptsUnderlyingReturnValue = newValue } } } } - open var supportedOidcPromptsClosure: (() -> [OidcPrompt])? + open var supportedOauthPromptsClosure: (() -> [OAuthPrompt])? - open override func supportedOidcPrompts() -> [OidcPrompt] { - supportedOidcPromptsCallsCount += 1 - if let supportedOidcPromptsClosure = supportedOidcPromptsClosure { - return supportedOidcPromptsClosure() + open override func supportedOauthPrompts() -> [OAuthPrompt] { + supportedOauthPromptsCallsCount += 1 + if let supportedOauthPromptsClosure = supportedOauthPromptsClosure { + return supportedOauthPromptsClosure() } else { - return supportedOidcPromptsReturnValue + return supportedOauthPromptsReturnValue } } - //MARK: - supportsOidcLogin + //MARK: - supportsOauthLogin - open var supportsOidcLoginUnderlyingCallsCount = 0 - open var supportsOidcLoginCallsCount: Int { + open var supportsOauthLoginUnderlyingCallsCount = 0 + open var supportsOauthLoginCallsCount: Int { get { if Thread.isMainThread { - return supportsOidcLoginUnderlyingCallsCount + return supportsOauthLoginUnderlyingCallsCount } else { var returnValue: Int? = nil DispatchQueue.main.sync { - returnValue = supportsOidcLoginUnderlyingCallsCount + returnValue = supportsOauthLoginUnderlyingCallsCount } return returnValue! @@ -10898,27 +11003,27 @@ open class HomeserverLoginDetailsSDKMock: MatrixRustSDK.HomeserverLoginDetails, } set { if Thread.isMainThread { - supportsOidcLoginUnderlyingCallsCount = newValue + supportsOauthLoginUnderlyingCallsCount = newValue } else { DispatchQueue.main.sync { - supportsOidcLoginUnderlyingCallsCount = newValue + supportsOauthLoginUnderlyingCallsCount = newValue } } } } - open var supportsOidcLoginCalled: Bool { - return supportsOidcLoginCallsCount > 0 + open var supportsOauthLoginCalled: Bool { + return supportsOauthLoginCallsCount > 0 } - open var supportsOidcLoginUnderlyingReturnValue: Bool! - open var supportsOidcLoginReturnValue: Bool! { + open var supportsOauthLoginUnderlyingReturnValue: Bool! + open var supportsOauthLoginReturnValue: Bool! { get { if Thread.isMainThread { - return supportsOidcLoginUnderlyingReturnValue + return supportsOauthLoginUnderlyingReturnValue } else { var returnValue: Bool? = nil DispatchQueue.main.sync { - returnValue = supportsOidcLoginUnderlyingReturnValue + returnValue = supportsOauthLoginUnderlyingReturnValue } return returnValue! @@ -10926,22 +11031,22 @@ open class HomeserverLoginDetailsSDKMock: MatrixRustSDK.HomeserverLoginDetails, } set { if Thread.isMainThread { - supportsOidcLoginUnderlyingReturnValue = newValue + supportsOauthLoginUnderlyingReturnValue = newValue } else { DispatchQueue.main.sync { - supportsOidcLoginUnderlyingReturnValue = newValue + supportsOauthLoginUnderlyingReturnValue = newValue } } } } - open var supportsOidcLoginClosure: (() -> Bool)? + open var supportsOauthLoginClosure: (() -> Bool)? - open override func supportsOidcLogin() -> Bool { - supportsOidcLoginCallsCount += 1 - if let supportsOidcLoginClosure = supportsOidcLoginClosure { - return supportsOidcLoginClosure() + open override func supportsOauthLogin() -> Bool { + supportsOauthLoginCallsCount += 1 + if let supportsOauthLoginClosure = supportsOauthLoginClosure { + return supportsOauthLoginClosure() } else { - return supportsOidcLoginReturnValue + return supportsOauthLoginReturnValue } } @@ -19065,9 +19170,34 @@ open class RoomSDKMock: MatrixRustSDK.Room, @unchecked Sendable { } open var startLiveLocationShareDurationMillisReceivedDurationMillis: UInt64? open var startLiveLocationShareDurationMillisReceivedInvocations: [UInt64] = [] - open var startLiveLocationShareDurationMillisClosure: ((UInt64) async throws -> Void)? - open override func startLiveLocationShare(durationMillis: UInt64) async throws { + open var startLiveLocationShareDurationMillisUnderlyingReturnValue: String! + open var startLiveLocationShareDurationMillisReturnValue: String! { + get { + if Thread.isMainThread { + return startLiveLocationShareDurationMillisUnderlyingReturnValue + } else { + var returnValue: String? = nil + DispatchQueue.main.sync { + returnValue = startLiveLocationShareDurationMillisUnderlyingReturnValue + } + + return returnValue! + } + } + set { + if Thread.isMainThread { + startLiveLocationShareDurationMillisUnderlyingReturnValue = newValue + } else { + DispatchQueue.main.sync { + startLiveLocationShareDurationMillisUnderlyingReturnValue = newValue + } + } + } + } + open var startLiveLocationShareDurationMillisClosure: ((UInt64) async throws -> String)? + + open override func startLiveLocationShare(durationMillis: UInt64) async throws -> String { if let error = startLiveLocationShareDurationMillisThrowableError { throw error } @@ -19076,7 +19206,11 @@ open class RoomSDKMock: MatrixRustSDK.Room, @unchecked Sendable { DispatchQueue.main.async { self.startLiveLocationShareDurationMillisReceivedInvocations.append(durationMillis) } - try await startLiveLocationShareDurationMillisClosure?(durationMillis) + if let startLiveLocationShareDurationMillisClosure = startLiveLocationShareDurationMillisClosure { + return try await startLiveLocationShareDurationMillisClosure(durationMillis) + } else { + return startLiveLocationShareDurationMillisReturnValue + } } //MARK: - stopLiveLocationShare @@ -23749,6 +23883,21 @@ open class RoomSearchIteratorSDKMock: MatrixRustSDK.RoomSearchIterator, @uncheck } } } +open class SecretsBundleSDKMock: MatrixRustSDK.SecretsBundle, @unchecked Sendable { + public init() { + super.init(noHandle: .init()) + } + + public required init(unsafeFromHandle handle: UInt64) { + fatalError("init(unsafeFromHandle:) has not been implemented") + } + + fileprivate var handle: UInt64 { + get { return underlyingHandle } + set(value) { underlyingHandle = value } + } + fileprivate var underlyingHandle: UInt64! +} open class SecretsBundleWithUserIdSDKMock: MatrixRustSDK.SecretsBundleWithUserId, @unchecked Sendable { public init() { super.init(noHandle: .init()) diff --git a/UnitTests/Sources/AuthenticationStartScreenViewModelTests.swift b/UnitTests/Sources/AuthenticationStartScreenViewModelTests.swift index 484dcf143..607b09a44 100644 --- a/UnitTests/Sources/AuthenticationStartScreenViewModelTests.swift +++ b/UnitTests/Sources/AuthenticationStartScreenViewModelTests.swift @@ -41,7 +41,7 @@ final class AuthenticationStartScreenViewModelTests { // Given a view model that has no provisioning parameters. await setupViewModel() #expect(authenticationService.homeserver.value.loginMode == .unknown) - #expect(client.urlForOidcOidcConfigurationPromptLoginHintDeviceIdAdditionalScopesCallsCount == 0) + #expect(client.urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesCallsCount == 0) // When tapping any of the buttons on the screen let actions: [(AuthenticationStartScreenViewAction, AuthenticationStartScreenViewModelAction)] = [ @@ -58,7 +58,7 @@ final class AuthenticationStartScreenViewModelTests { // Then the authentication service should not be used yet. #expect(clientFactory.makeClientHomeserverAddressSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksCallsCount == 0) - #expect(client.urlForOidcOidcConfigurationPromptLoginHintDeviceIdAdditionalScopesCallsCount == 0) + #expect(client.urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesCallsCount == 0) #expect(authenticationService.homeserver.value.loginMode == .unknown) } } @@ -68,7 +68,7 @@ final class AuthenticationStartScreenViewModelTests { // Given a view model that has been provisioned with a server that supports OIDC. await setupViewModel(provisioningParameters: .init(accountProvider: "company.com", loginHint: "user@company.com")) #expect(authenticationService.homeserver.value.loginMode == .unknown) - #expect(client.urlForOidcOidcConfigurationPromptLoginHintDeviceIdAdditionalScopesCallsCount == 0) + #expect(client.urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesCallsCount == 0) // When tapping the login button the authentication service should be used and the screen // should request to continue the flow without any server selection needed. @@ -77,9 +77,9 @@ final class AuthenticationStartScreenViewModelTests { try await deferred.fulfill() #expect(clientFactory.makeClientHomeserverAddressSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksCallsCount == 1) - #expect(client.urlForOidcOidcConfigurationPromptLoginHintDeviceIdAdditionalScopesCallsCount == 1) - #expect(client.urlForOidcOidcConfigurationPromptLoginHintDeviceIdAdditionalScopesReceivedArguments?.prompt == .consent) - #expect(client.urlForOidcOidcConfigurationPromptLoginHintDeviceIdAdditionalScopesReceivedArguments?.loginHint == "user@company.com") + #expect(client.urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesCallsCount == 1) + #expect(client.urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesReceivedArguments?.prompt == .consent) + #expect(client.urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesReceivedArguments?.loginHint == "user@company.com") #expect(authenticationService.homeserver.value.loginMode == .oidc(supportsCreatePrompt: false)) } @@ -88,7 +88,7 @@ final class AuthenticationStartScreenViewModelTests { // Given a view model that has been provisioned with a server that does not support OIDC. await setupViewModel(provisioningParameters: .init(accountProvider: "company.com", loginHint: "user@company.com"), supportsOIDC: false) #expect(authenticationService.homeserver.value.loginMode == .unknown) - #expect(client.urlForOidcOidcConfigurationPromptLoginHintDeviceIdAdditionalScopesCallsCount == 0) + #expect(client.urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesCallsCount == 0) // When tapping the login button the authentication service should be used and the screen // should request to continue the flow without any server selection needed. @@ -107,7 +107,7 @@ final class AuthenticationStartScreenViewModelTests { setAllowedAccountProviders(["company.com"]) await setupViewModel() #expect(authenticationService.homeserver.value.loginMode == .unknown) - #expect(client.urlForOidcOidcConfigurationPromptLoginHintDeviceIdAdditionalScopesCallsCount == 0) + #expect(client.urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesCallsCount == 0) // When tapping the login button the authentication service should be used and the screen // should request to continue the flow without any server selection needed. @@ -116,9 +116,9 @@ final class AuthenticationStartScreenViewModelTests { try await deferred.fulfill() #expect(clientFactory.makeClientHomeserverAddressSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksCallsCount == 1) - #expect(client.urlForOidcOidcConfigurationPromptLoginHintDeviceIdAdditionalScopesCallsCount == 1) - #expect(client.urlForOidcOidcConfigurationPromptLoginHintDeviceIdAdditionalScopesReceivedArguments?.prompt == .consent) - #expect(client.urlForOidcOidcConfigurationPromptLoginHintDeviceIdAdditionalScopesReceivedArguments?.loginHint == nil) + #expect(client.urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesCallsCount == 1) + #expect(client.urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesReceivedArguments?.prompt == .consent) + #expect(client.urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesReceivedArguments?.loginHint == nil) #expect(authenticationService.homeserver.value.loginMode == .oidc(supportsCreatePrompt: false)) } @@ -128,7 +128,7 @@ final class AuthenticationStartScreenViewModelTests { setAllowedAccountProviders(["company.com"]) await setupViewModel(supportsOIDC: false) #expect(authenticationService.homeserver.value.loginMode == .unknown) - #expect(client.urlForOidcOidcConfigurationPromptLoginHintDeviceIdAdditionalScopesCallsCount == 0) + #expect(client.urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesCallsCount == 0) // When tapping the login button the authentication service should be used and the screen // should request to continue the flow without any server selection needed. @@ -163,7 +163,7 @@ final class AuthenticationStartScreenViewModelTests { #expect(clientFactory.makeClientHomeserverAddressSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksCallsCount == 1) #expect(clientFactory.makeClientHomeserverAddressSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksReceivedArguments?.homeserverAddress == "company.com") #expect(authenticationService.homeserver.value.loginMode == .oidc(supportsCreatePrompt: false)) - #expect(client.urlForOidcOidcConfigurationPromptLoginHintDeviceIdAdditionalScopesReceivedArguments?.loginHint == "mxid:\(classicAppAccount.userID)") + #expect(client.urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesReceivedArguments?.loginHint == "mxid:\(classicAppAccount.userID)") } @Test @@ -187,7 +187,7 @@ final class AuthenticationStartScreenViewModelTests { #expect(clientFactory.makeClientHomeserverAddressSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksCallsCount == 2) #expect(clientFactory.makeClientHomeserverAddressSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksReceivedArguments?.homeserverAddress == "https://matrix.company.com") #expect(authenticationService.homeserver.value.loginMode == .oidc(supportsCreatePrompt: false)) - #expect(client.urlForOidcOidcConfigurationPromptLoginHintDeviceIdAdditionalScopesReceivedArguments?.loginHint == "mxid:\(classicAppAccount.userID)") + #expect(client.urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesReceivedArguments?.loginHint == "mxid:\(classicAppAccount.userID)") } @Test diff --git a/UnitTests/Sources/KeychainControllerTests.swift b/UnitTests/Sources/KeychainControllerTests.swift index 23f47241d..7e2643eec 100644 --- a/UnitTests/Sources/KeychainControllerTests.swift +++ b/UnitTests/Sources/KeychainControllerTests.swift @@ -33,7 +33,7 @@ struct KeychainControllerTests { userId: "userId", deviceId: "deviceId", homeserverUrl: "homeserverUrl", - oidcData: "oidcData", + oauthData: "oauthData", slidingSyncVersion: .native), sessionDirectories: .init(), passphrase: "passphrase", @@ -53,7 +53,7 @@ struct KeychainControllerTests { userId: "userId", deviceId: "deviceId", homeserverUrl: "homeserverUrl", - oidcData: "oidcData", + oauthData: "oauthData", slidingSyncVersion: .native), sessionDirectories: .init(), passphrase: "passphrase", @@ -79,7 +79,7 @@ struct KeychainControllerTests { userId: "userId", deviceId: "deviceId", homeserverUrl: "homeserverUrl", - oidcData: "oidcData", + oauthData: "oauthData", slidingSyncVersion: .native), sessionDirectories: .init(), passphrase: "passphrase", @@ -104,7 +104,7 @@ struct KeychainControllerTests { userId: "userId", deviceId: "deviceId", homeserverUrl: "homeserverUrl", - oidcData: "oidcData", + oauthData: "oauthData", slidingSyncVersion: .native), sessionDirectories: .init(), passphrase: "passphrase", diff --git a/UnitTests/Sources/RestorationTokenTests.swift b/UnitTests/Sources/RestorationTokenTests.swift index 36a945134..12ce46e2c 100644 --- a/UnitTests/Sources/RestorationTokenTests.swift +++ b/UnitTests/Sources/RestorationTokenTests.swift @@ -103,7 +103,7 @@ struct RestorationTokenTests { userId: "@user:example.com", deviceId: "D3V1C3", homeserverUrl: "https://matrix.example.com", - oidcData: "data-from-mas", + oauthData: "data-from-mas", slidingSyncVersion: .native), sessionDirectories: .init(), passphrase: "passphrase", @@ -123,7 +123,7 @@ struct RestorationTokenTests { #expect(session.userId == originalSession.userId, "The user ID should not be changed.") #expect(session.deviceId == originalSession.deviceId, "The device ID should not be changed.") #expect(session.homeserverUrl == originalSession.homeserverUrl, "The homeserver URL should not be changed.") - #expect(session.oidcData == originalSession.oidcData, "The OIDC data should not be changed.") + #expect(session.oauthData == originalSession.oidcData, "The OAuth data should not be changed.") } } diff --git a/UnitTests/Sources/ServerConfirmationScreenViewModelTests.swift b/UnitTests/Sources/ServerConfirmationScreenViewModelTests.swift index 1f072f973..8a54b2caa 100644 --- a/UnitTests/Sources/ServerConfirmationScreenViewModelTests.swift +++ b/UnitTests/Sources/ServerConfirmationScreenViewModelTests.swift @@ -43,7 +43,7 @@ final class ServerConfirmationScreenViewModelTests { #expect(service.homeserver.value.loginMode == .unknown) #expect(context.viewState.mode == .confirmation(service.homeserver.value.address)) #expect(clientFactory.makeClientHomeserverAddressSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksCallsCount == 0) - #expect(client.urlForOidcOidcConfigurationPromptLoginHintDeviceIdAdditionalScopesCallsCount == 0) + #expect(client.urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesCallsCount == 0) // When continuing from the confirmation screen. let deferred = deferFulfillment(viewModel.actions) { $0.isContinueWithOIDC } @@ -52,8 +52,8 @@ final class ServerConfirmationScreenViewModelTests { // Then a call to configure service should be made. #expect(clientFactory.makeClientHomeserverAddressSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksCallsCount == 1) - #expect(client.urlForOidcOidcConfigurationPromptLoginHintDeviceIdAdditionalScopesCallsCount == 1) - #expect(client.urlForOidcOidcConfigurationPromptLoginHintDeviceIdAdditionalScopesReceivedArguments?.prompt == .consent) + #expect(client.urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesCallsCount == 1) + #expect(client.urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesReceivedArguments?.prompt == .consent) #expect(service.homeserver.value.loginMode == .oidc(supportsCreatePrompt: true)) } @@ -68,7 +68,7 @@ final class ServerConfirmationScreenViewModelTests { #expect(service.homeserver.value.loginMode == .oidc(supportsCreatePrompt: true)) #expect(context.viewState.mode == .confirmation(service.homeserver.value.address)) #expect(clientFactory.makeClientHomeserverAddressSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksCallsCount == 1) - #expect(client.urlForOidcOidcConfigurationPromptLoginHintDeviceIdAdditionalScopesCallsCount == 0) + #expect(client.urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesCallsCount == 0) // When continuing from the confirmation screen. let deferred = deferFulfillment(viewModel.actions) { $0.isContinueWithOIDC } @@ -77,8 +77,8 @@ final class ServerConfirmationScreenViewModelTests { // Then the configured homeserver should be used and no additional client should be built. #expect(clientFactory.makeClientHomeserverAddressSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksCallsCount == 1) - #expect(client.urlForOidcOidcConfigurationPromptLoginHintDeviceIdAdditionalScopesCallsCount == 1) - #expect(client.urlForOidcOidcConfigurationPromptLoginHintDeviceIdAdditionalScopesReceivedArguments?.prompt == .consent) + #expect(client.urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesCallsCount == 1) + #expect(client.urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesReceivedArguments?.prompt == .consent) } @Test @@ -88,7 +88,7 @@ final class ServerConfirmationScreenViewModelTests { #expect(service.homeserver.value.loginMode == .unknown) #expect(context.viewState.mode == .confirmation(service.homeserver.value.address)) #expect(clientFactory.makeClientHomeserverAddressSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksCallsCount == 0) - #expect(client.urlForOidcOidcConfigurationPromptLoginHintDeviceIdAdditionalScopesCallsCount == 0) + #expect(client.urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesCallsCount == 0) // When continuing from the confirmation screen. let deferred = deferFulfillment(viewModel.actions) { $0.isContinueWithOIDC } @@ -97,9 +97,9 @@ final class ServerConfirmationScreenViewModelTests { // Then a call to configure service should be made. #expect(clientFactory.makeClientHomeserverAddressSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksCallsCount == 1) - #expect(client.urlForOidcOidcConfigurationPromptLoginHintDeviceIdAdditionalScopesCallsCount == 1) + #expect(client.urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesCallsCount == 1) // The create prompt is broken: https://github.com/element-hq/matrix-authentication-service/issues/3429 - // #expect(client.urlForOidcOidcConfigurationPromptReceivedArguments?.prompt == .create) + // #expect(client.urlForOauthOauthConfigurationPromptReceivedArguments?.prompt == .create) #expect(service.homeserver.value.loginMode == .oidc(supportsCreatePrompt: true)) } @@ -114,7 +114,7 @@ final class ServerConfirmationScreenViewModelTests { #expect(service.homeserver.value.loginMode == .oidc(supportsCreatePrompt: true)) #expect(context.viewState.mode == .confirmation(service.homeserver.value.address)) #expect(clientFactory.makeClientHomeserverAddressSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksCallsCount == 1) - #expect(client.urlForOidcOidcConfigurationPromptLoginHintDeviceIdAdditionalScopesCallsCount == 0) + #expect(client.urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesCallsCount == 0) // When continuing from the confirmation screen. let deferred = deferFulfillment(viewModel.actions) { $0.isContinueWithOIDC } @@ -124,8 +124,8 @@ final class ServerConfirmationScreenViewModelTests { // Then the configured homeserver should be used and no additional client should be built. #expect(clientFactory.makeClientHomeserverAddressSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksCallsCount == 1) // The create prompt is broken: https://github.com/element-hq/matrix-authentication-service/issues/3429 - // #expect(client.urlForOidcOidcConfigurationPromptReceivedArguments?.prompt == .create) - #expect(client.urlForOidcOidcConfigurationPromptLoginHintDeviceIdAdditionalScopesCallsCount == 1) + // #expect(client.urlForOauthOauthConfigurationPromptReceivedArguments?.prompt == .create) + #expect(client.urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesCallsCount == 1) } @Test @@ -135,7 +135,7 @@ final class ServerConfirmationScreenViewModelTests { #expect(service.homeserver.value.loginMode == .unknown) #expect(context.viewState.mode == .confirmation(service.homeserver.value.address)) #expect(clientFactory.makeClientHomeserverAddressSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksCallsCount == 0) - #expect(client.urlForOidcOidcConfigurationPromptLoginHintDeviceIdAdditionalScopesCallsCount == 0) + #expect(client.urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesCallsCount == 0) // When continuing from the confirmation screen. let deferred = deferFulfillment(viewModel.actions) { $0.isContinueWithPassword } @@ -144,7 +144,7 @@ final class ServerConfirmationScreenViewModelTests { // Then a call to configure service should be made, but not for the OIDC URL. #expect(clientFactory.makeClientHomeserverAddressSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksCallsCount == 1) - #expect(client.urlForOidcOidcConfigurationPromptLoginHintDeviceIdAdditionalScopesCallsCount == 0) + #expect(client.urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesCallsCount == 0) #expect(service.homeserver.value.loginMode == .password) } @@ -159,7 +159,7 @@ final class ServerConfirmationScreenViewModelTests { #expect(service.homeserver.value.loginMode == .password) #expect(context.viewState.mode == .confirmation(service.homeserver.value.address)) #expect(clientFactory.makeClientHomeserverAddressSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksCallsCount == 1) - #expect(client.urlForOidcOidcConfigurationPromptLoginHintDeviceIdAdditionalScopesCallsCount == 0) + #expect(client.urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesCallsCount == 0) // When continuing from the confirmation screen. let deferred = deferFulfillment(viewModel.actions) { $0.isContinueWithPassword } @@ -168,7 +168,7 @@ final class ServerConfirmationScreenViewModelTests { // Then the configured homeserver should be used and no additional client should be built, nor a call to get the OIDC URL. #expect(clientFactory.makeClientHomeserverAddressSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksCallsCount == 1) - #expect(client.urlForOidcOidcConfigurationPromptLoginHintDeviceIdAdditionalScopesCallsCount == 0) + #expect(client.urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesCallsCount == 0) } @Test @@ -235,7 +235,7 @@ final class ServerConfirmationScreenViewModelTests { #expect(service.homeserver.value.loginMode == .unknown) #expect(context.viewState.mode == .picker(appSettings.accountProviders)) #expect(clientFactory.makeClientHomeserverAddressSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksCallsCount == 0) - #expect(client.urlForOidcOidcConfigurationPromptLoginHintDeviceIdAdditionalScopesCallsCount == 0) + #expect(client.urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesCallsCount == 0) // When continuing from the confirmation screen. let deferred = deferFulfillment(viewModel.actions) { $0.isContinueWithOIDC } @@ -244,8 +244,8 @@ final class ServerConfirmationScreenViewModelTests { // Then a call to configure service should be made. #expect(clientFactory.makeClientHomeserverAddressSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksCallsCount == 1) - #expect(client.urlForOidcOidcConfigurationPromptLoginHintDeviceIdAdditionalScopesCallsCount == 1) - #expect(client.urlForOidcOidcConfigurationPromptLoginHintDeviceIdAdditionalScopesReceivedArguments?.prompt == .consent) + #expect(client.urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesCallsCount == 1) + #expect(client.urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesReceivedArguments?.prompt == .consent) #expect(service.homeserver.value.loginMode == .oidc(supportsCreatePrompt: true)) } @@ -260,7 +260,7 @@ final class ServerConfirmationScreenViewModelTests { #expect(service.homeserver.value.loginMode == .oidc(supportsCreatePrompt: true)) #expect(context.viewState.mode == .picker(appSettings.accountProviders)) #expect(clientFactory.makeClientHomeserverAddressSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksCallsCount == 1) - #expect(client.urlForOidcOidcConfigurationPromptLoginHintDeviceIdAdditionalScopesCallsCount == 0) + #expect(client.urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesCallsCount == 0) // When continuing from the confirmation screen. let deferred = deferFulfillment(viewModel.actions) { $0.isContinueWithOIDC } @@ -269,8 +269,8 @@ final class ServerConfirmationScreenViewModelTests { // Then the configured homeserver should be used and no additional client should be built. #expect(clientFactory.makeClientHomeserverAddressSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksCallsCount == 1) - #expect(client.urlForOidcOidcConfigurationPromptLoginHintDeviceIdAdditionalScopesCallsCount == 1) - #expect(client.urlForOidcOidcConfigurationPromptLoginHintDeviceIdAdditionalScopesReceivedArguments?.prompt == .consent) + #expect(client.urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesCallsCount == 1) + #expect(client.urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesReceivedArguments?.prompt == .consent) } @Test @@ -280,7 +280,7 @@ final class ServerConfirmationScreenViewModelTests { #expect(service.homeserver.value.loginMode == .unknown) #expect(context.viewState.mode == .picker(appSettings.accountProviders)) #expect(clientFactory.makeClientHomeserverAddressSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksCallsCount == 0) - #expect(client.urlForOidcOidcConfigurationPromptLoginHintDeviceIdAdditionalScopesCallsCount == 0) + #expect(client.urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesCallsCount == 0) // When continuing from the confirmation screen. let deferred = deferFulfillment(viewModel.actions) { $0.isContinueWithPassword } @@ -289,7 +289,7 @@ final class ServerConfirmationScreenViewModelTests { // Then a call to configure service should be made, but not for the OIDC URL. #expect(clientFactory.makeClientHomeserverAddressSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksCallsCount == 1) - #expect(client.urlForOidcOidcConfigurationPromptLoginHintDeviceIdAdditionalScopesCallsCount == 0) + #expect(client.urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesCallsCount == 0) #expect(service.homeserver.value.loginMode == .password) } @@ -304,7 +304,7 @@ final class ServerConfirmationScreenViewModelTests { #expect(service.homeserver.value.loginMode == .password) #expect(context.viewState.mode == .picker(appSettings.accountProviders)) #expect(clientFactory.makeClientHomeserverAddressSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksCallsCount == 1) - #expect(client.urlForOidcOidcConfigurationPromptLoginHintDeviceIdAdditionalScopesCallsCount == 0) + #expect(client.urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesCallsCount == 0) // When continuing from the confirmation screen. let deferred = deferFulfillment(viewModel.actions) { $0.isContinueWithPassword } @@ -313,7 +313,7 @@ final class ServerConfirmationScreenViewModelTests { // Then the configured homeserver should be used and no additional client should be built, nor a call to get the OIDC URL. #expect(clientFactory.makeClientHomeserverAddressSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksCallsCount == 1) - #expect(client.urlForOidcOidcConfigurationPromptLoginHintDeviceIdAdditionalScopesCallsCount == 0) + #expect(client.urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesCallsCount == 0) } // MARK: - Helpers diff --git a/project.yml b/project.yml index c5222f215..9967a1ebb 100644 --- a/project.yml +++ b/project.yml @@ -74,7 +74,7 @@ packages: # Element/Matrix dependencies MatrixRustSDK: url: https://github.com/element-hq/matrix-rust-components-swift - exactVersion: 26.04.23 + exactVersion: 26.04.27 # path: ../matrix-rust-sdk Compound: path: compound-ios