Change summary
crates/remote/src/transport.rs | 3 +++
crates/remote/src/transport/docker.rs | 16 +++++++++-------
2 files changed, 12 insertions(+), 7 deletions(-)
Detailed changes
@@ -158,6 +158,9 @@ fn handle_rpc_messages_over_child_process_stdio(
}
};
let status = remote_proxy_process.status().await?.code().unwrap_or(1);
+ if status != 0 {
+ anyhow::bail!("Remote server exited with status {status}");
+ }
match result {
Ok(_) => Ok(status),
Err(error) => Err(error),
@@ -582,19 +582,21 @@ impl RemoteConnection for DockerExecConnection {
return Task::ready(Err(anyhow!("Remote binary path not set")));
};
- let mut docker_args = vec![
- "exec".to_string(),
- "-w".to_string(),
- self.remote_dir_for_server.clone(),
- "-i".to_string(),
- self.connection_options.container_id.to_string(),
- ];
+ let mut docker_args = vec!["exec".to_string()];
for env_var in ["RUST_LOG", "RUST_BACKTRACE", "ZED_GENERATE_MINIDUMPS"] {
if let Some(value) = std::env::var(env_var).ok() {
docker_args.push("-e".to_string());
docker_args.push(format!("{}='{}'", env_var, value));
}
}
+
+ docker_args.extend([
+ "-w".to_string(),
+ self.remote_dir_for_server.clone(),
+ "-i".to_string(),
+ self.connection_options.container_id.to_string(),
+ ]);
+
let val = remote_binary_relpath
.display(self.path_style())
.into_owned();