fix: portal stability, session list DB fallback, and UX polish
- Free stale Memind listeners on 8081 before startup and exit cleanly on EADDRINUSE - Backfill owned sessions missing from Goose via h5_conversation_messages summaries - Strip Memind task orchestration prefixes from user-facing chat text - Repair missing public docx links before release MindSpace link checks Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -26,4 +26,31 @@ fi
|
||||
export GOOSED_MCP_NODE_PATH="${GOOSED_MCP_NODE_PATH:-${NODE_BIN}}"
|
||||
export GOOSED_MCP_SERVER_PATH="${GOOSED_MCP_SERVER_PATH:-${ROOT}/mindspace-sandbox-mcp.mjs}"
|
||||
|
||||
free_port_if_stale_memind_listener() {
|
||||
local port="${H5_PORT:-8081}"
|
||||
local pids
|
||||
pids="$(lsof -tiTCP:"${port}" -sTCP:LISTEN 2>/dev/null || true)"
|
||||
[[ -z "${pids}" ]] && return 0
|
||||
|
||||
while read -r pid; do
|
||||
[[ -z "${pid}" ]] && continue
|
||||
local args
|
||||
args="$(ps -p "${pid}" -o args= 2>/dev/null || true)"
|
||||
if [[ "${args}" == *"${ROOT}/server.mjs"* ]]; then
|
||||
echo "[portal-start] stopping stale Memind listener pid=${pid}" >&2
|
||||
kill "${pid}" 2>/dev/null || true
|
||||
sleep 1
|
||||
if kill -0 "${pid}" 2>/dev/null; then
|
||||
kill -9 "${pid}" 2>/dev/null || true
|
||||
sleep 1
|
||||
fi
|
||||
continue
|
||||
fi
|
||||
echo "[portal-start] port ${port} held by foreign pid=${pid}; refusing to start" >&2
|
||||
exit 1
|
||||
done <<< "${pids}"
|
||||
}
|
||||
|
||||
free_port_if_stale_memind_listener
|
||||
|
||||
exec "${NODE_BIN}" "${ROOT}/server.mjs"
|
||||
|
||||
Reference in New Issue
Block a user