feat: add terminal broadcast, context menu, and shell close

Complete multi-pane broadcast, standard terminal right-click actions, batch host selection with progress, and native ssh_close_shell so closing a pane tears down the remote shell.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Logan.LiandCursor committed 2026-08-05 19:53:39 +08:00
1 parent 494ef6b9d0
commit 9ce71795b8
38 files changed
+1437 -186

No files matched your search

+13
View File
@@ -212,6 +212,19 @@ impl SshService {
.map_err(|error| format!("调整远程终端尺寸失败: {error}"))
}
pub fn close_shell(&self, shell_id: &str) -> Result<(), String> {
let mut shell = self
.shells
.lock()
.map_err(lock_error)?
.remove(shell_id)
.ok_or_else(|| format!("远程 Shell 不存在: {shell_id}"))?;
let _ = shell.channel.send_eof();
let _ = shell.channel.close();
let _ = shell.session.disconnect(None, "shell closed by user", None);
Ok(())
}
pub fn forward_local(
&self,
connection_id: &str,