ssh: Detect timeouts when server is unresponsive (#18808)
To detect connection timeouts we ping the remote server every X seconds and attempt to reconnect if the server failed to respond. Next up is showing some feedback in the UI to make this visible to the user, and stop reconnecting after X amount of retries. Release Notes: - N/A --------- Co-authored-by: Thorsten <thorsten@zed.dev>
This commit is contained in:
parent
5aa165c530
commit
25a97a6a2b
2 changed files with 82 additions and 3 deletions
|
@ -113,6 +113,7 @@ impl HeadlessProject {
|
|||
client.add_request_handler(cx.weak_model(), Self::handle_list_remote_directory);
|
||||
client.add_request_handler(cx.weak_model(), Self::handle_check_file_exists);
|
||||
client.add_request_handler(cx.weak_model(), Self::handle_shutdown_remote_server);
|
||||
client.add_request_handler(cx.weak_model(), Self::handle_ping);
|
||||
|
||||
client.add_model_request_handler(Self::handle_add_worktree);
|
||||
client.add_model_request_handler(Self::handle_open_buffer_by_path);
|
||||
|
@ -354,4 +355,13 @@ impl HeadlessProject {
|
|||
|
||||
Ok(proto::Ack {})
|
||||
}
|
||||
|
||||
pub async fn handle_ping(
|
||||
_this: Model<Self>,
|
||||
_envelope: TypedEnvelope<proto::Ping>,
|
||||
_cx: AsyncAppContext,
|
||||
) -> Result<proto::Ack> {
|
||||
log::debug!("Received ping from client");
|
||||
Ok(proto::Ack {})
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue