diff options
| author | Ogulcan Celik <ogulcancelik@gmail.com> | 2026-06-30 02:47:50 +0300 |
|---|---|---|
| committer | Ogulcan Celik <ogulcancelik@gmail.com> | 2026-06-30 02:48:02 +0300 |
| commit | 0fa6440d41c31f23ba2126e4b23bc5627705e317 (patch) | |
| tree | ad2fefbd69efdac78bc7b2a0c3c36f712a13d116 /src/server/client_transport.rs | |
| parent | f3da280ccc7beac0c1491578cd32e04495ae08bf (diff) | |
feat: add terminal session control stream
Diffstat (limited to 'src/server/client_transport.rs')
| -rw-r--r-- | src/server/client_transport.rs | 13 |
1 files changed, 13 insertions, 0 deletions
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!( |
