@@ -16,7 +16,7 @@ enum NetworkExtensionState: Equatable{
1616case . disabled:
1717" NetworkExtension tunnel disabled "
1818case let . failed( error) :
19- " NetworkExtension config failed : \( error) "
19+ " NetworkExtension: \( error) "
2020}
2121}
2222}
@@ -44,7 +44,7 @@ extension CoderVPNService{
4444try await removeNetworkExtension ( )
4545} catch {
4646 logger. error ( " remove tunnel failed: \( error) " )
47- neState = . failed( error. localizedDescription )
47+ neState = . failed( " Failed to remove configuration: \( error. description ) " )
4848return
4949}
5050 logger. debug ( " inserting new tunnel " )
@@ -60,7 +60,9 @@ extension CoderVPNService{
6060} catch {
6161 // This typically fails when the user declines the permission dialog
6262 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+ )
6466}
6567}
6668
@@ -71,17 +73,24 @@ extension CoderVPNService{
7173try await tunnel. removeFromPreferences ( )
7274}
7375} catch {
74- throw . internalError( " couldn't remove tunnels: \( error) " )
76+ throw . internalError( error. localizedDescription )
7577}
7678}
7779
7880func 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+ }
7989do {
80- let tm = try await getTunnelManager ( )
8190try tm. connection. startVPNTunnel ( )
8291} catch {
8392 logger. error ( " start tunnel: \( error) " )
84- neState = . failed( error. localizedDescription)
93+ neState = . failed( " Failed to start VPN tunnel: \( error. localizedDescription) " )
8594return
8695}
8796 logger. debug ( " started tunnel " )
@@ -94,7 +103,7 @@ extension CoderVPNService{
94103 tm. connection. stopVPNTunnel ( )
95104} catch {
96105 logger. error ( " stop tunnel: \( error) " )
97- neState = . failed( error. localizedDescription)
106+ neState = . failed( " Failed to stop VPN tunnel: \( error. localizedDescription) " )
98107return
99108}
100109 logger. debug ( " stopped tunnel " )
0 commit comments