From 73e33e3083d12923f4c01b0ab1b8c70359f1fbf4 Mon Sep 17 00:00:00 2001 From: Haitao Pan Date: Sun, 21 Jun 2026 18:55:52 +0800 Subject: [PATCH] fix(macOS): correctly sequence launchctl unload and load by using listen rather than notify in handlers --- roles/vhosts/acp_server_codex/handlers/main.yml | 7 +++---- roles/vhosts/acp_server_gemini/handlers/main.yml | 7 +++---- roles/vhosts/acp_server_hermes/handlers/main.yml | 7 +++---- roles/vhosts/acp_server_opencode/handlers/main.yml | 7 +++---- 4 files changed, 12 insertions(+), 16 deletions(-) diff --git a/roles/vhosts/acp_server_codex/handlers/main.yml b/roles/vhosts/acp_server_codex/handlers/main.yml index b52ce80..d51cd29 100644 --- a/roles/vhosts/acp_server_codex/handlers/main.yml +++ b/roles/vhosts/acp_server_codex/handlers/main.yml @@ -12,19 +12,18 @@ when: ansible_system == 'Linux' listen: Restart acp codex -- name: Restart acp codex on macOS +- name: Unload acp codex on macOS ansible.builtin.command: "launchctl unload {{ ansible_env.HOME }}/Library/LaunchAgents/plus.svc.xworkspace.acp.codex.plist" - register: launchctl_unload failed_when: false changed_when: false - notify: Start acp codex on macOS when: ansible_system == 'Darwin' listen: Restart acp codex -- name: Start acp codex on macOS +- name: Load acp codex on macOS ansible.builtin.command: "launchctl load -w {{ ansible_env.HOME }}/Library/LaunchAgents/plus.svc.xworkspace.acp.codex.plist" changed_when: false when: ansible_system == 'Darwin' + listen: Restart acp codex - name: Restart acp codex on Windows ansible.builtin.debug: diff --git a/roles/vhosts/acp_server_gemini/handlers/main.yml b/roles/vhosts/acp_server_gemini/handlers/main.yml index 484666c..0918818 100644 --- a/roles/vhosts/acp_server_gemini/handlers/main.yml +++ b/roles/vhosts/acp_server_gemini/handlers/main.yml @@ -12,19 +12,18 @@ when: ansible_system == 'Linux' listen: Restart acp gemini -- name: Restart acp gemini on macOS +- name: Unload acp gemini on macOS ansible.builtin.command: "launchctl unload {{ ansible_env.HOME }}/Library/LaunchAgents/plus.svc.xworkspace.acp.gemini.plist" - register: launchctl_unload failed_when: false changed_when: false - notify: Start acp gemini on macOS when: ansible_system == 'Darwin' listen: Restart acp gemini -- name: Start acp gemini on macOS +- name: Load acp gemini on macOS ansible.builtin.command: "launchctl load -w {{ ansible_env.HOME }}/Library/LaunchAgents/plus.svc.xworkspace.acp.gemini.plist" changed_when: false when: ansible_system == 'Darwin' + listen: Restart acp gemini - name: Restart acp gemini on Windows ansible.builtin.debug: diff --git a/roles/vhosts/acp_server_hermes/handlers/main.yml b/roles/vhosts/acp_server_hermes/handlers/main.yml index 16fdd33..66e9aa7 100644 --- a/roles/vhosts/acp_server_hermes/handlers/main.yml +++ b/roles/vhosts/acp_server_hermes/handlers/main.yml @@ -12,19 +12,18 @@ when: ansible_system == 'Linux' listen: Restart acp hermes -- name: Restart acp hermes on macOS +- name: Unload acp hermes on macOS ansible.builtin.command: "launchctl unload {{ ansible_env.HOME }}/Library/LaunchAgents/plus.svc.xworkspace.acp.hermes.plist" - register: launchctl_unload failed_when: false changed_when: false - notify: Start acp hermes on macOS when: ansible_system == 'Darwin' listen: Restart acp hermes -- name: Start acp hermes on macOS +- name: Load acp hermes on macOS ansible.builtin.command: "launchctl load -w {{ ansible_env.HOME }}/Library/LaunchAgents/plus.svc.xworkspace.acp.hermes.plist" changed_when: false when: ansible_system == 'Darwin' + listen: Restart acp hermes - name: Restart acp hermes on Windows ansible.builtin.debug: diff --git a/roles/vhosts/acp_server_opencode/handlers/main.yml b/roles/vhosts/acp_server_opencode/handlers/main.yml index 9dfb6fa..b5a10bf 100644 --- a/roles/vhosts/acp_server_opencode/handlers/main.yml +++ b/roles/vhosts/acp_server_opencode/handlers/main.yml @@ -12,19 +12,18 @@ when: ansible_system == 'Linux' listen: Restart acp opencode -- name: Restart acp opencode on macOS +- name: Unload acp opencode on macOS ansible.builtin.command: "launchctl unload {{ ansible_env.HOME }}/Library/LaunchAgents/plus.svc.xworkspace.acp.opencode.plist" - register: launchctl_unload failed_when: false changed_when: false - notify: Start acp opencode on macOS when: ansible_system == 'Darwin' listen: Restart acp opencode -- name: Start acp opencode on macOS +- name: Load acp opencode on macOS ansible.builtin.command: "launchctl load -w {{ ansible_env.HOME }}/Library/LaunchAgents/plus.svc.xworkspace.acp.opencode.plist" changed_when: false when: ansible_system == 'Darwin' + listen: Restart acp opencode - name: Restart acp opencode on Windows ansible.builtin.debug: