mirror of
https://github.com/zed-industries/zed.git
synced 2025-02-10 20:29:05 +00:00
Do not allow [re]running ssh tasks when not connected to the server (#19306)
Release Notes: - N/A
This commit is contained in:
parent
02f63e49ed
commit
56f69be2e7
2 changed files with 14 additions and 7 deletions
|
@ -384,13 +384,6 @@ impl PickerDelegate for TasksModalDelegate {
|
||||||
.start_slot::<Icon>(icon)
|
.start_slot::<Icon>(icon)
|
||||||
.end_slot::<AnyElement>(history_run_icon)
|
.end_slot::<AnyElement>(history_run_icon)
|
||||||
.spacing(ListItemSpacing::Sparse)
|
.spacing(ListItemSpacing::Sparse)
|
||||||
// .map(|this| {
|
|
||||||
// if Some(ix) <= self.divider_index {
|
|
||||||
// this.start_slot(Icon::new(IconName::HistoryRerun).size(IconSize::Small))
|
|
||||||
// } else {
|
|
||||||
// this.start_slot(v_flex().flex_none().size(IconSize::Small.rems()))
|
|
||||||
// }
|
|
||||||
// })
|
|
||||||
.when_some(tooltip_label, |list_item, item_label| {
|
.when_some(tooltip_label, |list_item, item_label| {
|
||||||
list_item.tooltip(move |_| item_label.clone())
|
list_item.tooltip(move |_| item_label.clone())
|
||||||
})
|
})
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
use project::TaskSourceKind;
|
use project::TaskSourceKind;
|
||||||
|
use remote::ConnectionState;
|
||||||
use task::{ResolvedTask, TaskContext, TaskTemplate};
|
use task::{ResolvedTask, TaskContext, TaskTemplate};
|
||||||
use ui::ViewContext;
|
use ui::ViewContext;
|
||||||
|
|
||||||
|
@ -12,6 +13,19 @@ pub fn schedule_task(
|
||||||
omit_history: bool,
|
omit_history: bool,
|
||||||
cx: &mut ViewContext<'_, Workspace>,
|
cx: &mut ViewContext<'_, Workspace>,
|
||||||
) {
|
) {
|
||||||
|
match workspace.project.read(cx).ssh_connection_state(cx) {
|
||||||
|
None | Some(ConnectionState::Connected) => {}
|
||||||
|
Some(
|
||||||
|
ConnectionState::Connecting
|
||||||
|
| ConnectionState::Disconnected
|
||||||
|
| ConnectionState::HeartbeatMissed
|
||||||
|
| ConnectionState::Reconnecting,
|
||||||
|
) => {
|
||||||
|
log::warn!("Cannot schedule tasks when disconnected from a remote host");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if let Some(spawn_in_terminal) =
|
if let Some(spawn_in_terminal) =
|
||||||
task_to_resolve.resolve_task(&task_source_kind.to_id_base(), task_cx)
|
task_to_resolve.resolve_task(&task_source_kind.to_id_base(), task_cx)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue