Change summary
crates/tasks_ui/src/modal.rs | 7 -------
crates/workspace/src/tasks.rs | 14 ++++++++++++++
2 files changed, 14 insertions(+), 7 deletions(-)
Detailed changes
@@ -384,13 +384,6 @@ impl PickerDelegate for TasksModalDelegate {
.start_slot::<Icon>(icon)
.end_slot::<AnyElement>(history_run_icon)
.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| {
list_item.tooltip(move |_| item_label.clone())
})
@@ -1,4 +1,5 @@
use project::TaskSourceKind;
+use remote::ConnectionState;
use task::{ResolvedTask, TaskContext, TaskTemplate};
use ui::ViewContext;
@@ -12,6 +13,19 @@ pub fn schedule_task(
omit_history: bool,
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) =
task_to_resolve.resolve_task(&task_source_kind.to_id_base(), task_cx)
{