From ae5561644446be51d699594a4c9d740dea3ad52f Mon Sep 17 00:00:00 2001 From: saravanakumardb1 Date: Sat, 28 Feb 2026 22:55:00 -0800 Subject: [PATCH] fix(swift-sdk): match date decoding strategy in BLAuditLogger MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit saveEvents used .iso8601 encoding but loadEvents used the default decoder (.deferredToDate). ISO8601 date strings could not be decoded back, causing loadEvents() to return [] after the first log — breaking event rotation and losing all previous audit entries. --- packages/swift-platform-sdk/Sources/BLAuditLogger.swift | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/packages/swift-platform-sdk/Sources/BLAuditLogger.swift b/packages/swift-platform-sdk/Sources/BLAuditLogger.swift index ec8e9d26..89c4802c 100644 --- a/packages/swift-platform-sdk/Sources/BLAuditLogger.swift +++ b/packages/swift-platform-sdk/Sources/BLAuditLogger.swift @@ -67,11 +67,10 @@ public enum BLAuditLogger { // MARK: - Persistence private static func loadEvents() -> [BLAuditEvent] { - guard let data = try? Data(contentsOf: fileURL), - let events = try? JSONDecoder().decode([BLAuditEvent].self, from: data) else { - return [] - } - return events + guard let data = try? Data(contentsOf: fileURL) else { return [] } + let decoder = JSONDecoder() + decoder.dateDecodingStrategy = .iso8601 + return (try? decoder.decode([BLAuditEvent].self, from: data)) ?? [] } private static func saveEvents(_ events: [BLAuditEvent]) {