Change summary
crates/runnable/src/static_source.rs | 2 +-
crates/terminal_view/src/terminal_panel.rs | 7 +++++++
2 files changed, 8 insertions(+), 1 deletion(-)
Detailed changes
@@ -79,7 +79,7 @@ impl<T: for<'a> Deserialize<'a> + PartialEq + 'static> TrackedFile<T> {
) -> Model<Self> {
cx.new_model(move |cx| {
cx.spawn(|tracked_file, mut cx| async move {
- while let Some(new_contents) = tracker.next().await {
+ while let Some(new_contents) = tracker.next().await.filter(|s| !s.is_empty()) {
let Some(new_contents) = serde_json_lenient::from_str(&new_contents).log_err()
else {
continue;
@@ -542,6 +542,13 @@ impl TerminalPanel {
terminal_to_replace.set_terminal(new_terminal, cx);
});
self.activate_terminal_view(terminal_item_index, cx);
+ let task_workspace = self.workspace.clone();
+ cx.spawn(|_, mut cx| async move {
+ task_workspace
+ .update(&mut cx, |workspace, cx| workspace.focus_panel::<Self>(cx))
+ .ok()
+ })
+ .detach();
Some(())
}
}