diff --git a/Secretive/App.swift b/Secretive/App.swift index eb4a82a..ab0bd93 100644 --- a/Secretive/App.swift +++ b/Secretive/App.swift @@ -28,13 +28,20 @@ struct Secretive: App { .onAppear { if !hasRunSetup { showingSetup = true - } else if agentStatusChecker.running && justUpdatedChecker.justUpdated { - // Relaunch the agent, since it'll be running from earlier update still - _ = LaunchAgentController().install() + } else { + if agentStatusChecker.running && justUpdatedChecker.justUpdated { + // Relaunch the agent, since it'll be running from earlier update still + _ = LaunchAgentController().install() + } } } .onReceive(NotificationCenter.default.publisher(for: NSApplication.willBecomeActiveNotification)) { _ in agentStatusChecker.check() + if hasRunSetup && !agentStatusChecker.running { + // We've run setup, we didn't just update, launchd is just not doing it's thing. + // Force a launch directly. + LaunchAgentController().forceLaunch() + } } } .commands {