From d9dfea6b8ba9c0c86f5d3a3ddf444194d28ac7a1 Mon Sep 17 00:00:00 2001 From: LittleSheep Date: Mon, 5 Jan 2026 22:14:29 +0800 Subject: [PATCH] :bug: Fix creation date parsing in iOS code --- ios/SolianWidgetExtension/SolianCheckInWidget.swift | 11 ++++++++++- .../SolianNotificationWidget.swift | 11 ++++++++++- 2 files changed, 20 insertions(+), 2 deletions(-) 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 {