fix(ios): bind export cancellation to the originating download

Ignore late picker callbacks that no longer match the active download. Add an Apple-platform regression; Swift formatting, parsing and seven portable policy tests pass locally, but the new WKWebView regression requires Xcode and has not run here.
This commit is contained in:
Yuvomi Mobile Contributors committed 2026-10-21 07:27:34 +02:00
1 parent 2b9996ff3f
commit d70c5cc2de
3 files changed
+15 -2

No files matched your search

+2 -1
View File
@@ -103,7 +103,8 @@ final class BrowserModel: NSObject, ObservableObject, WKNavigationDelegate, WKUI
authentication = WebDestination(url: url)
}
func removeDownload() {
func removeDownload(expected: URL? = nil) {
if let expected, download?.url != expected, downloadLocation != expected { return }
download = nil
if let location = downloadLocation {
try? FileManager.default.removeItem(at: location.deletingLastPathComponent())
+1 -1
View File
@@ -155,7 +155,7 @@ struct ContentView: View {
AuthenticationView(destination: destination.url, model: browser)
}
.sheet(item: $browser.download) { file in
ExportView(url: file.url) { browser.removeDownload() }
ExportView(url: file.url) { browser.removeDownload(expected: file.url) }
}
}