@@ -12,7 +12,7 @@ class AppState: ObservableObject {
1212
1313 let dangerousDisableCoderSignatureValidation : Bool
1414
15- // Stored in UserDefaults
15+ /// Stored in UserDefaults
1616 @ Published private( set) var hasSession : Bool {
1717 didSet {
1818 guard persistent else { return }
@@ -31,15 +31,15 @@ class AppState: ObservableObject {
3131
3232 static let defaultHostnameSuffix : String = " coder "
3333
34- // Stored in Keychain
34+ /// Stored in Keychain
3535 @ Published private( set) var sessionToken : String ? {
3636 didSet {
3737 guard persistent else { return }
3838 keychainSet ( sessionToken , for : Keys . sessionToken )
3939 }
4040 }
4141
42- public var client : Client ?
42+ var client : Client ?
4343
4444 @ Published var useLiteralHeaders : Bool = UserDefaults . standard . bool ( forKey : Keys . useLiteralHeaders ) {
4545 didSet {
@@ -57,7 +57,7 @@ class AppState: ObservableObject {
5757 }
5858 }
5959
60- // Defaults to `true`
60+ /// Defaults to `true`
6161 @ Published var stopVPNOnQuit : Bool = UserDefaults . standard . optionalBool ( forKey : Keys . stopVPNOnQuit ) ?? true {
6262 didSet {
6363 guard persistent else { return }
@@ -80,7 +80,9 @@ class AppState: ObservableObject {
8080 }
8181
8282 func tunnelProviderProtocol ( ) -> NETunnelProviderProtocol ? {
83- if ! hasSession { return nil }
83+ if ! hasSession {
84+ return nil
85+ }
8486 let proto = NETunnelProviderProtocol ( )
8587 proto . providerBundleIdentifier = " \( appId ) .VPN "
8688 // HACK: We can't write to the system keychain, and the user keychain
@@ -100,13 +102,15 @@ class AppState: ObservableObject {
100102
101103 private let onChange : ( ( NETunnelProviderProtocol ? ) -> Void ) ?
102104
103- // reconfigure must be called when any property used to configure the VPN changes
104- public func reconfigure ( ) {
105- if let onChange { onChange ( tunnelProviderProtocol ( ) ) }
105+ /// reconfigure must be called when any property used to configure the VPN changes
106+ func reconfigure ( ) {
107+ if let onChange {
108+ onChange ( tunnelProviderProtocol ( ) )
109+ }
106110 }
107111
108- public init ( onChange : ( ( NETunnelProviderProtocol ? ) -> Void ) ? = nil ,
109- persistent : Bool = true )
112+ init ( onChange : ( ( NETunnelProviderProtocol ? ) -> Void ) ? = nil ,
113+ persistent : Bool = true )
110114 {
111115 self . persistent = persistent
112116 self . onChange = onChange
@@ -141,7 +145,7 @@ class AppState: ObservableObject {
141145 }
142146 }
143147
144- public func login ( baseAccessURL : URL , sessionToken : String ) {
148+ func login ( baseAccessURL : URL , sessionToken : String ) {
145149 hasSession = true
146150 self . baseAccessURL = baseAccessURL
147151 self . sessionToken = sessionToken
@@ -154,7 +158,7 @@ class AppState: ObservableObject {
154158 reconfigure ( )
155159 }
156160
157- public func handleTokenExpiry ( ) async {
161+ func handleTokenExpiry ( ) async {
158162 if hasSession {
159163 do {
160164 _ = try await client ! . user ( " me " )
@@ -172,13 +176,13 @@ class AppState: ObservableObject {
172176 }
173177
174178 private var refreshTask : Task < String ? , Never > ?
175- public func refreshDeploymentConfig ( ) async {
179+ func refreshDeploymentConfig ( ) async {
176180 // Client is non-nil if there's a sesssion
177181 if hasSession , let client {
178182 refreshTask ? . cancel ( )
179183
180184 refreshTask = Task {
181- let res = try? await retry ( floor : . milliseconds ( 100 ) , ceil : . seconds ( 10 ) ) {
185+ try? await retry ( floor : . milliseconds ( 100 ) , ceil : . seconds ( 10 ) ) {
182186 do {
183187 let config = try await client . agentConnectionInfoGeneric ( )
184188 return config . hostname_suffix
@@ -187,14 +191,13 @@ class AppState: ObservableObject {
187191 throw error
188192 }
189193 }
190- return res
191194 }
192195
193196 hostnameSuffix = await refreshTask ? . value ?? Self . defaultHostnameSuffix
194197 }
195198 }
196199
197- public func clearSession ( ) {
200+ func clearSession ( ) {
198201 hasSession = false
199202 sessionToken = nil
200203 refreshTask ? . cancel ( )
@@ -237,11 +240,6 @@ struct LiteralHeader: Hashable, Identifiable, Equatable, Codable {
237240 var id : String {
238241 " \( name ) : \( value ) "
239242 }
240-
241- init ( name : String , value : String ) {
242- self . name = name
243- self . value = value
244- }
245243}
246244
247245extension LiteralHeader {
@@ -251,8 +249,8 @@ extension LiteralHeader {
251249}
252250
253251extension UserDefaults {
254- // Unlike the exisitng `bool(forKey:)` method which returns `false` for both
255- // missing values this method can return `nil`.
252+ /// Unlike the exisitng `bool(forKey:)` method which returns `false` for both
253+ /// missing values this method can return `nil`.
256254 func optionalBool ( forKey key : String ) -> Bool ? {
257255 guard object ( forKey : key ) != nil else {
258256 return nil
0 commit comments