Compare commits

..

3 Commits

Author SHA1 Message Date
john 6a48e0ad91 merge: native goosed remount for Portal release
Memind CI / Test, build, and release guards (push) Successful in 4m59s
2026-08-03 16:50:54 +08:00
john c2189ee30d fix(release): restart native goosed pool after Portal live swap on 103
103 production uses launchd goosed-native instead of Docker bind mounts;
fall back to kickstarting native services when docker compose is unavailable.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-03 16:50:54 +08:00
john 2cc98b9392 merge: retrigger CI on host runner
Memind CI / Test, build, and release guards (push) Successful in 7m3s
2026-08-03 16:12:39 +08:00
+36 -2
View File
@@ -438,8 +438,42 @@ remount_goosed_after_live_swap() {
local ready=0
if [[ ! -x "${docker_bin}" || ! -f "${compose_file}" ]]; then
echo "goosed remount failed: docker or ${compose_file} is unavailable" >&2
return 1
say "重启 native goosed 以刷新 Portal/MindSpace bind mount"
mkdir -p "${APP_DIR}"
printf '%s\n' "${marker_value}" > "${marker_host}"
local gui="gui/$(id -u)"
local port
for port in $(seq 18006 18014); do
launchctl kickstart -k "${gui}/cn.tkmind.goosed-native-${port}" >/dev/null 2>&1 || true
done
for _ in $(seq 1 60); do
local healthy=1
if [[ "$(cat "${marker_host}" 2>/dev/null || true)" != "${marker_value}" ]]; then
healthy=0
fi
if [[ ! -f "${APP_DIR}/mindspace-sandbox-mcp.mjs" ]]; then
healthy=0
fi
for port in $(seq 18006 18014); do
if [[ "$(curl -skS -m 5 "https://127.0.0.1:${port}/status" 2>/dev/null || true)" != "ok" ]]; then
healthy=0
fi
done
if [[ "${healthy}" -eq 1 ]]; then
ready=1
break
fi
sleep 2
done
rm -f "${marker_host}"
if [[ "${ready}" -ne 1 ]]; then
echo "goosed remount failed: native goosed pool did not become healthy on the new live directory" >&2
return 1
fi
return 0
fi
mkdir -p "${APP_DIR}"