From f20837ada9a5b00d55e1b742ffd2094db7ac9e48 Mon Sep 17 00:00:00 2001 From: vybe Date: Thu, 21 May 2026 07:04:45 +0000 Subject: [PATCH] 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 --- tailscalectl/TailscaleWidget.qml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tailscalectl/TailscaleWidget.qml b/tailscalectl/TailscaleWidget.qml index 9678cac..5b648a8 100644 --- a/tailscalectl/TailscaleWidget.qml +++ b/tailscalectl/TailscaleWidget.qml @@ -114,12 +114,14 @@ PluginComponent { } function toggleTailscale() { + if (toggleProcess.running) return root._pendingToggleAction = root.isConnected ? "disconnect" : "connect" toggleProcess.command = TailscaleLib.buildToggleCommand(root.isConnected) toggleProcess.running = true } function setExitNode(hostname) { + if (exitNodeProcess.running) return exitNodeProcess.command = TailscaleLib.makeExitNodeCommand(hostname) exitNodeProcess.running = true }