From e03d4a86c160013248ea11c982adf4b2362e709c Mon Sep 17 00:00:00 2001 From: Claude Date: Sat, 7 Nov 2026 00:12:16 +0000 Subject: [PATCH 1/3] Errori: lettura contatti dal dispositivo passa dal log (#17) Co-Authored-By: Claude Sonnet 5.5 Claude-Session: https://claude.ai/code/session_01AVhvvMa4d3Pdmv8A1KkKcd --- CalenTask/Features/People/ContactsImportView.swift | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/CalenTask/Features/People/ContactsImportView.swift b/CalenTask/Features/People/ContactsImportView.swift index 3313a25..59fd0c8 100644 --- a/CalenTask/Features/People/ContactsImportView.swift +++ b/CalenTask/Features/People/ContactsImportView.swift @@ -129,7 +129,12 @@ struct ContactsImportView: View { return } let fetched = await Task.detached(priority: .userInitiated) { - (try? ContactsImportService.fetchDeviceContacts()) ?? [] + do { + return try ContactsImportService.fetchDeviceContacts() + } catch { + Log.app.error("Lettura contatti fallita: \(error.localizedDescription, privacy: .public)") + return [] + } }.value deviceContacts = fetched phase = .ready From 5e7248db48212c7090546912f72e3a766739cb97 Mon Sep 17 00:00:00 2001 From: Claude Date: Sat, 7 Nov 2026 00:15:15 +0000 Subject: [PATCH 2/3] Contatti: tipo di ritorno esplicito nella closure di lettura (#17) Co-Authored-By: Claude Sonnet 5.5 Claude-Session: https://claude.ai/code/session_01AVhvvMa4d3Pdmv8A1KkKcd --- CalenTask/Features/People/ContactsImportView.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CalenTask/Features/People/ContactsImportView.swift b/CalenTask/Features/People/ContactsImportView.swift index 59fd0c8..82297c6 100644 --- a/CalenTask/Features/People/ContactsImportView.swift +++ b/CalenTask/Features/People/ContactsImportView.swift @@ -128,7 +128,7 @@ struct ContactsImportView: View { phase = .denied return } - let fetched = await Task.detached(priority: .userInitiated) { + let fetched = await Task.detached(priority: .userInitiated) { () -> [ContactsImportService.DeviceContact] in do { return try ContactsImportService.fetchDeviceContacts() } catch { From 86321e6df0950a1d2ed8e10988a378d97eb0b6a3 Mon Sep 17 00:00:00 2001 From: Claude Date: Sat, 7 Nov 2026 00:17:54 +0000 Subject: [PATCH 3/3] Contatti: import os per il logging (#17) Co-Authored-By: Claude Sonnet 5.5 Claude-Session: https://claude.ai/code/session_01AVhvvMa4d3Pdmv8A1KkKcd --- CalenTask/Features/People/ContactsImportView.swift | 1 + 1 file changed, 1 insertion(+) diff --git a/CalenTask/Features/People/ContactsImportView.swift b/CalenTask/Features/People/ContactsImportView.swift index 82297c6..bdf4975 100644 --- a/CalenTask/Features/People/ContactsImportView.swift +++ b/CalenTask/Features/People/ContactsImportView.swift @@ -1,5 +1,6 @@ import SwiftUI import SwiftData +import os /// "Importa dai Contatti" (CRM-1, D72): selezione multipla dalla rubrica del /// device, dedupe automatico per identifier/email, atterraggio nello spazio