@@ -16,7 +16,7 @@ enum NetworkExtensionState: Equatable {
16
16
case . disabled:
17
17
" NetworkExtension tunnel disabled "
18
18
case let . failed( error) :
19
- " NetworkExtension config failed : \( error) "
19
+ " NetworkExtension: \( error) "
20
20
}
21
21
}
22
22
}
@@ -44,7 +44,7 @@ extension CoderVPNService {
44
44
try await removeNetworkExtension ( )
45
45
} catch {
46
46
logger. error ( " remove tunnel failed: \( error) " )
47
- neState = . failed( error. localizedDescription )
47
+ neState = . failed( " Failed to remove configuration: \( error. description ) " )
48
48
return
49
49
}
50
50
logger. debug ( " inserting new tunnel " )
@@ -60,7 +60,9 @@ extension CoderVPNService {
60
60
} catch {
61
61
// This typically fails when the user declines the permission dialog
62
62
logger. error ( " save tunnel failed: \( error) " )
63
- neState = . failed( " Failed to save tunnel: \( error. localizedDescription) . Try logging in and out again. " )
63
+ neState = . failed(
64
+ " Failed to save configuration: \( error. localizedDescription) . Try logging in and out again. "
65
+ )
64
66
}
65
67
}
66
68
@@ -71,17 +73,24 @@ extension CoderVPNService {
71
73
try await tunnel. removeFromPreferences ( )
72
74
}
73
75
} catch {
74
- throw . internalError( " couldn't remove tunnels: \( error) " )
76
+ throw . internalError( error. localizedDescription )
75
77
}
76
78
}
77
79
78
80
func startTunnel( ) async {
81
+ let tm : NETunnelProviderManager
82
+ do {
83
+ tm = try await getTunnelManager ( )
84
+ } catch {
85
+ logger. error ( " get tunnel: \( error) " )
86
+ neState = . failed( " Failed to get VPN configuration: \( error. description) " )
87
+ return
88
+ }
79
89
do {
80
- let tm = try await getTunnelManager ( )
81
90
try tm. connection. startVPNTunnel ( )
82
91
} catch {
83
92
logger. error ( " start tunnel: \( error) " )
84
- neState = . failed( error. localizedDescription)
93
+ neState = . failed( " Failed to start VPN tunnel: \( error. localizedDescription) " )
85
94
return
86
95
}
87
96
logger. debug ( " started tunnel " )
@@ -94,7 +103,7 @@ extension CoderVPNService {
94
103
tm. connection. stopVPNTunnel ( )
95
104
} catch {
96
105
logger. error ( " stop tunnel: \( error) " )
97
- neState = . failed( error. localizedDescription)
106
+ neState = . failed( " Failed to stop VPN tunnel: \( error. localizedDescription) " )
98
107
return
99
108
}
100
109
logger. debug ( " stopped tunnel " )
0 commit comments