From cc88b3b8e5bb9f7d9f23ed6ae85a52fd7b5b9ed6 Mon Sep 17 00:00:00 2001 From: Can Celik Date: Wed, 2 Sep 2026 02:45:20 +0300 Subject: 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 --- src/remote/host_unix.rs | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'src/remote/host_unix.rs') 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", )); } -- cgit v1.2.3