Skip to content

Commit 868dab3

Browse files
committed
Remove network monitoring feature and related code
Eliminated the 'monitor network connection' option and all associated logic, including UI toggles, configuration properties, decoding, and TCP connection checks. This simplifies configuration management and removes unused network verification functionality.
1 parent d6ca511 commit 868dab3

File tree

10 files changed

+57
-123
lines changed

10 files changed

+57
-123
lines changed

RsyncUI/Main/RsyncUIView.swift

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -71,9 +71,7 @@ struct RsyncUIView: View {
7171

7272
rsyncUIdata.configurations = await ActorReadSynchronizeConfigurationJSON()
7373
.readjsonfilesynchronizeconfigurations(profile,
74-
SharedReference.shared.rsyncversion3,
75-
SharedReference.shared.monitornetworkconnection,
76-
SharedReference.shared.sshport)
74+
SharedReference.shared.rsyncversion3)
7775
}
7876
}
7977

RsyncUI/Model/Global/ObservableLogSettings.swift

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,6 @@ import Observation
1212
final class ObservableLogSettings {
1313
// Detailed logging
1414
var addsummarylogrecord: Bool = SharedReference.shared.addsummarylogrecord
15-
// Check for network changes
16-
var monitornetworkconnection: Bool = SharedReference.shared.monitornetworkconnection
1715
// Check for "error" in output from rsync
1816
var checkforerrorinrsyncoutput: Bool = SharedReference.shared.checkforerrorinrsyncoutput
1917
// Automatic execution of estimated tasks

RsyncUI/Model/Global/SharedReference.swift

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,6 @@ final class SharedReference {
4343
@ObservationIgnored var sshkeypathandidentityfile: String?
4444
// Check for error in output from rsync
4545
@ObservationIgnored var checkforerrorinrsyncoutput: Bool = false
46-
// Check for network changes
47-
@ObservationIgnored var monitornetworkconnection: Bool = false
4846
// Confirm execution
4947
// A safety rule
5048
@ObservationIgnored var confirmexecute: Bool = false

RsyncUI/Model/Storage/Actors/ActorReadSynchronizeConfigurationJSON.swift

Lines changed: 39 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -11,49 +11,9 @@ import Foundation
1111
import OSLog
1212

1313
actor ActorReadSynchronizeConfigurationJSON {
14-
typealias TypeServerPort = (String, Int)
15-
16-
@concurrent
17-
nonisolated func verifyremoteconnection(configurations: [SynchronizeConfiguration]?, sharedsshport: Int?) async {
18-
let reporterror = ReportError()
19-
var checkedserverandport = [TypeServerPort]()
20-
21-
if let networkscheck = configurations?.filter({ task in
22-
task.offsiteServer.isEmpty == false
23-
}) {
24-
for i in 0 ..< networkscheck.count {
25-
let config = networkscheck[i]
26-
27-
var sshport = 22
28-
if let port = config.sshport, port != -1 {
29-
sshport = port
30-
} else if let port = sharedsshport, port != -1 {
31-
sshport = port
32-
}
33-
do {
34-
let server = config.offsiteServer
35-
let itemforcheck = (server, sshport)
36-
if checkedserverandport.contains(where: { $0 == itemforcheck }) == false {
37-
checkedserverandport.append(itemforcheck)
38-
Logger.process.debugmessageonly("ActorReadSynchronizeConfigurationJSON: checking networkconnection server: \(server) port: \(sshport)")
39-
_ = try await TCPconnections().asyncverifyTCPconnection(config.offsiteServer, port: sshport)
40-
}
41-
42-
} catch let e {
43-
let server = config.offsiteServer
44-
Logger.process.debugmessageonly("ActorReadSynchronizeConfigurationJSON: some ERROR checking networkconnection server: \(server) port: \(sshport)")
45-
let error = e
46-
await reporterror.propagateError(error: error)
47-
}
48-
}
49-
}
50-
}
51-
5214
@concurrent
5315
nonisolated func readjsonfilesynchronizeconfigurations(_ profile: String?,
54-
_ rsyncversion3: Bool,
55-
_ monitornetworkconnection: Bool,
56-
_ sharedsshport: Int?) async -> [SynchronizeConfiguration]?
16+
_ rsyncversion3: Bool) async -> [SynchronizeConfiguration]?
5717
{
5818
var filename = ""
5919
let path = await Homepath()
@@ -84,12 +44,6 @@ actor ActorReadSynchronizeConfigurationJSON {
8444
return nil
8545
}
8646

87-
if monitornetworkconnection {
88-
Task {
89-
await self.verifyremoteconnection(configurations: tasks, sharedsshport: sharedsshport)
90-
}
91-
}
92-
9347
return tasks
9448

9549
} catch {
@@ -119,3 +73,41 @@ struct ReportError {
11973
}
12074

12175
// swiftlint:enable line_length
76+
77+
/*
78+
@concurrent
79+
nonisolated func verifyremoteconnection(configurations: [SynchronizeConfiguration]?, sharedsshport: Int?) async {
80+
let reporterror = ReportError()
81+
var checkedserverandport = [(String, Int)]()
82+
83+
if let networkscheck = configurations?.filter({ task in
84+
task.offsiteServer.isEmpty == false
85+
}) {
86+
for i in 0 ..< networkscheck.count {
87+
let config = networkscheck[i]
88+
89+
var sshport = 22
90+
if let port = config.sshport, port != -1 {
91+
sshport = port
92+
} else if let port = sharedsshport, port != -1 {
93+
sshport = port
94+
}
95+
do {
96+
let server = config.offsiteServer
97+
let itemforcheck = (server, sshport)
98+
if checkedserverandport.contains(where: { $0 == itemforcheck }) == false {
99+
checkedserverandport.append(itemforcheck)
100+
Logger.process.debugmessageonly("ActorReadSynchronizeConfigurationJSON: checking networkconnection server: \(server) port: \(sshport)")
101+
_ = try await TCPconnections().asyncverifyTCPconnection(config.offsiteServer, port: sshport)
102+
}
103+
104+
} catch let e {
105+
let server = config.offsiteServer
106+
Logger.process.debugmessageonly("ActorReadSynchronizeConfigurationJSON: some ERROR checking networkconnection server: \(server) port: \(sshport)")
107+
let error = e
108+
await reporterror.propagateError(error: error)
109+
}
110+
}
111+
}
112+
}
113+
*/

RsyncUI/Model/Storage/Basic/JSON/DecodeUserConfiguration.swift

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,6 @@ struct DecodeUserConfiguration: Codable {
1111
let rsyncversion3: Int?
1212
// Detailed logging
1313
let addsummarylogrecord: Int?
14-
// Monitor network connection
15-
let monitornetworkconnection: Int?
1614
// local path for rsync
1715
let localrsyncpath: String?
1816
// temporary path for restore
@@ -42,7 +40,6 @@ struct DecodeUserConfiguration: Codable {
4240
enum CodingKeys: String, CodingKey {
4341
case rsyncversion3
4442
case addsummarylogrecord
45-
case monitornetworkconnection
4643
case localrsyncpath
4744
case pathforrestore
4845
case marknumberofdayssince
@@ -63,7 +60,6 @@ struct DecodeUserConfiguration: Codable {
6360
let values = try decoder.container(keyedBy: CodingKeys.self)
6461
rsyncversion3 = try values.decodeIfPresent(Int.self, forKey: .rsyncversion3)
6562
addsummarylogrecord = try values.decodeIfPresent(Int.self, forKey: .addsummarylogrecord)
66-
monitornetworkconnection = try values.decodeIfPresent(Int.self, forKey: .monitornetworkconnection)
6763
localrsyncpath = try values.decodeIfPresent(String.self, forKey: .localrsyncpath)
6864
pathforrestore = try values.decodeIfPresent(String.self, forKey: .pathforrestore)
6965
marknumberofdayssince = try values.decodeIfPresent(String.self, forKey: .marknumberofdayssince)

RsyncUI/Model/Storage/Basic/UserConfiguration.swift

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,6 @@ struct UserConfiguration: @MainActor Codable {
1313
var rsyncversion3: Int = -1
1414
// Detailed logging
1515
var addsummarylogrecord: Int = 1
16-
// Montor network connection
17-
var monitornetworkconnection: Int = -1
1816
// local path for rsync
1917
var localrsyncpath: String?
2018
// temporary path for restore
@@ -53,11 +51,6 @@ struct UserConfiguration: @MainActor Codable {
5351
} else {
5452
SharedReference.shared.addsummarylogrecord = false
5553
}
56-
if monitornetworkconnection == 1 {
57-
SharedReference.shared.monitornetworkconnection = true
58-
} else {
59-
SharedReference.shared.monitornetworkconnection = false
60-
}
6154
if localrsyncpath != nil {
6255
SharedReference.shared.localrsyncpath = localrsyncpath
6356
} else {
@@ -125,7 +118,6 @@ struct UserConfiguration: @MainActor Codable {
125118
init(_ data: DecodeUserConfiguration) {
126119
rsyncversion3 = data.rsyncversion3 ?? -1
127120
addsummarylogrecord = data.addsummarylogrecord ?? 1
128-
monitornetworkconnection = data.monitornetworkconnection ?? -1
129121
localrsyncpath = data.localrsyncpath
130122
pathforrestore = data.pathforrestore
131123
marknumberofdayssince = data.marknumberofdayssince ?? "5"
@@ -157,11 +149,6 @@ struct UserConfiguration: @MainActor Codable {
157149
} else {
158150
addsummarylogrecord = -1
159151
}
160-
if SharedReference.shared.monitornetworkconnection {
161-
monitornetworkconnection = 1
162-
} else {
163-
monitornetworkconnection = -1
164-
}
165152
if SharedReference.shared.localrsyncpath != nil {
166153
localrsyncpath = SharedReference.shared.localrsyncpath
167154
} else {

RsyncUI/Model/Utils/ReadAllTasks.swift

Lines changed: 2 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -12,24 +12,15 @@ import OSLog
1212
struct ReadAllTasks {
1313
func readallmarkedtasks(_ validprofiles: [ProfilesnamesRecord]) async -> [SynchronizeConfiguration] {
1414
var old: [SynchronizeConfiguration]?
15-
// Important: we must temporarly disable monitor network connection
16-
if SharedReference.shared.monitornetworkconnection {
17-
SharedReference.shared.monitornetworkconnection = false
18-
}
19-
2015
let allprofiles = validprofiles.map(\.profilename)
21-
let monitornetworkconnection = SharedReference.shared.monitornetworkconnection
22-
let sshport = SharedReference.shared.sshport
2316
let rsyncversion3 = SharedReference.shared.rsyncversion3
2417

2518
for i in 0 ..< allprofiles.count {
2619
let profilename = allprofiles[i]
2720

2821
async let configurations = ActorReadSynchronizeConfigurationJSON()
2922
.readjsonfilesynchronizeconfigurations(profilename,
30-
rsyncversion3,
31-
monitornetworkconnection,
32-
sshport)
23+
rsyncversion3)
3324

3425
let profileold = await configurations?.filter { element in
3526
var seconds: Double {
@@ -81,21 +72,14 @@ struct ReadAllTasks {
8172
// Put profilename in Backup ID
8273
func readalltasks(_ validprofiles: [ProfilesnamesRecord]) async -> [SynchronizeConfiguration] {
8374
var allconfigurations: [SynchronizeConfiguration] = []
84-
// Important: we must temporarly disable monitor network connection
85-
if SharedReference.shared.monitornetworkconnection {
86-
SharedReference.shared.monitornetworkconnection = false
87-
}
88-
8975
let allprofiles = validprofiles.map(\.profilename)
9076

9177
for i in 0 ..< allprofiles.count {
9278
let profilename = allprofiles[i]
9379

9480
let configurations = await ActorReadSynchronizeConfigurationJSON()
9581
.readjsonfilesynchronizeconfigurations(profilename,
96-
SharedReference.shared.rsyncversion3,
97-
SharedReference.shared.monitornetworkconnection,
98-
SharedReference.shared.sshport)
82+
SharedReference.shared.rsyncversion3)
9983

10084
let adjustedconfigurations = configurations?.map { element in
10185
var newelement = element

RsyncUI/Model/Utils/TCPconnections.swift

Lines changed: 14 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -9,20 +9,6 @@
99
import Foundation
1010
import OSLog
1111

12-
enum Networkerror: LocalizedError {
13-
case networkdropped
14-
case noconnection
15-
16-
var errorDescription: String? {
17-
switch self {
18-
case .networkdropped:
19-
"Network connection is dropped"
20-
case .noconnection:
21-
"No connection to server"
22-
}
23-
}
24-
}
25-
2612
struct TCPconnections: Sendable {
2713
func verifyTCPconnection(_ host: String, port: Int, timeout: Int) -> Bool {
2814
let client = TCPClient(address: host, port: Int32(port))
@@ -33,17 +19,18 @@ struct TCPconnections: Sendable {
3319
return false
3420
}
3521
}
36-
37-
// Async Test for TCP connection
38-
nonisolated func asyncverifyTCPconnection(_ host: String, port: Int) async throws {
39-
let client = TCPClient(address: host, port: Int32(port))
40-
Logger.process.debugtthreadonly("TCPconnections: asyncverifyTCPconnection()")
41-
switch client.connect(timeout: 5) {
42-
case .success:
43-
return
44-
default:
45-
await InterruptProcess()
46-
throw Networkerror.noconnection
47-
}
48-
}
4922
}
23+
24+
/*
25+
// Async Test for TCP connection
26+
nonisolated func asyncverifyTCPconnection(_ host: String, port: Int) async throws {
27+
let client = TCPClient(address: host, port: Int32(port))
28+
Logger.process.debugtthreadonly("TCPconnections: asyncverifyTCPconnection()")
29+
switch client.connect(timeout: 5) {
30+
case .success:
31+
return
32+
default:
33+
await InterruptProcess()
34+
}
35+
}
36+
*/

RsyncUI/Views/Settings/Logsettings.swift

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,6 @@ struct Logsettings: View {
2121
.font(.title3)
2222
.fontWeight(.bold))
2323
{
24-
ToggleViewDefault(text: NSLocalizedString("Monitor network", comment: ""), binding: $logsettings.monitornetworkconnection)
25-
.onChange(of: logsettings.monitornetworkconnection) {
26-
SharedReference.shared.monitornetworkconnection = logsettings.monitornetworkconnection
27-
}
2824
ToggleViewDefault(text: NSLocalizedString("Check for error in output", comment: ""), binding: $logsettings.checkforerrorinrsyncoutput)
2925
.onChange(of: logsettings.checkforerrorinrsyncoutput) {
3026
SharedReference.shared.checkforerrorinrsyncoutput = logsettings.checkforerrorinrsyncoutput

RsyncUI/Views/Sidebar/SidebarMainView.swift

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -425,9 +425,7 @@ extension SidebarMainView {
425425

426426
rsyncUIdata.configurations = await ActorReadSynchronizeConfigurationJSON()
427427
.readjsonfilesynchronizeconfigurations(profile,
428-
SharedReference.shared.rsyncversion3,
429-
SharedReference.shared.monitornetworkconnection,
430-
SharedReference.shared.sshport)
428+
SharedReference.shared.rsyncversion3)
431429

432430
if rsyncUIdata.configurations == nil {
433431
return false

0 commit comments

Comments
 (0)