Properly ignore missing/empty runnables config

This commit is contained in:
Kirill Bulatov 2024-02-20 15:02:35 +02:00
parent 48a6fb9e84
commit c54d6aff6c

View file

@ -79,8 +79,10 @@ 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.filter(|s| !s.is_empty()) {
let Some(new_contents) = serde_json_lenient::from_str(&new_contents).log_err()
while let Some(new_contents) = tracker.next().await {
if !new_contents.trim().is_empty() {
let Some(new_contents) =
serde_json_lenient::from_str(&new_contents).log_err()
else {
continue;
};
@ -91,6 +93,7 @@ impl<T: for<'a> Deserialize<'a> + PartialEq + 'static> TrackedFile<T> {
};
})?;
}
}
anyhow::Ok(())
})
.detach_and_log_err(cx);