docs(cli): server restart ends sessions, and its sibling already said so

`stop` is described as "Stop the server; sessions end". `restart` was
"Stop, then start" — the same destruction, undisclosed, on the verb
people reach for casually when something seems stuck.

Measured rather than assumed: two panes before, zero after, workspaces
still there. So the layout survives, because the tree is on disk, and
what those shells were running does not.

The long form also separates this from the thing it will be confused
with. The server can hand panes to a new build of itself with their pids
and ptys kept — that is a real wire request (`ClientMsg::Handoff`, into
`hand_over` and `handoff::take_over`), and it is how an update keeps
sessions. `restart` is not that path, and someone who has read about one
should not assume the other.
This commit is contained in:
l0ng-ai
2026-08-16 09:14:37 +08:00
parent 172e8d166f
commit a0ecd9fd2b
+12 -1
View File
@@ -572,7 +572,18 @@ pub enum ServerCmd {
#[command(about = "Stop the server; sessions end")]
Stop,
#[command(about = "Stop, then start")]
#[command(
about = "Stop, then start; sessions end",
long_about = "Stop, then start.\n\n\
Sessions end, exactly as `stop` says of itself: every pane the \
server is running is a child of it, and this kills the server. The \
workspaces survive — the tree is on disk — so the layout is still \
there afterwards with dead leaves the GUI revives into fresh \
shells. What does not survive is what those shells were running.\n\n\
The server can hand panes to a new build of itself with their pids \
and ptys intact, which is how an update keeps your sessions, but \
that path is not this one: this stops and starts."
)]
Restart,
#[command(about = "Version, uptime, panes, links")]