From 0fa6440d41c31f23ba2126e4b23bc5627705e317 Mon Sep 17 00:00:00 2001 From: Ogulcan Celik Date: Tue, 30 Jun 2026 02:47:50 +0300 Subject: feat: add terminal session control stream --- src/server/client_transport.rs | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'src/server/client_transport.rs') diff --git a/src/server/client_transport.rs b/src/server/client_transport.rs index b69490c8..c4e43e0d 100644 --- a/src/server/client_transport.rs +++ b/src/server/client_transport.rs @@ -314,6 +314,12 @@ pub(crate) enum ServerEvent { }, /// A client requested read-only observation of one terminal. ClientObserveTerminal { client_id: u64, target: String }, + /// A client requested writable control of one terminal. + ClientControlTerminal { + client_id: u64, + target: String, + takeover: bool, + }, /// A direct terminal attach client requested scrollback movement. ClientAttachScroll { client_id: u64, @@ -673,6 +679,13 @@ fn client_read_loop( ClientMessage::ObserveTerminal { target } => { ServerEvent::ClientObserveTerminal { client_id, target } } + ClientMessage::ControlTerminal { target, takeover } => { + ServerEvent::ClientControlTerminal { + client_id, + target, + takeover, + } + } ClientMessage::ClipboardImage { extension, data } => { if data.len() > MAX_CLIPBOARD_IMAGE_PAYLOAD { warn!( -- cgit v1.2.3