Handle concurrent requests to socket (#495)

* Socket updates

* Sendable.

* Update tests.
This commit is contained in:
Max Goedjen
2023-12-11 00:59:30 -08:00
committed by GitHub
parent 7b0ccbcc16
commit cf58630065
8 changed files with 73 additions and 48 deletions

View File

@ -6,8 +6,10 @@ import SecretKit
struct LaunchAgentController {
private let logger = Logger(subsystem: "com.maxgoedjen.secretive", category: "LaunchAgentController")
func install(completion: (() -> Void)? = nil) {
Logger().debug("Installing agent")
logger.debug("Installing agent")
_ = setEnabled(false)
// This is definitely a bit of a "seems to work better" thing but:
// Seems to more reliably hit if these are on separate runloops, otherwise it seems like it sometimes doesn't kill old
@ -20,7 +22,7 @@ struct LaunchAgentController {
}
func forceLaunch(completion: ((Bool) -> Void)?) {
Logger().debug("Agent is not running, attempting to force launch")
logger.debug("Agent is not running, attempting to force launch")
let url = Bundle.main.bundleURL.appendingPathComponent("Contents/Library/LoginItems/SecretAgent.app")
let config = NSWorkspace.OpenConfiguration()
config.activates = false
@ -29,9 +31,9 @@ struct LaunchAgentController {
completion?(error == nil)
}
if let error = error {
Logger().error("Error force launching \(error.localizedDescription)")
logger.error("Error force launching \(error.localizedDescription)")
} else {
Logger().debug("Agent force launched")
logger.debug("Agent force launched")
}
}
}