Files
pad/scripts
xarmian 45dddb8f8f fix(scripts): install-refresh replaces the server listening on its port, by pid, and leaves other pad servers running (BUG-3194) (#1504)
* fix(scripts): install-refresh replaces the server listening on its port, by pid, and leaves other pad servers running (BUG-3194)

The script counted every `pad server start` on the box and refused on
more than one, so a sibling seat's e2e server (a worktree binary on its
own port) made the scripted refresh unusable whenever anyone ran e2e.
Its stop was a system-wide `pkill -x`, which would also have killed
that server and any `pad` CLI call in flight.

The target is now the `server start` process listening on the port the
server itself would resolve without a flag (PAD_PORT, config, 7777),
read with ss or lsof. It is stopped by pid, after its argv is re-read
and matched. Still refused: the port held by something that is not a
captured server, several servers on it, or several servers and none on
it. One server with nothing on the port is still that server.

Claude-Session: https://claude.ai/code/session_01RYiqbqXmxQMoKHsGm8B77N

* docs(make): the install caution names npm ci, the hazard that remains; the stop is no longer system-wide (BUG-3194)

Claude-Session: https://claude.ai/code/session_01RYiqbqXmxQMoKHsGm8B77N

* fix(scripts): refuse a foreign or unreadable listener on the port, re-check before each signal, keep empty trailing arguments (BUG-3194, codex round 1)

Claude-Session: https://claude.ai/code/session_01RYiqbqXmxQMoKHsGm8B77N

* fix(scripts): the one-server fallback needs an explicit --port, so a lone sibling server is never replaced (BUG-3194, codex round 2)

Claude-Session: https://claude.ai/code/session_01RYiqbqXmxQMoKHsGm8B77N

* docs(make): reflow the install comment (BUG-3194)

Claude-Session: https://claude.ai/code/session_01RYiqbqXmxQMoKHsGm8B77N
2026-09-24 06:56:26 -04:00
..