persist_sessions: default off (opt-in until stress-tested)
ci / test (push) Has been cancelled
ci / fuzz-smoke (push) Has been cancelled
ci / remote-bench (push) Has been cancelled

Restart-survivable sessions change the core model (per-session holder
processes + SCM_RIGHTS fd passing). Keep them OFF by default so deploying
the build can't flip the daily driver's session model unproven; enable with
persist_sessions = true after stress-testing.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
DuProcess
2026-06-14 14:23:48 -04:00
parent 14b7e75025
commit 41256b66b7
+5 -2
View File
@@ -52,7 +52,10 @@ pub struct ServerConfig {
/// reattaching clients land on the same shell with screen state intact. When /// reattaching clients land on the same shell with screen state intact. When
/// `false`, sessions behave exactly as before: the shell is a child of the /// `false`, sessions behave exactly as before: the shell is a child of the
/// server and dies with it. /// server and dies with it.
#[serde(default = "default_true")] // Opt-in for now: this changes the core session model (per-session holder
// processes + fd passing), so it stays OFF by default until it has been
// stress-tested on a real host. Set `persist_sessions = true` to enable.
#[serde(default)]
pub persist_sessions: bool, pub persist_sessions: bool,
} }
@@ -84,7 +87,7 @@ impl Default for ServerConfig {
allow_remote_non_loopback_bind: false, allow_remote_non_loopback_bind: false,
allow_agent_forwarding: false, allow_agent_forwarding: false,
accept_env: default_accept_env(), accept_env: default_accept_env(),
persist_sessions: true, persist_sessions: false,
} }
} }
} }