mirror of
https://github.com/Ark0N/Codeman.git
synced 2026-11-14 18:39:33 +01:00
When a Codeman server of this user ran at an address the app could not open as its default one, the This Mac tab only named host and port and sent the user to Another machine to type the address again. A second instance beside the one that answers (a beta, a `codeman web --port 4000` in a terminal) was not shown at all. The look at this Mac now works out an address for every listening socket of this user's Codeman servers (`found_addresses`, pure): 127.0.0.1 for a bind to loopback or to every interface, `[::1]` when that is the only loopback socket, the address itself for a bind to one; `https` and the base path come from `--https` and `--base-url` on the command line. A server at the default address with no `--base-url` of its own keeps the default URL, since install.sh's launchd job has the base path in its environment, where `ps` does not show it. The default address comes first, then the others by port. Each address other than the default one is asked once, all at the same time, with no login. The default probe's answer is reused for its own row. When nothing answers at the default address, the first found server that answers is still what Open is for, so each gets the probe's usual 5 s; next to a Codeman that answers they are only listed and get 2 s. `LocalStatus.found` replaces `elsewhere`. The tab lists them: "Codeman is already running on this Mac." with a row each when none answers at the default address, and "Also running on this Mac" under Open otherwise. A row has the address, the version and Connect, or the reason the app cannot open it. Connect fills the address in and runs the page's one connect(), so the app checks it, uses its saved login and remembers it like an address typed under Another machine. Nothing connects by itself, and a refused connect from a row never arms the reopen that Open has for a starting server. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>