(&self, theme: &gpui_component::theme::ThemeColor)
| 486 | )) |
| 487 | }; |
| 488 | Some((content, model)) |
| 489 | }) |
| 490 | .await; |
| 491 | |
| 492 | if worker_generation_clock.load(Ordering::Acquire) == generation |
| 493 | && let Ok(Some(prepared)) = prepared |
| 494 | { |
| 495 | let _ = tx.send(prepared); |
| 496 | } |
| 497 | }); |
| 498 | |
| 499 | let response = self.response.clone(); |
| 500 | cx.spawn_in(window, async move |view, cx| { |
| 501 | let result = rx.await; |
| 502 | let _ = cx.update(|window, app| { |
| 503 | if generation_clock.load(Ordering::Acquire) != generation { |
| 504 | return; |
| 505 | } |
| 506 | let Ok((content, model)) = result else { |