mirror of
https://github.com/Novaloop-AG/element-x-ios.git
synced 2026-11-04 10:33:45 +00:00
Update the SDK to fix a sync performance regression. (#4324)
This commit is contained in:
@@ -8771,7 +8771,7 @@
|
|||||||
repositoryURL = "https://github.com/element-hq/matrix-rust-components-swift";
|
repositoryURL = "https://github.com/element-hq/matrix-rust-components-swift";
|
||||||
requirement = {
|
requirement = {
|
||||||
kind = exactVersion;
|
kind = exactVersion;
|
||||||
version = "25.07.14-2";
|
version = 25.07.15;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
701C7BEF8F70F7A83E852DCC /* XCRemoteSwiftPackageReference "GZIP" */ = {
|
701C7BEF8F70F7A83E852DCC /* XCRemoteSwiftPackageReference "GZIP" */ = {
|
||||||
|
|||||||
@@ -158,8 +158,8 @@
|
|||||||
"kind" : "remoteSourceControl",
|
"kind" : "remoteSourceControl",
|
||||||
"location" : "https://github.com/element-hq/matrix-rust-components-swift",
|
"location" : "https://github.com/element-hq/matrix-rust-components-swift",
|
||||||
"state" : {
|
"state" : {
|
||||||
"revision" : "08ec4eaad53ca384e41bcb72bc198f26d7b17bd5",
|
"revision" : "1c896dcca3bd302b492a71b3d020f50d8407fea0",
|
||||||
"version" : "25.7.14-2"
|
"version" : "25.7.15"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -5108,16 +5108,16 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable {
|
|||||||
|
|
||||||
//MARK: - urlForOidc
|
//MARK: - urlForOidc
|
||||||
|
|
||||||
open var urlForOidcOidcConfigurationPromptLoginHintThrowableError: Error?
|
open var urlForOidcOidcConfigurationPromptLoginHintDeviceIdThrowableError: Error?
|
||||||
var urlForOidcOidcConfigurationPromptLoginHintUnderlyingCallsCount = 0
|
var urlForOidcOidcConfigurationPromptLoginHintDeviceIdUnderlyingCallsCount = 0
|
||||||
open var urlForOidcOidcConfigurationPromptLoginHintCallsCount: Int {
|
open var urlForOidcOidcConfigurationPromptLoginHintDeviceIdCallsCount: Int {
|
||||||
get {
|
get {
|
||||||
if Thread.isMainThread {
|
if Thread.isMainThread {
|
||||||
return urlForOidcOidcConfigurationPromptLoginHintUnderlyingCallsCount
|
return urlForOidcOidcConfigurationPromptLoginHintDeviceIdUnderlyingCallsCount
|
||||||
} else {
|
} else {
|
||||||
var returnValue: Int? = nil
|
var returnValue: Int? = nil
|
||||||
DispatchQueue.main.sync {
|
DispatchQueue.main.sync {
|
||||||
returnValue = urlForOidcOidcConfigurationPromptLoginHintUnderlyingCallsCount
|
returnValue = urlForOidcOidcConfigurationPromptLoginHintDeviceIdUnderlyingCallsCount
|
||||||
}
|
}
|
||||||
|
|
||||||
return returnValue!
|
return returnValue!
|
||||||
@@ -5125,29 +5125,29 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable {
|
|||||||
}
|
}
|
||||||
set {
|
set {
|
||||||
if Thread.isMainThread {
|
if Thread.isMainThread {
|
||||||
urlForOidcOidcConfigurationPromptLoginHintUnderlyingCallsCount = newValue
|
urlForOidcOidcConfigurationPromptLoginHintDeviceIdUnderlyingCallsCount = newValue
|
||||||
} else {
|
} else {
|
||||||
DispatchQueue.main.sync {
|
DispatchQueue.main.sync {
|
||||||
urlForOidcOidcConfigurationPromptLoginHintUnderlyingCallsCount = newValue
|
urlForOidcOidcConfigurationPromptLoginHintDeviceIdUnderlyingCallsCount = newValue
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
open var urlForOidcOidcConfigurationPromptLoginHintCalled: Bool {
|
open var urlForOidcOidcConfigurationPromptLoginHintDeviceIdCalled: Bool {
|
||||||
return urlForOidcOidcConfigurationPromptLoginHintCallsCount > 0
|
return urlForOidcOidcConfigurationPromptLoginHintDeviceIdCallsCount > 0
|
||||||
}
|
}
|
||||||
open var urlForOidcOidcConfigurationPromptLoginHintReceivedArguments: (oidcConfiguration: OidcConfiguration, prompt: OidcPrompt?, loginHint: String?)?
|
open var urlForOidcOidcConfigurationPromptLoginHintDeviceIdReceivedArguments: (oidcConfiguration: OidcConfiguration, prompt: OidcPrompt?, loginHint: String?, deviceId: String?)?
|
||||||
open var urlForOidcOidcConfigurationPromptLoginHintReceivedInvocations: [(oidcConfiguration: OidcConfiguration, prompt: OidcPrompt?, loginHint: String?)] = []
|
open var urlForOidcOidcConfigurationPromptLoginHintDeviceIdReceivedInvocations: [(oidcConfiguration: OidcConfiguration, prompt: OidcPrompt?, loginHint: String?, deviceId: String?)] = []
|
||||||
|
|
||||||
var urlForOidcOidcConfigurationPromptLoginHintUnderlyingReturnValue: OAuthAuthorizationData!
|
var urlForOidcOidcConfigurationPromptLoginHintDeviceIdUnderlyingReturnValue: OAuthAuthorizationData!
|
||||||
open var urlForOidcOidcConfigurationPromptLoginHintReturnValue: OAuthAuthorizationData! {
|
open var urlForOidcOidcConfigurationPromptLoginHintDeviceIdReturnValue: OAuthAuthorizationData! {
|
||||||
get {
|
get {
|
||||||
if Thread.isMainThread {
|
if Thread.isMainThread {
|
||||||
return urlForOidcOidcConfigurationPromptLoginHintUnderlyingReturnValue
|
return urlForOidcOidcConfigurationPromptLoginHintDeviceIdUnderlyingReturnValue
|
||||||
} else {
|
} else {
|
||||||
var returnValue: OAuthAuthorizationData? = nil
|
var returnValue: OAuthAuthorizationData? = nil
|
||||||
DispatchQueue.main.sync {
|
DispatchQueue.main.sync {
|
||||||
returnValue = urlForOidcOidcConfigurationPromptLoginHintUnderlyingReturnValue
|
returnValue = urlForOidcOidcConfigurationPromptLoginHintDeviceIdUnderlyingReturnValue
|
||||||
}
|
}
|
||||||
|
|
||||||
return returnValue!
|
return returnValue!
|
||||||
@@ -5155,29 +5155,29 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable {
|
|||||||
}
|
}
|
||||||
set {
|
set {
|
||||||
if Thread.isMainThread {
|
if Thread.isMainThread {
|
||||||
urlForOidcOidcConfigurationPromptLoginHintUnderlyingReturnValue = newValue
|
urlForOidcOidcConfigurationPromptLoginHintDeviceIdUnderlyingReturnValue = newValue
|
||||||
} else {
|
} else {
|
||||||
DispatchQueue.main.sync {
|
DispatchQueue.main.sync {
|
||||||
urlForOidcOidcConfigurationPromptLoginHintUnderlyingReturnValue = newValue
|
urlForOidcOidcConfigurationPromptLoginHintDeviceIdUnderlyingReturnValue = newValue
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
open var urlForOidcOidcConfigurationPromptLoginHintClosure: ((OidcConfiguration, OidcPrompt?, String?) async throws -> OAuthAuthorizationData)?
|
open var urlForOidcOidcConfigurationPromptLoginHintDeviceIdClosure: ((OidcConfiguration, OidcPrompt?, String?, String?) async throws -> OAuthAuthorizationData)?
|
||||||
|
|
||||||
open override func urlForOidc(oidcConfiguration: OidcConfiguration, prompt: OidcPrompt?, loginHint: String?) async throws -> OAuthAuthorizationData {
|
open override func urlForOidc(oidcConfiguration: OidcConfiguration, prompt: OidcPrompt?, loginHint: String?, deviceId: String?) async throws -> OAuthAuthorizationData {
|
||||||
if let error = urlForOidcOidcConfigurationPromptLoginHintThrowableError {
|
if let error = urlForOidcOidcConfigurationPromptLoginHintDeviceIdThrowableError {
|
||||||
throw error
|
throw error
|
||||||
}
|
}
|
||||||
urlForOidcOidcConfigurationPromptLoginHintCallsCount += 1
|
urlForOidcOidcConfigurationPromptLoginHintDeviceIdCallsCount += 1
|
||||||
urlForOidcOidcConfigurationPromptLoginHintReceivedArguments = (oidcConfiguration: oidcConfiguration, prompt: prompt, loginHint: loginHint)
|
urlForOidcOidcConfigurationPromptLoginHintDeviceIdReceivedArguments = (oidcConfiguration: oidcConfiguration, prompt: prompt, loginHint: loginHint, deviceId: deviceId)
|
||||||
DispatchQueue.main.async {
|
DispatchQueue.main.async {
|
||||||
self.urlForOidcOidcConfigurationPromptLoginHintReceivedInvocations.append((oidcConfiguration: oidcConfiguration, prompt: prompt, loginHint: loginHint))
|
self.urlForOidcOidcConfigurationPromptLoginHintDeviceIdReceivedInvocations.append((oidcConfiguration: oidcConfiguration, prompt: prompt, loginHint: loginHint, deviceId: deviceId))
|
||||||
}
|
}
|
||||||
if let urlForOidcOidcConfigurationPromptLoginHintClosure = urlForOidcOidcConfigurationPromptLoginHintClosure {
|
if let urlForOidcOidcConfigurationPromptLoginHintDeviceIdClosure = urlForOidcOidcConfigurationPromptLoginHintDeviceIdClosure {
|
||||||
return try await urlForOidcOidcConfigurationPromptLoginHintClosure(oidcConfiguration, prompt, loginHint)
|
return try await urlForOidcOidcConfigurationPromptLoginHintDeviceIdClosure(oidcConfiguration, prompt, loginHint, deviceId)
|
||||||
} else {
|
} else {
|
||||||
return urlForOidcOidcConfigurationPromptLoginHintReturnValue
|
return urlForOidcOidcConfigurationPromptLoginHintDeviceIdReturnValue
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ extension ClientSDKMock {
|
|||||||
slidingSyncVersionReturnValue = configuration.slidingSyncVersion
|
slidingSyncVersionReturnValue = configuration.slidingSyncVersion
|
||||||
userIdServerNameThrowableError = MockError.generic
|
userIdServerNameThrowableError = MockError.generic
|
||||||
serverReturnValue = "https://\(configuration.serverAddress)"
|
serverReturnValue = "https://\(configuration.serverAddress)"
|
||||||
urlForOidcOidcConfigurationPromptLoginHintReturnValue = OAuthAuthorizationDataSDKMock(configuration: configuration)
|
urlForOidcOidcConfigurationPromptLoginHintDeviceIdReturnValue = OAuthAuthorizationDataSDKMock(configuration: configuration)
|
||||||
loginUsernamePasswordInitialDeviceNameDeviceIdClosure = { username, password, _, _ in
|
loginUsernamePasswordInitialDeviceNameDeviceIdClosure = { username, password, _, _ in
|
||||||
guard username == configuration.validCredentials.username,
|
guard username == configuration.validCredentials.username,
|
||||||
password == configuration.validCredentials.password else {
|
password == configuration.validCredentials.password else {
|
||||||
|
|||||||
@@ -89,7 +89,8 @@ class AuthenticationService: AuthenticationServiceProtocol {
|
|||||||
// let prompt: OidcPrompt = flow == .register ? .create : .consent
|
// let prompt: OidcPrompt = flow == .register ? .create : .consent
|
||||||
let oidcData = try await client.urlForOidc(oidcConfiguration: appSettings.oidcConfiguration.rustValue,
|
let oidcData = try await client.urlForOidc(oidcConfiguration: appSettings.oidcConfiguration.rustValue,
|
||||||
prompt: .consent,
|
prompt: .consent,
|
||||||
loginHint: loginHint)
|
loginHint: loginHint,
|
||||||
|
deviceId: nil)
|
||||||
return .success(OIDCAuthorizationDataProxy(underlyingData: oidcData))
|
return .success(OIDCAuthorizationDataProxy(underlyingData: oidcData))
|
||||||
} catch {
|
} catch {
|
||||||
MXLog.error("Failed to get URL for OIDC login: \(error)")
|
MXLog.error("Failed to get URL for OIDC login: \(error)")
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ class AuthenticationStartScreenViewModelTests: XCTestCase {
|
|||||||
// Given a view model that has no provisioning parameters.
|
// Given a view model that has no provisioning parameters.
|
||||||
setupViewModel()
|
setupViewModel()
|
||||||
XCTAssertEqual(authenticationService.homeserver.value.loginMode, .unknown)
|
XCTAssertEqual(authenticationService.homeserver.value.loginMode, .unknown)
|
||||||
XCTAssertEqual(client.urlForOidcOidcConfigurationPromptLoginHintCallsCount, 0)
|
XCTAssertEqual(client.urlForOidcOidcConfigurationPromptLoginHintDeviceIdCallsCount, 0)
|
||||||
|
|
||||||
// When tapping any of the buttons on the screen
|
// When tapping any of the buttons on the screen
|
||||||
let actions: [(AuthenticationStartScreenViewAction, AuthenticationStartScreenViewModelAction)] = [
|
let actions: [(AuthenticationStartScreenViewAction, AuthenticationStartScreenViewModelAction)] = [
|
||||||
@@ -51,7 +51,7 @@ class AuthenticationStartScreenViewModelTests: XCTestCase {
|
|||||||
|
|
||||||
// Then the authentication service should not be used yet.
|
// Then the authentication service should not be used yet.
|
||||||
XCTAssertEqual(clientBuilderFactory.makeBuilderSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksCallsCount, 0)
|
XCTAssertEqual(clientBuilderFactory.makeBuilderSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksCallsCount, 0)
|
||||||
XCTAssertEqual(client.urlForOidcOidcConfigurationPromptLoginHintCallsCount, 0)
|
XCTAssertEqual(client.urlForOidcOidcConfigurationPromptLoginHintDeviceIdCallsCount, 0)
|
||||||
XCTAssertEqual(authenticationService.homeserver.value.loginMode, .unknown)
|
XCTAssertEqual(authenticationService.homeserver.value.loginMode, .unknown)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -60,7 +60,7 @@ class AuthenticationStartScreenViewModelTests: XCTestCase {
|
|||||||
// Given a view model that has been provisioned with a server that supports OIDC.
|
// Given a view model that has been provisioned with a server that supports OIDC.
|
||||||
setupViewModel(provisioningParameters: .init(accountProvider: "company.com", loginHint: "user@company.com"))
|
setupViewModel(provisioningParameters: .init(accountProvider: "company.com", loginHint: "user@company.com"))
|
||||||
XCTAssertEqual(authenticationService.homeserver.value.loginMode, .unknown)
|
XCTAssertEqual(authenticationService.homeserver.value.loginMode, .unknown)
|
||||||
XCTAssertEqual(client.urlForOidcOidcConfigurationPromptLoginHintCallsCount, 0)
|
XCTAssertEqual(client.urlForOidcOidcConfigurationPromptLoginHintDeviceIdCallsCount, 0)
|
||||||
|
|
||||||
// When tapping the login button the authentication service should be used and the screen
|
// 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.
|
// should request to continue the flow without any server selection needed.
|
||||||
@@ -69,9 +69,9 @@ class AuthenticationStartScreenViewModelTests: XCTestCase {
|
|||||||
try await deferred.fulfill()
|
try await deferred.fulfill()
|
||||||
|
|
||||||
XCTAssertEqual(clientBuilderFactory.makeBuilderSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksCallsCount, 1)
|
XCTAssertEqual(clientBuilderFactory.makeBuilderSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksCallsCount, 1)
|
||||||
XCTAssertEqual(client.urlForOidcOidcConfigurationPromptLoginHintCallsCount, 1)
|
XCTAssertEqual(client.urlForOidcOidcConfigurationPromptLoginHintDeviceIdCallsCount, 1)
|
||||||
XCTAssertEqual(client.urlForOidcOidcConfigurationPromptLoginHintReceivedArguments?.prompt, .consent)
|
XCTAssertEqual(client.urlForOidcOidcConfigurationPromptLoginHintDeviceIdReceivedArguments?.prompt, .consent)
|
||||||
XCTAssertEqual(client.urlForOidcOidcConfigurationPromptLoginHintReceivedArguments?.loginHint, "user@company.com")
|
XCTAssertEqual(client.urlForOidcOidcConfigurationPromptLoginHintDeviceIdReceivedArguments?.loginHint, "user@company.com")
|
||||||
XCTAssertEqual(authenticationService.homeserver.value.loginMode, .oidc(supportsCreatePrompt: false))
|
XCTAssertEqual(authenticationService.homeserver.value.loginMode, .oidc(supportsCreatePrompt: false))
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -79,7 +79,7 @@ class AuthenticationStartScreenViewModelTests: XCTestCase {
|
|||||||
// Given a view model that has been provisioned with a server that does not support OIDC.
|
// Given a view model that has been provisioned with a server that does not support OIDC.
|
||||||
setupViewModel(provisioningParameters: .init(accountProvider: "company.com", loginHint: "user@company.com"), supportsOIDC: false)
|
setupViewModel(provisioningParameters: .init(accountProvider: "company.com", loginHint: "user@company.com"), supportsOIDC: false)
|
||||||
XCTAssertEqual(authenticationService.homeserver.value.loginMode, .unknown)
|
XCTAssertEqual(authenticationService.homeserver.value.loginMode, .unknown)
|
||||||
XCTAssertEqual(client.urlForOidcOidcConfigurationPromptLoginHintCallsCount, 0)
|
XCTAssertEqual(client.urlForOidcOidcConfigurationPromptLoginHintDeviceIdCallsCount, 0)
|
||||||
|
|
||||||
// When tapping the login button the authentication service should be used and the screen
|
// 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.
|
// should request to continue the flow without any server selection needed.
|
||||||
@@ -97,7 +97,7 @@ class AuthenticationStartScreenViewModelTests: XCTestCase {
|
|||||||
setAllowedAccountProviders(["company.com"])
|
setAllowedAccountProviders(["company.com"])
|
||||||
setupViewModel()
|
setupViewModel()
|
||||||
XCTAssertEqual(authenticationService.homeserver.value.loginMode, .unknown)
|
XCTAssertEqual(authenticationService.homeserver.value.loginMode, .unknown)
|
||||||
XCTAssertEqual(client.urlForOidcOidcConfigurationPromptLoginHintCallsCount, 0)
|
XCTAssertEqual(client.urlForOidcOidcConfigurationPromptLoginHintDeviceIdCallsCount, 0)
|
||||||
|
|
||||||
// When tapping the login button the authentication service should be used and the screen
|
// 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.
|
// should request to continue the flow without any server selection needed.
|
||||||
@@ -106,9 +106,9 @@ class AuthenticationStartScreenViewModelTests: XCTestCase {
|
|||||||
try await deferred.fulfill()
|
try await deferred.fulfill()
|
||||||
|
|
||||||
XCTAssertEqual(clientBuilderFactory.makeBuilderSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksCallsCount, 1)
|
XCTAssertEqual(clientBuilderFactory.makeBuilderSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksCallsCount, 1)
|
||||||
XCTAssertEqual(client.urlForOidcOidcConfigurationPromptLoginHintCallsCount, 1)
|
XCTAssertEqual(client.urlForOidcOidcConfigurationPromptLoginHintDeviceIdCallsCount, 1)
|
||||||
XCTAssertEqual(client.urlForOidcOidcConfigurationPromptLoginHintReceivedArguments?.prompt, .consent)
|
XCTAssertEqual(client.urlForOidcOidcConfigurationPromptLoginHintDeviceIdReceivedArguments?.prompt, .consent)
|
||||||
XCTAssertEqual(client.urlForOidcOidcConfigurationPromptLoginHintReceivedArguments?.loginHint, nil)
|
XCTAssertEqual(client.urlForOidcOidcConfigurationPromptLoginHintDeviceIdReceivedArguments?.loginHint, nil)
|
||||||
XCTAssertEqual(authenticationService.homeserver.value.loginMode, .oidc(supportsCreatePrompt: false))
|
XCTAssertEqual(authenticationService.homeserver.value.loginMode, .oidc(supportsCreatePrompt: false))
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -117,7 +117,7 @@ class AuthenticationStartScreenViewModelTests: XCTestCase {
|
|||||||
setAllowedAccountProviders(["company.com"])
|
setAllowedAccountProviders(["company.com"])
|
||||||
setupViewModel(supportsOIDC: false)
|
setupViewModel(supportsOIDC: false)
|
||||||
XCTAssertEqual(authenticationService.homeserver.value.loginMode, .unknown)
|
XCTAssertEqual(authenticationService.homeserver.value.loginMode, .unknown)
|
||||||
XCTAssertEqual(client.urlForOidcOidcConfigurationPromptLoginHintCallsCount, 0)
|
XCTAssertEqual(client.urlForOidcOidcConfigurationPromptLoginHintDeviceIdCallsCount, 0)
|
||||||
|
|
||||||
// When tapping the login button the authentication service should be used and the screen
|
// 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.
|
// should request to continue the flow without any server selection needed.
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ class ServerConfirmationScreenViewModelTests: XCTestCase {
|
|||||||
XCTAssertEqual(service.homeserver.value.loginMode, .unknown)
|
XCTAssertEqual(service.homeserver.value.loginMode, .unknown)
|
||||||
XCTAssertEqual(context.viewState.mode, .confirmation(service.homeserver.value.address))
|
XCTAssertEqual(context.viewState.mode, .confirmation(service.homeserver.value.address))
|
||||||
XCTAssertEqual(clientBuilderFactory.makeBuilderSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksCallsCount, 0)
|
XCTAssertEqual(clientBuilderFactory.makeBuilderSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksCallsCount, 0)
|
||||||
XCTAssertEqual(client.urlForOidcOidcConfigurationPromptLoginHintCallsCount, 0)
|
XCTAssertEqual(client.urlForOidcOidcConfigurationPromptLoginHintDeviceIdCallsCount, 0)
|
||||||
|
|
||||||
// When continuing from the confirmation screen.
|
// When continuing from the confirmation screen.
|
||||||
let deferred = deferFulfillment(viewModel.actions) { $0.isContinueWithOIDC }
|
let deferred = deferFulfillment(viewModel.actions) { $0.isContinueWithOIDC }
|
||||||
@@ -47,8 +47,8 @@ class ServerConfirmationScreenViewModelTests: XCTestCase {
|
|||||||
|
|
||||||
// Then a call to configure service should be made.
|
// Then a call to configure service should be made.
|
||||||
XCTAssertEqual(clientBuilderFactory.makeBuilderSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksCallsCount, 1)
|
XCTAssertEqual(clientBuilderFactory.makeBuilderSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksCallsCount, 1)
|
||||||
XCTAssertEqual(client.urlForOidcOidcConfigurationPromptLoginHintCallsCount, 1)
|
XCTAssertEqual(client.urlForOidcOidcConfigurationPromptLoginHintDeviceIdCallsCount, 1)
|
||||||
XCTAssertEqual(client.urlForOidcOidcConfigurationPromptLoginHintReceivedArguments?.prompt, .consent)
|
XCTAssertEqual(client.urlForOidcOidcConfigurationPromptLoginHintDeviceIdReceivedArguments?.prompt, .consent)
|
||||||
XCTAssertEqual(service.homeserver.value.loginMode, .oidc(supportsCreatePrompt: true))
|
XCTAssertEqual(service.homeserver.value.loginMode, .oidc(supportsCreatePrompt: true))
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -62,7 +62,7 @@ class ServerConfirmationScreenViewModelTests: XCTestCase {
|
|||||||
XCTAssertEqual(service.homeserver.value.loginMode, .oidc(supportsCreatePrompt: true))
|
XCTAssertEqual(service.homeserver.value.loginMode, .oidc(supportsCreatePrompt: true))
|
||||||
XCTAssertEqual(context.viewState.mode, .confirmation(service.homeserver.value.address))
|
XCTAssertEqual(context.viewState.mode, .confirmation(service.homeserver.value.address))
|
||||||
XCTAssertEqual(clientBuilderFactory.makeBuilderSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksCallsCount, 1)
|
XCTAssertEqual(clientBuilderFactory.makeBuilderSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksCallsCount, 1)
|
||||||
XCTAssertEqual(client.urlForOidcOidcConfigurationPromptLoginHintCallsCount, 0)
|
XCTAssertEqual(client.urlForOidcOidcConfigurationPromptLoginHintDeviceIdCallsCount, 0)
|
||||||
|
|
||||||
// When continuing from the confirmation screen.
|
// When continuing from the confirmation screen.
|
||||||
let deferred = deferFulfillment(viewModel.actions) { $0.isContinueWithOIDC }
|
let deferred = deferFulfillment(viewModel.actions) { $0.isContinueWithOIDC }
|
||||||
@@ -71,8 +71,8 @@ class ServerConfirmationScreenViewModelTests: XCTestCase {
|
|||||||
|
|
||||||
// Then the configured homeserver should be used and no additional client should be built.
|
// Then the configured homeserver should be used and no additional client should be built.
|
||||||
XCTAssertEqual(clientBuilderFactory.makeBuilderSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksCallsCount, 1)
|
XCTAssertEqual(clientBuilderFactory.makeBuilderSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksCallsCount, 1)
|
||||||
XCTAssertEqual(client.urlForOidcOidcConfigurationPromptLoginHintCallsCount, 1)
|
XCTAssertEqual(client.urlForOidcOidcConfigurationPromptLoginHintDeviceIdCallsCount, 1)
|
||||||
XCTAssertEqual(client.urlForOidcOidcConfigurationPromptLoginHintReceivedArguments?.prompt, .consent)
|
XCTAssertEqual(client.urlForOidcOidcConfigurationPromptLoginHintDeviceIdReceivedArguments?.prompt, .consent)
|
||||||
}
|
}
|
||||||
|
|
||||||
func testConfirmRegisterWithoutConfiguration() async throws {
|
func testConfirmRegisterWithoutConfiguration() async throws {
|
||||||
@@ -81,7 +81,7 @@ class ServerConfirmationScreenViewModelTests: XCTestCase {
|
|||||||
XCTAssertEqual(service.homeserver.value.loginMode, .unknown)
|
XCTAssertEqual(service.homeserver.value.loginMode, .unknown)
|
||||||
XCTAssertEqual(context.viewState.mode, .confirmation(service.homeserver.value.address))
|
XCTAssertEqual(context.viewState.mode, .confirmation(service.homeserver.value.address))
|
||||||
XCTAssertEqual(clientBuilderFactory.makeBuilderSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksCallsCount, 0)
|
XCTAssertEqual(clientBuilderFactory.makeBuilderSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksCallsCount, 0)
|
||||||
XCTAssertEqual(client.urlForOidcOidcConfigurationPromptLoginHintCallsCount, 0)
|
XCTAssertEqual(client.urlForOidcOidcConfigurationPromptLoginHintDeviceIdCallsCount, 0)
|
||||||
|
|
||||||
// When continuing from the confirmation screen.
|
// When continuing from the confirmation screen.
|
||||||
let deferred = deferFulfillment(viewModel.actions) { $0.isContinueWithOIDC }
|
let deferred = deferFulfillment(viewModel.actions) { $0.isContinueWithOIDC }
|
||||||
@@ -90,7 +90,7 @@ class ServerConfirmationScreenViewModelTests: XCTestCase {
|
|||||||
|
|
||||||
// Then a call to configure service should be made.
|
// Then a call to configure service should be made.
|
||||||
XCTAssertEqual(clientBuilderFactory.makeBuilderSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksCallsCount, 1)
|
XCTAssertEqual(clientBuilderFactory.makeBuilderSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksCallsCount, 1)
|
||||||
XCTAssertEqual(client.urlForOidcOidcConfigurationPromptLoginHintCallsCount, 1)
|
XCTAssertEqual(client.urlForOidcOidcConfigurationPromptLoginHintDeviceIdCallsCount, 1)
|
||||||
// The create prompt is broken: https://github.com/element-hq/matrix-authentication-service/issues/3429
|
// The create prompt is broken: https://github.com/element-hq/matrix-authentication-service/issues/3429
|
||||||
// XCTAssertEqual(client.urlForOidcOidcConfigurationPromptReceivedArguments?.prompt, .create)
|
// XCTAssertEqual(client.urlForOidcOidcConfigurationPromptReceivedArguments?.prompt, .create)
|
||||||
XCTAssertEqual(service.homeserver.value.loginMode, .oidc(supportsCreatePrompt: true))
|
XCTAssertEqual(service.homeserver.value.loginMode, .oidc(supportsCreatePrompt: true))
|
||||||
@@ -106,7 +106,7 @@ class ServerConfirmationScreenViewModelTests: XCTestCase {
|
|||||||
XCTAssertEqual(service.homeserver.value.loginMode, .oidc(supportsCreatePrompt: true))
|
XCTAssertEqual(service.homeserver.value.loginMode, .oidc(supportsCreatePrompt: true))
|
||||||
XCTAssertEqual(context.viewState.mode, .confirmation(service.homeserver.value.address))
|
XCTAssertEqual(context.viewState.mode, .confirmation(service.homeserver.value.address))
|
||||||
XCTAssertEqual(clientBuilderFactory.makeBuilderSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksCallsCount, 1)
|
XCTAssertEqual(clientBuilderFactory.makeBuilderSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksCallsCount, 1)
|
||||||
XCTAssertEqual(client.urlForOidcOidcConfigurationPromptLoginHintCallsCount, 0)
|
XCTAssertEqual(client.urlForOidcOidcConfigurationPromptLoginHintDeviceIdCallsCount, 0)
|
||||||
|
|
||||||
// When continuing from the confirmation screen.
|
// When continuing from the confirmation screen.
|
||||||
let deferred = deferFulfillment(viewModel.actions) { $0.isContinueWithOIDC }
|
let deferred = deferFulfillment(viewModel.actions) { $0.isContinueWithOIDC }
|
||||||
@@ -117,7 +117,7 @@ class ServerConfirmationScreenViewModelTests: XCTestCase {
|
|||||||
XCTAssertEqual(clientBuilderFactory.makeBuilderSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksCallsCount, 1)
|
XCTAssertEqual(clientBuilderFactory.makeBuilderSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksCallsCount, 1)
|
||||||
// The create prompt is broken: https://github.com/element-hq/matrix-authentication-service/issues/3429
|
// The create prompt is broken: https://github.com/element-hq/matrix-authentication-service/issues/3429
|
||||||
// XCTAssertEqual(client.urlForOidcOidcConfigurationPromptReceivedArguments?.prompt, .create)
|
// XCTAssertEqual(client.urlForOidcOidcConfigurationPromptReceivedArguments?.prompt, .create)
|
||||||
XCTAssertEqual(client.urlForOidcOidcConfigurationPromptLoginHintCallsCount, 1)
|
XCTAssertEqual(client.urlForOidcOidcConfigurationPromptLoginHintDeviceIdCallsCount, 1)
|
||||||
}
|
}
|
||||||
|
|
||||||
func testConfirmPasswordLoginWithoutConfiguration() async throws {
|
func testConfirmPasswordLoginWithoutConfiguration() async throws {
|
||||||
@@ -126,7 +126,7 @@ class ServerConfirmationScreenViewModelTests: XCTestCase {
|
|||||||
XCTAssertEqual(service.homeserver.value.loginMode, .unknown)
|
XCTAssertEqual(service.homeserver.value.loginMode, .unknown)
|
||||||
XCTAssertEqual(context.viewState.mode, .confirmation(service.homeserver.value.address))
|
XCTAssertEqual(context.viewState.mode, .confirmation(service.homeserver.value.address))
|
||||||
XCTAssertEqual(clientBuilderFactory.makeBuilderSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksCallsCount, 0)
|
XCTAssertEqual(clientBuilderFactory.makeBuilderSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksCallsCount, 0)
|
||||||
XCTAssertEqual(client.urlForOidcOidcConfigurationPromptLoginHintCallsCount, 0)
|
XCTAssertEqual(client.urlForOidcOidcConfigurationPromptLoginHintDeviceIdCallsCount, 0)
|
||||||
|
|
||||||
// When continuing from the confirmation screen.
|
// When continuing from the confirmation screen.
|
||||||
let deferred = deferFulfillment(viewModel.actions) { $0.isContinueWithPassword }
|
let deferred = deferFulfillment(viewModel.actions) { $0.isContinueWithPassword }
|
||||||
@@ -135,7 +135,7 @@ class ServerConfirmationScreenViewModelTests: XCTestCase {
|
|||||||
|
|
||||||
// Then a call to configure service should be made, but not for the OIDC URL.
|
// Then a call to configure service should be made, but not for the OIDC URL.
|
||||||
XCTAssertEqual(clientBuilderFactory.makeBuilderSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksCallsCount, 1)
|
XCTAssertEqual(clientBuilderFactory.makeBuilderSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksCallsCount, 1)
|
||||||
XCTAssertEqual(client.urlForOidcOidcConfigurationPromptLoginHintCallsCount, 0)
|
XCTAssertEqual(client.urlForOidcOidcConfigurationPromptLoginHintDeviceIdCallsCount, 0)
|
||||||
XCTAssertEqual(service.homeserver.value.loginMode, .password)
|
XCTAssertEqual(service.homeserver.value.loginMode, .password)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -149,7 +149,7 @@ class ServerConfirmationScreenViewModelTests: XCTestCase {
|
|||||||
XCTAssertEqual(service.homeserver.value.loginMode, .password)
|
XCTAssertEqual(service.homeserver.value.loginMode, .password)
|
||||||
XCTAssertEqual(context.viewState.mode, .confirmation(service.homeserver.value.address))
|
XCTAssertEqual(context.viewState.mode, .confirmation(service.homeserver.value.address))
|
||||||
XCTAssertEqual(clientBuilderFactory.makeBuilderSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksCallsCount, 1)
|
XCTAssertEqual(clientBuilderFactory.makeBuilderSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksCallsCount, 1)
|
||||||
XCTAssertEqual(client.urlForOidcOidcConfigurationPromptLoginHintCallsCount, 0)
|
XCTAssertEqual(client.urlForOidcOidcConfigurationPromptLoginHintDeviceIdCallsCount, 0)
|
||||||
|
|
||||||
// When continuing from the confirmation screen.
|
// When continuing from the confirmation screen.
|
||||||
let deferred = deferFulfillment(viewModel.actions) { $0.isContinueWithPassword }
|
let deferred = deferFulfillment(viewModel.actions) { $0.isContinueWithPassword }
|
||||||
@@ -158,7 +158,7 @@ class ServerConfirmationScreenViewModelTests: XCTestCase {
|
|||||||
|
|
||||||
// Then the configured homeserver should be used and no additional client should be built, nor a call to get the OIDC URL.
|
// Then the configured homeserver should be used and no additional client should be built, nor a call to get the OIDC URL.
|
||||||
XCTAssertEqual(clientBuilderFactory.makeBuilderSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksCallsCount, 1)
|
XCTAssertEqual(clientBuilderFactory.makeBuilderSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksCallsCount, 1)
|
||||||
XCTAssertEqual(client.urlForOidcOidcConfigurationPromptLoginHintCallsCount, 0)
|
XCTAssertEqual(client.urlForOidcOidcConfigurationPromptLoginHintDeviceIdCallsCount, 0)
|
||||||
}
|
}
|
||||||
|
|
||||||
func testRegistrationNotSupportedAlert() async throws {
|
func testRegistrationNotSupportedAlert() async throws {
|
||||||
@@ -204,7 +204,7 @@ class ServerConfirmationScreenViewModelTests: XCTestCase {
|
|||||||
XCTAssertEqual(service.homeserver.value.loginMode, .unknown)
|
XCTAssertEqual(service.homeserver.value.loginMode, .unknown)
|
||||||
XCTAssertEqual(context.viewState.mode, .picker(appSettings.accountProviders))
|
XCTAssertEqual(context.viewState.mode, .picker(appSettings.accountProviders))
|
||||||
XCTAssertEqual(clientBuilderFactory.makeBuilderSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksCallsCount, 0)
|
XCTAssertEqual(clientBuilderFactory.makeBuilderSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksCallsCount, 0)
|
||||||
XCTAssertEqual(client.urlForOidcOidcConfigurationPromptLoginHintCallsCount, 0)
|
XCTAssertEqual(client.urlForOidcOidcConfigurationPromptLoginHintDeviceIdCallsCount, 0)
|
||||||
|
|
||||||
// When continuing from the confirmation screen.
|
// When continuing from the confirmation screen.
|
||||||
let deferred = deferFulfillment(viewModel.actions) { $0.isContinueWithOIDC }
|
let deferred = deferFulfillment(viewModel.actions) { $0.isContinueWithOIDC }
|
||||||
@@ -213,8 +213,8 @@ class ServerConfirmationScreenViewModelTests: XCTestCase {
|
|||||||
|
|
||||||
// Then a call to configure service should be made.
|
// Then a call to configure service should be made.
|
||||||
XCTAssertEqual(clientBuilderFactory.makeBuilderSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksCallsCount, 1)
|
XCTAssertEqual(clientBuilderFactory.makeBuilderSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksCallsCount, 1)
|
||||||
XCTAssertEqual(client.urlForOidcOidcConfigurationPromptLoginHintCallsCount, 1)
|
XCTAssertEqual(client.urlForOidcOidcConfigurationPromptLoginHintDeviceIdCallsCount, 1)
|
||||||
XCTAssertEqual(client.urlForOidcOidcConfigurationPromptLoginHintReceivedArguments?.prompt, .consent)
|
XCTAssertEqual(client.urlForOidcOidcConfigurationPromptLoginHintDeviceIdReceivedArguments?.prompt, .consent)
|
||||||
XCTAssertEqual(service.homeserver.value.loginMode, .oidc(supportsCreatePrompt: true))
|
XCTAssertEqual(service.homeserver.value.loginMode, .oidc(supportsCreatePrompt: true))
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -228,7 +228,7 @@ class ServerConfirmationScreenViewModelTests: XCTestCase {
|
|||||||
XCTAssertEqual(service.homeserver.value.loginMode, .oidc(supportsCreatePrompt: true))
|
XCTAssertEqual(service.homeserver.value.loginMode, .oidc(supportsCreatePrompt: true))
|
||||||
XCTAssertEqual(context.viewState.mode, .picker(appSettings.accountProviders))
|
XCTAssertEqual(context.viewState.mode, .picker(appSettings.accountProviders))
|
||||||
XCTAssertEqual(clientBuilderFactory.makeBuilderSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksCallsCount, 1)
|
XCTAssertEqual(clientBuilderFactory.makeBuilderSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksCallsCount, 1)
|
||||||
XCTAssertEqual(client.urlForOidcOidcConfigurationPromptLoginHintCallsCount, 0)
|
XCTAssertEqual(client.urlForOidcOidcConfigurationPromptLoginHintDeviceIdCallsCount, 0)
|
||||||
|
|
||||||
// When continuing from the confirmation screen.
|
// When continuing from the confirmation screen.
|
||||||
let deferred = deferFulfillment(viewModel.actions) { $0.isContinueWithOIDC }
|
let deferred = deferFulfillment(viewModel.actions) { $0.isContinueWithOIDC }
|
||||||
@@ -237,8 +237,8 @@ class ServerConfirmationScreenViewModelTests: XCTestCase {
|
|||||||
|
|
||||||
// Then the configured homeserver should be used and no additional client should be built.
|
// Then the configured homeserver should be used and no additional client should be built.
|
||||||
XCTAssertEqual(clientBuilderFactory.makeBuilderSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksCallsCount, 1)
|
XCTAssertEqual(clientBuilderFactory.makeBuilderSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksCallsCount, 1)
|
||||||
XCTAssertEqual(client.urlForOidcOidcConfigurationPromptLoginHintCallsCount, 1)
|
XCTAssertEqual(client.urlForOidcOidcConfigurationPromptLoginHintDeviceIdCallsCount, 1)
|
||||||
XCTAssertEqual(client.urlForOidcOidcConfigurationPromptLoginHintReceivedArguments?.prompt, .consent)
|
XCTAssertEqual(client.urlForOidcOidcConfigurationPromptLoginHintDeviceIdReceivedArguments?.prompt, .consent)
|
||||||
}
|
}
|
||||||
|
|
||||||
func testPickerForPasswordLoginWithoutConfiguration() async throws {
|
func testPickerForPasswordLoginWithoutConfiguration() async throws {
|
||||||
@@ -247,7 +247,7 @@ class ServerConfirmationScreenViewModelTests: XCTestCase {
|
|||||||
XCTAssertEqual(service.homeserver.value.loginMode, .unknown)
|
XCTAssertEqual(service.homeserver.value.loginMode, .unknown)
|
||||||
XCTAssertEqual(context.viewState.mode, .picker(appSettings.accountProviders))
|
XCTAssertEqual(context.viewState.mode, .picker(appSettings.accountProviders))
|
||||||
XCTAssertEqual(clientBuilderFactory.makeBuilderSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksCallsCount, 0)
|
XCTAssertEqual(clientBuilderFactory.makeBuilderSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksCallsCount, 0)
|
||||||
XCTAssertEqual(client.urlForOidcOidcConfigurationPromptLoginHintCallsCount, 0)
|
XCTAssertEqual(client.urlForOidcOidcConfigurationPromptLoginHintDeviceIdCallsCount, 0)
|
||||||
|
|
||||||
// When continuing from the confirmation screen.
|
// When continuing from the confirmation screen.
|
||||||
let deferred = deferFulfillment(viewModel.actions) { $0.isContinueWithPassword }
|
let deferred = deferFulfillment(viewModel.actions) { $0.isContinueWithPassword }
|
||||||
@@ -256,7 +256,7 @@ class ServerConfirmationScreenViewModelTests: XCTestCase {
|
|||||||
|
|
||||||
// Then a call to configure service should be made, but not for the OIDC URL.
|
// Then a call to configure service should be made, but not for the OIDC URL.
|
||||||
XCTAssertEqual(clientBuilderFactory.makeBuilderSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksCallsCount, 1)
|
XCTAssertEqual(clientBuilderFactory.makeBuilderSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksCallsCount, 1)
|
||||||
XCTAssertEqual(client.urlForOidcOidcConfigurationPromptLoginHintCallsCount, 0)
|
XCTAssertEqual(client.urlForOidcOidcConfigurationPromptLoginHintDeviceIdCallsCount, 0)
|
||||||
XCTAssertEqual(service.homeserver.value.loginMode, .password)
|
XCTAssertEqual(service.homeserver.value.loginMode, .password)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -270,7 +270,7 @@ class ServerConfirmationScreenViewModelTests: XCTestCase {
|
|||||||
XCTAssertEqual(service.homeserver.value.loginMode, .password)
|
XCTAssertEqual(service.homeserver.value.loginMode, .password)
|
||||||
XCTAssertEqual(context.viewState.mode, .picker(appSettings.accountProviders))
|
XCTAssertEqual(context.viewState.mode, .picker(appSettings.accountProviders))
|
||||||
XCTAssertEqual(clientBuilderFactory.makeBuilderSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksCallsCount, 1)
|
XCTAssertEqual(clientBuilderFactory.makeBuilderSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksCallsCount, 1)
|
||||||
XCTAssertEqual(client.urlForOidcOidcConfigurationPromptLoginHintCallsCount, 0)
|
XCTAssertEqual(client.urlForOidcOidcConfigurationPromptLoginHintDeviceIdCallsCount, 0)
|
||||||
|
|
||||||
// When continuing from the confirmation screen.
|
// When continuing from the confirmation screen.
|
||||||
let deferred = deferFulfillment(viewModel.actions) { $0.isContinueWithPassword }
|
let deferred = deferFulfillment(viewModel.actions) { $0.isContinueWithPassword }
|
||||||
@@ -279,7 +279,7 @@ class ServerConfirmationScreenViewModelTests: XCTestCase {
|
|||||||
|
|
||||||
// Then the configured homeserver should be used and no additional client should be built, nor a call to get the OIDC URL.
|
// Then the configured homeserver should be used and no additional client should be built, nor a call to get the OIDC URL.
|
||||||
XCTAssertEqual(clientBuilderFactory.makeBuilderSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksCallsCount, 1)
|
XCTAssertEqual(clientBuilderFactory.makeBuilderSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksCallsCount, 1)
|
||||||
XCTAssertEqual(client.urlForOidcOidcConfigurationPromptLoginHintCallsCount, 0)
|
XCTAssertEqual(client.urlForOidcOidcConfigurationPromptLoginHintDeviceIdCallsCount, 0)
|
||||||
}
|
}
|
||||||
|
|
||||||
// MARK: - Helpers
|
// MARK: - Helpers
|
||||||
|
|||||||
+1
-1
@@ -65,7 +65,7 @@ packages:
|
|||||||
# Element/Matrix dependencies
|
# Element/Matrix dependencies
|
||||||
MatrixRustSDK:
|
MatrixRustSDK:
|
||||||
url: https://github.com/element-hq/matrix-rust-components-swift
|
url: https://github.com/element-hq/matrix-rust-components-swift
|
||||||
exactVersion: 25.07.14-2
|
exactVersion: 25.07.15
|
||||||
# path: ../matrix-rust-sdk
|
# path: ../matrix-rust-sdk
|
||||||
Compound:
|
Compound:
|
||||||
url: https://github.com/element-hq/compound-ios
|
url: https://github.com/element-hq/compound-ios
|
||||||
|
|||||||
Reference in New Issue
Block a user