mirror of
https://github.com/Novaloop-AG/element-x-ios.git
synced 2026-11-03 06:55:59 +00:00
Initial implementation of AccountSettings. (#6275)
* Make the UserPreference macro also generate an accessor for the key name. * Initial implementation of AccountSettings. - Add an AccountUserDefaults storage with a userID prefix on the key. - Migrate the 2 values reset by AppSettings.resetSessionSpecificSettings to AccountSettings. * Rename UserSettings.volatile() to UserSettings.mock() Given it now has a userID parameter with a default value..
This commit is contained in:
@@ -232,11 +232,10 @@ class AuthenticationService: AuthenticationServiceProtocol {
|
||||
let qrCodeHandler = client.newLoginWithQrCodeHandler(oauthConfiguration: appSettings.oAuthConfiguration.rustValue)
|
||||
try await qrCodeHandler.scan(qrCodeData: qrData, progressListener: listener)
|
||||
|
||||
// Since the QR code login flow includes verification.
|
||||
appSettings.hasRunIdentityConfirmationOnboarding = true
|
||||
|
||||
switch await userSession(for: client) {
|
||||
case .success(let userSession):
|
||||
// Since the QR code login flow includes verification.
|
||||
userSession.userSettings.hasRunIdentityConfirmationOnboarding = true
|
||||
progressSubject.send(.signedIn(userSession))
|
||||
case .failure(let error):
|
||||
progressSubject.send(completion: .failure(error))
|
||||
@@ -367,7 +366,7 @@ class AuthenticationService: AuthenticationServiceProtocol {
|
||||
MXLog.info("Classic app account secrets imported.")
|
||||
|
||||
// Importing the secrets automatically verifies the session.
|
||||
appSettings.hasRunIdentityConfirmationOnboarding = true
|
||||
appSettings.userSettings(for: classicAppAccount.userID).hasRunIdentityConfirmationOnboarding = true
|
||||
} catch {
|
||||
MXLog.error("Failed to import secrets for Classic app account: \(error)")
|
||||
}
|
||||
|
||||
@@ -59,7 +59,7 @@ class UserSessionStore: UserSessionStoreProtocol {
|
||||
return .failure(.missingCredentials)
|
||||
}
|
||||
|
||||
let userSettings = UserSettings(appSettings: appSettings, accountSettings: .init())
|
||||
let userSettings = appSettings.userSettings(for: credentials.userID)
|
||||
|
||||
switch await restorePreviousLogin(credentials, userSettings: userSettings) {
|
||||
case .success(let clientProxy):
|
||||
@@ -83,7 +83,7 @@ class UserSessionStore: UserSessionStoreProtocol {
|
||||
do {
|
||||
let session = try client.session()
|
||||
let userID = try client.userId()
|
||||
let userSettings = UserSettings(appSettings: appSettings, accountSettings: .init())
|
||||
let userSettings = appSettings.userSettings(for: userID)
|
||||
let clientProxy = try await setupProxyForClient(client, userSettings: userSettings)
|
||||
|
||||
keychainController.setRestorationToken(RestorationToken(session: session,
|
||||
|
||||
Reference in New Issue
Block a user