From af90d4ae9ebc83f80fe7199f26a364a2f4be02cb Mon Sep 17 00:00:00 2001 From: lory Date: Sat, 16 Dec 2023 11:57:29 +0000 Subject: [PATCH] fix caching behavior --- Sources/CachedAsyncImage/CachedAsyncImage.swift | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Sources/CachedAsyncImage/CachedAsyncImage.swift b/Sources/CachedAsyncImage/CachedAsyncImage.swift index 4ba71d7..744adae 100644 --- a/Sources/CachedAsyncImage/CachedAsyncImage.swift +++ b/Sources/CachedAsyncImage/CachedAsyncImage.swift @@ -317,7 +317,8 @@ public struct CachedAsyncImage: View where Content: View { do { if let urlRequest = urlRequest { let (image, metrics) = try await remoteImage(from: urlRequest, session: urlSession) - if metrics.transactionMetrics.last?.resourceFetchType == .localCache { + // NOTE: There is 2 transactions metrics if the request cache policy is the default one, only the first transaction concern the cached resource https://developer.apple.com/documentation/foundation/nsurlrequest/cachepolicy/useprotocolcachepolicy + if metrics.transactionMetrics.first?.resourceFetchType == .localCache { // WARNING: This does not behave well when the url is changed with another phase = .success(image) } else {