diff options
| author | Can Celik <ogulcancelik@gmail.com> | 2026-09-02 02:45:20 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-09-02 02:45:20 +0300 |
| commit | cc88b3b8e5bb9f7d9f23ed6ae85a52fd7b5b9ed6 (patch) | |
| tree | 4d37c760099070f1a1488b61c7b7271875aafef8 /src/remote/host_unix.rs | |
| parent | 18e69891dca486d669a584facd80644bb51f54a2 (diff) | |
feat: add stable client endpoint compatibility (#3509)
* feat: add stable client endpoint compatibility
* fix: keep portable-pty patch checks composable
* ci: run maintenance checks in pull requests
* fix: reject endpoint errors from terminal clients
* feat: keep compatible servers running across updates
Diffstat (limited to 'src/remote/host_unix.rs')
| -rw-r--r-- | src/remote/host_unix.rs | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/remote/host_unix.rs b/src/remote/host_unix.rs index e04b0e00..48b20e0b 100644 --- a/src/remote/host_unix.rs +++ b/src/remote/host_unix.rs @@ -56,11 +56,16 @@ fn ensure_remote_server_running() -> io::Result<()> { Duration::from_millis(500), )? .ok_or_else(|| io::Error::other("remote server status API is unavailable"))?; - if status.protocol == Some(crate::protocol::PROTOCOL_VERSION) { + if status + .capabilities + .as_ref() + .and_then(|capabilities| capabilities.endpoint_protocol_generation) + == Some(crate::protocol::endpoint::ENDPOINT_PROTOCOL_GENERATION) + { return Ok(()); } return Err(io::Error::other( - "remote herdr server must restart before this bridge can attach; rerun `herdr --remote` from an interactive terminal to approve stopping it", + "remote herdr server needs one final update before this bridge can attach; rerun `herdr --remote` from an interactive terminal to approve it", )); } |
