fix: clarify mac nordvpn app-only mode

This commit is contained in:
Stefano Fiorini
2026-03-11 22:59:08 -05:00
parent 2612cef1dc
commit b326153d26
3 changed files with 30 additions and 0 deletions

View File

@@ -235,6 +235,27 @@ function inferConnectionState(probe) {
function buildStateSummary(installProbe, ipInfo) {
const cliProbe = installProbe.cliProbe;
let controlMode = "unavailable";
let automaticControl = false;
let loginMode = "unsupported";
let connectMode = "unsupported";
let recommendedAction = "Install NordVPN first.";
if (installProbe.cliPath) {
controlMode = "cli";
automaticControl = true;
loginMode = "cli";
connectMode = "cli";
recommendedAction = "Use login/connect/disconnect through the nordvpn CLI.";
} else if (installProbe.platform === "darwin" && installProbe.appInstalled) {
controlMode = "app-manual";
automaticControl = false;
loginMode = "app-manual";
connectMode = "app-manual";
recommendedAction =
"NordVPN is installed as a macOS app without a PATH-visible CLI. Use login/connect to open NordVPN.app and complete the action there.";
}
return {
platform: installProbe.platform,
installed: installProbe.installed,
@@ -243,6 +264,11 @@ function buildStateSummary(installProbe, ipInfo) {
appInstalled: installProbe.appInstalled,
appPath: installProbe.appInstalled ? installProbe.appPath : null,
brewAvailable: Boolean(installProbe.brewPath),
controlMode,
automaticControl,
loginMode,
connectMode,
recommendedAction,
authenticated: inferAuthState(cliProbe),
connected: inferConnectionState(cliProbe),
localStatusRaw: cliProbe && cliProbe.status ? (cliProbe.status.stdout || cliProbe.status.stderr).trim() : "",