diff --git a/ios/SolianWidgetExtension/SolianCheckInWidget.swift b/ios/SolianWidgetExtension/SolianCheckInWidget.swift index 5a065a71..74d272ba 100644 --- a/ios/SolianWidgetExtension/SolianCheckInWidget.swift +++ b/ios/SolianWidgetExtension/SolianCheckInWidget.swift @@ -56,7 +56,16 @@ struct CheckInResult: Codable { } var createdDate: Date? { - ISO8601DateFormatter().date(from: createdAt) + let formatter = ISO8601DateFormatter() + formatter.formatOptions = [.withInternetDateTime, .withFractionalSeconds] + + if let date = formatter.date(from: createdAt) { + return date + } + + // Fallback for timestamps without fractional seconds + formatter.formatOptions = [.withInternetDateTime] + return formatter.date(from: createdAt) } } diff --git a/ios/SolianWidgetExtension/SolianNotificationWidget.swift b/ios/SolianWidgetExtension/SolianNotificationWidget.swift index 49ee31b9..e6954c88 100644 --- a/ios/SolianWidgetExtension/SolianNotificationWidget.swift +++ b/ios/SolianWidgetExtension/SolianNotificationWidget.swift @@ -53,7 +53,16 @@ struct SnNotification: Codable, Identifiable { } var createdDate: Date? { - ISO8601DateFormatter().date(from: createdAt) + let formatter = ISO8601DateFormatter() + formatter.formatOptions = [.withInternetDateTime, .withFractionalSeconds] + + if let date = formatter.date(from: createdAt) { + return date + } + + // Fallback for timestamps without fractional seconds + formatter.formatOptions = [.withInternetDateTime] + return formatter.date(from: createdAt) } var isUnread: Bool {