Fix upload of failed images, missing caps
This commit is contained in:
parent
902c4b08c4
commit
1d992b0bd2
@ -89,10 +89,14 @@ final class Database: ObservableObject {
|
||||
pendingImageUploadStorage = newValue.map { cap, images in
|
||||
"\(cap)-\(images.map { "\($0)" }.joined(separator: ":"))"
|
||||
}.joined(separator: ";")
|
||||
pendingImageUploadCount = newValue.values.reduce(0) { $0 + $1.count }
|
||||
updatePendingImageUploadCount(imageUploads: newValue)
|
||||
}
|
||||
}
|
||||
|
||||
private func updatePendingImageUploadCount(imageUploads: [Int: [Int]]) {
|
||||
pendingImageUploadCount = imageUploads.values.reduce(0) { $0 + $1.count }
|
||||
}
|
||||
|
||||
@Published
|
||||
private(set) var pendingImageUploadCount = 0
|
||||
|
||||
@ -171,6 +175,7 @@ final class Database: ObservableObject {
|
||||
|
||||
ensureFolderExistence(gridStorageFolder)
|
||||
loadCaps()
|
||||
updatePendingImageUploadCount(imageUploads: imageUploads)
|
||||
}
|
||||
|
||||
func mainImage(for cap: Int) -> Int {
|
||||
@ -587,7 +592,7 @@ final class Database: ObservableObject {
|
||||
continue
|
||||
}
|
||||
guard await upload(imageAt: url, for: cap) else {
|
||||
log("Failed to upload image \(url.lastPathComponent)")
|
||||
//log("Failed to upload image \(url.lastPathComponent)")
|
||||
continue
|
||||
}
|
||||
log("Uploaded image \(image) for cap \(cap)")
|
||||
@ -614,10 +619,10 @@ final class Database: ObservableObject {
|
||||
log("No image data found for image \(url.lastPathComponent) (Cap \(cap))")
|
||||
return false
|
||||
}
|
||||
let url = serverUrl
|
||||
let serverUrl = serverUrl
|
||||
.appendingPathComponent("image")
|
||||
.appendingPathComponent("\(cap)")
|
||||
var request = URLRequest(url: url)
|
||||
var request = URLRequest(url: serverUrl)
|
||||
request.addValue(serverAuthenticationKey, forHTTPHeaderField: "key")
|
||||
request.httpMethod = "POST"
|
||||
do {
|
||||
@ -627,7 +632,15 @@ final class Database: ObservableObject {
|
||||
return false
|
||||
}
|
||||
guard httpResponse.statusCode == 200 else {
|
||||
log("Failed to upload image \(url.path): Response \(httpResponse.statusCode)")
|
||||
if httpResponse.statusCode == 410 {
|
||||
log("Missing cap for image \(url.lastPathComponent), reupload cap")
|
||||
// Missing cap, force upload
|
||||
DispatchQueue.main.async {
|
||||
self.changedCaps.insert(cap)
|
||||
}
|
||||
} else {
|
||||
log("Failed to upload image \(url.lastPathComponent): Response \(httpResponse.statusCode)")
|
||||
}
|
||||
return false
|
||||
}
|
||||
return true
|
||||
|
Loading…
Reference in New Issue
Block a user