← All repositories

listless

A simple list app for Apple platforms

git clone https://code.inqk.net/listless.git


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