aboutsummaryrefslogtreecommitdiff
path: root/src/platform/fallback.rs
diff options
context:
space:
mode:
authorJJ Liebig <jonathan.liebig@gmail.com>2026-09-08 23:08:42 +0200
committerGitHub <noreply@github.com>2026-09-09 00:08:42 +0300
commit8996fc54fe4596368a1677821b1a390a70c56ab0 (patch)
tree65ff0293a3ee17b4acc50539bff382388abaf927 /src/platform/fallback.rs
parent68c7b78ec237034cbb0e21c8666842ed7991641d (diff)
fix: support preinstalled windows remote hosts (#3661)
* fix: support windows hosts in saved ssh machines refs #3651 * fix: keep windows ssh bridge writes blocking refs #3651 * fix: close saved windows ssh bootstrap input refs #3651 * refactor: simplify remote bridge helpers refs #3651 * refactor: isolate remote bridge platform behavior refs #3651 * fix: close captured ssh input under windows consoles refs #3651 * test: remove redundant remote command assertions refs #3651 refs #3701 * test: handle framed ssh commands in machine setup refs #3651 --------- Co-authored-by: Ogulcan Celik <ogulcancelik@gmail.com>
Diffstat (limited to 'src/platform/fallback.rs')
-rw-r--r--src/platform/fallback.rs13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/platform/fallback.rs b/src/platform/fallback.rs
index 09d82c6c..a533796f 100644
--- a/src/platform/fallback.rs
+++ b/src/platform/fallback.rs
@@ -13,6 +13,19 @@ pub(crate) fn set_default_plugin_pane_pwd(
) {
}
+pub(crate) fn forward_remote_bridge_stdio(stream: crate::ipc::LocalStream) -> std::io::Result<()> {
+ use interprocess::TryClone as _;
+
+ let mut stdout = std::io::stdout().lock();
+ let mut socket_to_stdout = stream.try_clone()?;
+ let mut stdin_to_socket = stream;
+ let _upload = std::thread::spawn(move || {
+ let mut stdin = std::io::stdin();
+ let _ = std::io::copy(&mut stdin, &mut stdin_to_socket);
+ });
+ std::io::copy(&mut socket_to_stdout, &mut stdout).map(|_| ())
+}
+
#[cfg(not(unix))]
pub(super) fn read_terminal_grid_size() -> std::io::Result<(u16, u16)> {
crossterm::terminal::size()