mirror of
https://github.com/Dimillian/IceCubesApp.git
synced 2025-06-05 21:38:50 +00:00
Fix a crash when deleting an uploading image
This commit is contained in:
parent
573497ed52
commit
ab5c6643b3
1 changed files with 25 additions and 21 deletions
|
@ -612,16 +612,17 @@ public class StatusEditorViewModel: NSObject, ObservableObject {
|
||||||
error: nil)
|
error: nil)
|
||||||
mediasImages[index] = newContainer
|
mediasImages[index] = newContainer
|
||||||
do {
|
do {
|
||||||
if let index = indexOf(container: newContainer) {
|
|
||||||
let compressor = StatusEditorCompressor()
|
let compressor = StatusEditorCompressor()
|
||||||
if let image = originalContainer.image {
|
if let image = originalContainer.image {
|
||||||
let imageData = try await compressor.compressImageForUpload(image)
|
let imageData = try await compressor.compressImageForUpload(image)
|
||||||
let uploadedMedia = try await uploadMedia(data: imageData, mimeType: "image/jpeg")
|
let uploadedMedia = try await uploadMedia(data: imageData, mimeType: "image/jpeg")
|
||||||
|
if let index = indexOf(container: newContainer) {
|
||||||
mediasImages[index] = .init(image: mode.isInShareExtension ? originalContainer.image : nil,
|
mediasImages[index] = .init(image: mode.isInShareExtension ? originalContainer.image : nil,
|
||||||
movieTransferable: nil,
|
movieTransferable: nil,
|
||||||
gifTransferable: nil,
|
gifTransferable: nil,
|
||||||
mediaAttachment: uploadedMedia,
|
mediaAttachment: uploadedMedia,
|
||||||
error: nil)
|
error: nil)
|
||||||
|
}
|
||||||
if let uploadedMedia, uploadedMedia.url == nil {
|
if let uploadedMedia, uploadedMedia.url == nil {
|
||||||
scheduleAsyncMediaRefresh(mediaAttachement: uploadedMedia)
|
scheduleAsyncMediaRefresh(mediaAttachement: uploadedMedia)
|
||||||
}
|
}
|
||||||
|
@ -630,26 +631,29 @@ public class StatusEditorViewModel: NSObject, ObservableObject {
|
||||||
let data = try? Data(contentsOf: compressedVideoURL)
|
let data = try? Data(contentsOf: compressedVideoURL)
|
||||||
{
|
{
|
||||||
let uploadedMedia = try await uploadMedia(data: data, mimeType: compressedVideoURL.mimeType())
|
let uploadedMedia = try await uploadMedia(data: data, mimeType: compressedVideoURL.mimeType())
|
||||||
|
if let index = indexOf(container: newContainer) {
|
||||||
mediasImages[index] = .init(image: mode.isInShareExtension ? originalContainer.image : nil,
|
mediasImages[index] = .init(image: mode.isInShareExtension ? originalContainer.image : nil,
|
||||||
movieTransferable: originalContainer.movieTransferable,
|
movieTransferable: originalContainer.movieTransferable,
|
||||||
gifTransferable: nil,
|
gifTransferable: nil,
|
||||||
mediaAttachment: uploadedMedia,
|
mediaAttachment: uploadedMedia,
|
||||||
error: nil)
|
error: nil)
|
||||||
|
}
|
||||||
if let uploadedMedia, uploadedMedia.url == nil {
|
if let uploadedMedia, uploadedMedia.url == nil {
|
||||||
scheduleAsyncMediaRefresh(mediaAttachement: uploadedMedia)
|
scheduleAsyncMediaRefresh(mediaAttachement: uploadedMedia)
|
||||||
}
|
}
|
||||||
} else if let gifData = originalContainer.gifTransferable?.data {
|
} else if let gifData = originalContainer.gifTransferable?.data {
|
||||||
let uploadedMedia = try await uploadMedia(data: gifData, mimeType: "image/gif")
|
let uploadedMedia = try await uploadMedia(data: gifData, mimeType: "image/gif")
|
||||||
|
if let index = indexOf(container: newContainer) {
|
||||||
mediasImages[index] = .init(image: mode.isInShareExtension ? originalContainer.image : nil,
|
mediasImages[index] = .init(image: mode.isInShareExtension ? originalContainer.image : nil,
|
||||||
movieTransferable: nil,
|
movieTransferable: nil,
|
||||||
gifTransferable: originalContainer.gifTransferable,
|
gifTransferable: originalContainer.gifTransferable,
|
||||||
mediaAttachment: uploadedMedia,
|
mediaAttachment: uploadedMedia,
|
||||||
error: nil)
|
error: nil)
|
||||||
|
}
|
||||||
if let uploadedMedia, uploadedMedia.url == nil {
|
if let uploadedMedia, uploadedMedia.url == nil {
|
||||||
scheduleAsyncMediaRefresh(mediaAttachement: uploadedMedia)
|
scheduleAsyncMediaRefresh(mediaAttachement: uploadedMedia)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
} catch {
|
} catch {
|
||||||
if let index = indexOf(container: newContainer) {
|
if let index = indexOf(container: newContainer) {
|
||||||
mediasImages[index] = .init(image: originalContainer.image,
|
mediasImages[index] = .init(image: originalContainer.image,
|
||||||
|
|
Loading…
Reference in a new issue