fix: pass UUID as String for download properties WindowGroup to prevent routing failures

This commit is contained in:
nimbold
2026-06-08 00:11:23 +03:30
parent bd6aa867c7
commit 01ba9c4c9b
3 changed files with 24 additions and 3 deletions
+21
View File
@@ -0,0 +1,21 @@
with open("Sources/Firelink/FirelinkApp.swift", "r") as f:
app_content = f.read()
old_group = ''' WindowGroup("Download Properties", id: "download-properties", for: UUID.self) { $downloadID in
if let downloadID {'''
new_group = ''' WindowGroup("Download Properties", id: "download-properties", for: String.self) { $downloadIDString in
if let idString = downloadIDString, let downloadID = UUID(uuidString: idString) {'''
app_content = app_content.replace(old_group, new_group)
with open("Sources/Firelink/FirelinkApp.swift", "w") as f:
f.write(app_content)
with open("Sources/Firelink/DownloadTable.swift", "r") as f:
table_content = f.read()
old_open1 = 'openWindow(id: "download-properties", value: item.id)'
new_open1 = 'openWindow(id: "download-properties", value: item.id.uuidString)'
table_content = table_content.replace(old_open1, new_open1)
with open("Sources/Firelink/DownloadTable.swift", "w") as f:
f.write(table_content)
+1 -1
View File
@@ -165,7 +165,7 @@ struct DownloadTable: View {
if item.status == .completed {
openFile(item)
} else {
openWindow(id: "download-properties", value: item.id)
openWindow(id: "download-properties", value: item.id.uuidString)
}
}
+2 -2
View File
@@ -115,8 +115,8 @@ struct FirelinkApp: App {
}
.windowResizability(.contentSize)
WindowGroup("Download Properties", id: "download-properties", for: UUID.self) { $downloadID in
if let downloadID {
WindowGroup("Download Properties", id: "download-properties", for: String.self) { $downloadIDString in
if let idString = downloadIDString, let downloadID = UUID(uuidString: idString) {
DownloadPropertiesWindow(downloadID: downloadID)
.environmentObject(controller)
.environmentObject(settings)