Make restart reconnect persistent
ci / test (push) Has been cancelled
ci / fuzz-smoke (push) Has been cancelled
ci / windows-client (push) Has been cancelled
ci / package-release (linux-x86_64, ubuntu-latest) (push) Has been cancelled
ci / package-release (macos-aarch64, macos-14) (push) Has been cancelled
ci / package-release (macos-x86_64, macos-13) (push) Has been cancelled
ci / package-release (windows-x86_64, windows-latest) (push) Has been cancelled
ci / remote-bench (push) Has been cancelled
ci / test (push) Has been cancelled
ci / fuzz-smoke (push) Has been cancelled
ci / windows-client (push) Has been cancelled
ci / package-release (linux-x86_64, ubuntu-latest) (push) Has been cancelled
ci / package-release (macos-aarch64, macos-14) (push) Has been cancelled
ci / package-release (macos-x86_64, macos-13) (push) Has been cancelled
ci / package-release (windows-x86_64, windows-latest) (push) Has been cancelled
ci / remote-bench (push) Has been cancelled
This commit is contained in:
+4
-11
@@ -48,16 +48,9 @@ pub struct ServerConfig {
|
||||
pub allow_agent_forwarding: bool,
|
||||
#[serde(default = "default_accept_env")]
|
||||
pub accept_env: Vec<String>,
|
||||
/// Run each terminal session's shell under a small per-session *holder*
|
||||
/// process so it survives a `dosh-server` restart (crash/upgrade/
|
||||
/// `systemctl restart`). On startup the server re-adopts live holders and
|
||||
/// 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
|
||||
/// server and dies with it.
|
||||
// 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)]
|
||||
/// Run terminal sessions under per-session holder processes so shells
|
||||
/// survive a quick `dosh-server` restart and clients can reconnect.
|
||||
#[serde(default = "default_true")]
|
||||
pub persist_sessions: bool,
|
||||
}
|
||||
|
||||
@@ -90,7 +83,7 @@ impl Default for ServerConfig {
|
||||
allow_remote_non_loopback_bind: false,
|
||||
allow_agent_forwarding: false,
|
||||
accept_env: default_accept_env(),
|
||||
persist_sessions: false,
|
||||
persist_sessions: true,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user