Update the SDK, minor version, handle API breaks (#1994)

This commit is contained in:
Doug
2023-10-31 14:56:23 +00:00
committed by GitHub
parent b2f30974e3
commit 4af881a20f
9 changed files with 63 additions and 20 deletions
@@ -30,6 +30,15 @@ enum SecureBackupLogoutConfirmationScreenViewMode {
struct SecureBackupLogoutConfirmationScreenViewState: BindableState {
var mode: SecureBackupLogoutConfirmationScreenViewMode
var bindings = SecureBackupLogoutConfirmationScreenBindings()
}
struct SecureBackupLogoutConfirmationScreenBindings {
var alertInfo: AlertInfo<SecureBackupLogoutConfirmationScreenAlertType>?
}
enum SecureBackupLogoutConfirmationScreenAlertType {
case backupUploadFailed
}
enum SecureBackupLogoutConfirmationScreenViewAction {
@@ -77,7 +77,18 @@ class SecureBackupLogoutConfirmationScreenViewModel: SecureBackupLogoutConfirmat
state.mode = networkMonitor.reachabilityPublisher.value == .reachable ? .backupOngoing : .offline
keyUploadWaitingTask = Task {
await secureBackupController.waitForKeyBackup()
var result = await secureBackupController.waitForKeyBackupUpload()
if case .failure = result {
// Retry the upload first, conditions might have changed.
result = await secureBackupController.waitForKeyBackupUpload()
}
guard case .success = result else {
MXLog.error("Aborting logout due to failure waiting for backup upload.")
state.bindings.alertInfo = .init(id: .backupUploadFailed)
return
}
guard !Task.isCancelled else { return }
@@ -33,6 +33,7 @@ struct SecureBackupLogoutConfirmationScreen: View {
.toolbar { toolbar }
.background(Color.compound.bgCanvasDefault.ignoresSafeArea())
.safeAreaInset(edge: .bottom) { footer.padding() }
.alert(item: $context.alertInfo)
}
}