mirror of
https://github.com/l0ng-ai/tty7.git
synced 2026-09-22 00:02:23 +00:00
Six findings from a review pass over the two commits. One commit because they are all corrections to the same change. - The progress bar the `Restarting` phase was added for never appeared for the flow that needs it most. The switcher only reads a machine's phase while *this* window is connecting or showing an error, and "Restart Server…" in the machine's `⋯` menu is deliberately offered whatever the link is doing — so restarting a connected or offline machine recorded a phase nobody read, and the click had no visible effect for the length of two timeouts. A `Restarting` phase now counts on its own: it is only ever recorded by an action a user asked for, it ends every session on that machine including the ones other windows are showing, and it is the one flow that transfers nothing and so has no other way to say the click landed. The header says "restarting…" rather than borrowing "installing…", which described bytes that are not moving. - "Restart Server" on the error card silently did nothing when the machine could no longer be addressed: `replace_remote_server` logged the failure and returned, past a prompt that had just promised the server would be replaced. It reports it, like every other failure on that path. - `is_ssh` gates an action that ends every session on a machine, and spelled the three yes-variants as a `matches!` — so a new `RemoteTarget` would inherit "not SSH" by falling off the end of the pattern, which is the opposite of what its own test claims. An exhaustive `match` makes the compiler ask. - The mismatch prompt's detail explains its buttons by name and the buttons were written out again at the prompt. `Keep Sessions` was one of them until this branch removed it, which is exactly the drift worth preventing twice: `MISMATCH_ANSWERS` is named once beside the detail, and a test asserts the detail explains every answer offered. - `unique_temp`'s pid is private to a process, not to a client: two clients on different machines can share a pid. Left alone, because the new `--protocol` check stands behind it — interleaved bytes cannot answer with our dialect, so they are refused rather than published — but said, along with the fact that two installs inside one process share the path too and are the locks' job, not this function's. - Ten doc sites still said the installed file is named after the version, including the module table's step 2, `client_version`'s "the server that matches me", `Installer::run`'s postcondition and `ensure_remote_server`'s returned path. Also corrected the claim that WSL and `LocalStdio` have no daemon to restart: WSL's is started by this client, which is why "stop it and reconnect" is the whole verb — the reason the router refuses them, not the absence of a daemon. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>