listless

A simple list app for Apple platforms
Log | Files | Refs | README | LICENSE

commit d37a68e6d9928b43c159dd3dacdfb04a71dd56ec
parent 433d4656bb11981a03b33ee5643369ae15d8c269
Author: Michael Camilleri <[email protected]>
Date:   Fri, 27 Feb 2026 22:12:47 +0900

Use deferred for default iCloud alert

Co-Authored-By: Codex GPT 5.3 <[email protected]>

Diffstat:
MListless/Sync/CloudKitErrorClassifier.swift | 8+-------
MTests/Unit/CloudKitErrorClassifierTests.swift | 9++++-----
2 files changed, 5 insertions(+), 12 deletions(-)

diff --git a/Listless/Sync/CloudKitErrorClassifier.swift b/Listless/Sync/CloudKitErrorClassifier.swift @@ -83,13 +83,7 @@ enum CloudKitErrorClassifier { return .deferred(message: "Saved locally. iCloud sync will retry automatically.") default: - return .alert( - SyncAlertItem( - title: "Sync Error", - message: - "Changes are saved locally, but iCloud sync failed. The app will try again automatically.", - action: nil - )) + return .deferred(message: "Saved locally. iCloud sync will retry automatically.") } } diff --git a/Tests/Unit/CloudKitErrorClassifierTests.swift b/Tests/Unit/CloudKitErrorClassifierTests.swift @@ -103,17 +103,16 @@ struct CloudKitErrorClassifierTests { // MARK: - Default / Unknown CKError - @Test("Unknown CKError code shows sync error alert") + @Test("Unknown CKError code is deferred") func unknownCKError() { let error = CKError(.internalError) let issue = CloudKitErrorClassifier.classify(error) - guard case .alert(let alert) = issue else { - Issue.record("Expected .alert, got \(issue)") + guard case .deferred(let message) = issue else { + Issue.record("Expected .deferred, got \(issue)") return } - #expect(alert.title == "Sync Error") - #expect(alert.action == nil) + #expect(message.contains("retry")) } // MARK: - Non-CloudKit Errors