From 9bc642d5d834a5f289c8506ebc80e9b7efba6866 Mon Sep 17 00:00:00 2001 From: Codex Date: Wed, 15 Jul 2026 10:59:22 +0200 Subject: [PATCH] fix: make PikaOA edge apply idempotent --- scripts/src/pikaoa-public-edge.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/scripts/src/pikaoa-public-edge.ts b/scripts/src/pikaoa-public-edge.ts index 3a2e9674..550395f8 100644 --- a/scripts/src/pikaoa-public-edge.ts +++ b/scripts/src/pikaoa-public-edge.ts @@ -236,10 +236,12 @@ if changed: print(json.dumps({"ok": True, "service": service, "fromPort": old, "toPort": new, "changed": changed})) PY port_rc=$? -if [ "$port_rc" -eq 0 ]; then +if [ "$port_rc" -eq 0 ] && grep -q '"changed": true' "$tmp/port.json"; then cd ${shQuote(spec.tcpPortRelease.workDir)} ${spec.tcpPortRelease.applyCommand} >"$tmp/vpn.out" 2>"$tmp/vpn.err" vpn_rc=$? +elif [ "$port_rc" -eq 0 ]; then + : >"$tmp/vpn.out"; : >"$tmp/vpn.err"; vpn_rc=0 else : >"$tmp/vpn.out"; : >"$tmp/vpn.err"; vpn_rc=1 fi