Skip to content

Commit ee09c44

Browse files
authored
Merge pull request #122 from rsyncOSX/version-3.0.0
Version 3.0.0
2 parents ef8c6bf + a46a00a commit ee09c44

9 files changed

Lines changed: 46 additions & 29 deletions

RsyncUI/Model/Global/ObservableAddConfigurations.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ final class ObservableAddConfigurations {
4242

4343
var showsaveurls: Bool = false
4444

45+
/// THE BUG IS HERE
4546
func addConfig(_ profile: String?, _ configurations: [SynchronizeConfiguration]?) async -> [SynchronizeConfiguration]? {
4647
let getdata = NewTask(selectedrsynccommand.rawValue,
4748
localcatalog.replacingOccurrences(of: "\"", with: ""),

RsyncUI/Model/Storage/Userconfiguration/ReadUserConfigurationJSON.swift

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,10 @@ struct ReadUserConfigurationJSON {
2626

2727
UserConfiguration(importeddata).setuserconfigdata()
2828
Logger.process.debugThreadOnly("ReadUserConfigurationJSON: Reading user configurations")
29-
} catch let err {
29+
} catch {
3030
Logger.process.errorMessageOnly("ReadUserConfigurationJSON: some ERROR reading user configurations from permanent storage")
31-
let error = err
32-
path.propagateError(error: error)
31+
// let error = err
32+
// path.propagateError(error: error)
3333
}
3434
}
3535
}

RsyncUI/Views/Detailsview/EstimateTableView.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ struct EstimateTableView: View {
2222
HStack {
2323
Image(systemName: "arrowshape.right.fill")
2424
.foregroundStyle(Color(.blue))
25-
25+
2626
if data.backupID.isEmpty == true {
2727
Text("No ID set")
2828
.foregroundStyle(color(uuid: data.id))
@@ -40,7 +40,7 @@ struct EstimateTableView: View {
4040
.foregroundStyle(color(uuid: data.id))
4141
}
4242
}
43-
43+
4444
ConfigurationTaskBadge(task: data.task)
4545
}
4646
}

RsyncUI/Views/Detailsview/SummarizedDetailsContentView.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,7 @@ struct SummarizedDetailsContentView: View {
153153
Text(data.backupID)
154154
}
155155
}
156-
156+
157157
ConfigurationTaskBadge(task: data.task)
158158
}
159159
}

RsyncUI/Views/InspectorViews/Add/extensionAddTaskView+BusinessLogic.swift

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,20 @@ extension AddTaskView {
2525
case .localcatalogField: focusField = .remotecatalogField
2626
case .remotecatalogField: focusField = .remoteuserField
2727
case .remoteuserField: focusField = .remoteserverField
28-
case .snapshotnumField: validateAndUpdate()
28+
case .snapshotnumField:
29+
Task { @MainActor in
30+
_ = await validateAndUpdate()
31+
}
2932
case .remoteserverField:
30-
if newdata.selectedconfig == nil { addConfig() } else { validateAndUpdate() }
33+
if newdata.selectedconfig == nil {
34+
Task { @MainActor in
35+
_ = await addConfig()
36+
}
37+
} else {
38+
Task { @MainActor in
39+
_ = await validateAndUpdate()
40+
}
41+
}
3142
focusField = nil
3243
default: return
3344
}
@@ -84,7 +95,7 @@ extension AddTaskView {
8495

8596
extension AddTaskView {
8697
/// The verify returns true when data is OK
87-
var disableadd: Bool {
98+
var ddisableadd: Bool {
8899
VerifyObservableAddConfiguration(observed: newdata).verify()
89100
}
90101
}

RsyncUI/Views/InspectorViews/Add/extensionAddTaskView+ViewBuilders.swift

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,10 +38,12 @@ extension AddTaskView {
3838
ConditionalGlassButton(systemImage: "plus",
3939
text: "Add",
4040
helpText: "Add task") {
41-
addConfig()
42-
showAddPopover = false
43-
newdata.resetForm()
44-
}.disabled(!disableadd)
41+
Task { @MainActor in
42+
if await addConfig() {
43+
showAddPopover = false
44+
}
45+
}
46+
}
4547

4648
Spacer()
4749

RsyncUI/Views/InspectorViews/Add/extensionAddTaskView.swift

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -10,25 +10,29 @@ import SwiftUI
1010
// MARK: - Configuration Actions
1111

1212
extension AddTaskView {
13-
func addConfig() {
13+
@MainActor
14+
func addConfig() async -> Bool {
1415
let profile = rsyncUIdata.profile
15-
Task { @MainActor in
16-
rsyncUIdata.configurations = await newdata.addConfig(profile, rsyncUIdata.configurations)
17-
if SharedReference.shared.duplicatecheck {
18-
if let configurations = rsyncUIdata.configurations {
19-
VerifyDuplicates(configurations)
20-
}
16+
let beforeCount = rsyncUIdata.configurations?.count ?? 0
17+
rsyncUIdata.configurations = await newdata.addConfig(profile, rsyncUIdata.configurations)
18+
if SharedReference.shared.duplicatecheck {
19+
if let configurations = rsyncUIdata.configurations {
20+
VerifyDuplicates(configurations)
2121
}
2222
}
23+
return (rsyncUIdata.configurations?.count ?? 0) > beforeCount
2324
}
2425

25-
func validateAndUpdate() {
26+
@MainActor
27+
func validateAndUpdate() async -> Bool {
2628
let profile = rsyncUIdata.profile
27-
Task { @MainActor in
28-
rsyncUIdata.configurations = await newdata.updateConfig(profile, rsyncUIdata.configurations)
29-
// Reset after Update
29+
let selectedHiddenID = newdata.selectedconfig?.hiddenID
30+
rsyncUIdata.configurations = await newdata.updateConfig(profile, rsyncUIdata.configurations)
31+
let didUpdate = selectedHiddenID != nil && newdata.selectedconfig == nil
32+
if didUpdate {
3033
clearSelection()
3134
}
35+
return didUpdate
3236
}
3337
}
3438

@@ -37,7 +41,9 @@ extension AddTaskView {
3741
extension AddTaskView {
3842
var updateButton: some View {
3943
ConditionalGlassButton(systemImage: "arrow.down", text: "Update", helpText: "Update task") {
40-
validateAndUpdate()
44+
Task { @MainActor in
45+
_ = await validateAndUpdate()
46+
}
4147
}
4248
}
4349

RsyncUI/Views/Profiles/ProfilesToUpdateView.swift

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,7 @@ struct ProfilesToUpdateView: View {
1414
var body: some View {
1515
Table(allconfigurations) {
1616
TableColumn("Synchronize ID : profilename") { data in
17-
1817
HStack(spacing: 4) {
19-
2018
let split = data.backupID.split(separator: " : ")
2119
if split.count > 1 {
2220
let left = Text(String(split[0]))
@@ -26,7 +24,7 @@ struct ProfilesToUpdateView: View {
2624
} else {
2725
Text(data.backupID)
2826
}
29-
27+
3028
ConfigurationTaskBadge(task: data.task)
3129
}
3230
}

RsyncUI/Views/Sidebar/SidebarStatusMessagesView.swift

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,6 @@ struct SidebarStatusMessagesView: View {
5050
Text(rsyncVersionShort)
5151
.font(.caption2)
5252
.foregroundStyle(.secondary).foregroundStyle(.secondary)
53-
5453
}
5554
.padding(.horizontal, 12)
5655
.padding(.vertical, 6)

0 commit comments

Comments
 (0)