fix: add running guards to prevent concurrent toggleProcess/exitNodeProcess

Rapid clicks or slow ops no longer spawn duplicate tailscale invocations.
Matches existing pattern used for copyProcess safety.
Fixes #15
This commit is contained in:
Vybe (Coding Agent) 2026-05-21 07:04:45 +00:00
parent 1d49703464
commit 6249596726

View file

@ -114,12 +114,14 @@ PluginComponent {
} }
function toggleTailscale() { function toggleTailscale() {
if (toggleProcess.running) return
root._pendingToggleAction = root.isConnected ? "disconnect" : "connect" root._pendingToggleAction = root.isConnected ? "disconnect" : "connect"
toggleProcess.command = TailscaleLib.buildToggleCommand(root.isConnected) toggleProcess.command = TailscaleLib.buildToggleCommand(root.isConnected)
toggleProcess.running = true toggleProcess.running = true
} }
function setExitNode(hostname) { function setExitNode(hostname) {
if (exitNodeProcess.running) return
exitNodeProcess.command = TailscaleLib.makeExitNodeCommand(hostname) exitNodeProcess.command = TailscaleLib.makeExitNodeCommand(hostname)
exitNodeProcess.running = true exitNodeProcess.running = true
} }