assistant2: Don't block ThreadStore initialization on reloading the threads (#23728)

This PR changes the `ThreadStore` constructor to not block on reloading
the threads before we finish initializing it.

This allows us to make the constructor synchronous instead of
asynchronous.

Release Notes:

- N/A
This commit is contained in:
Marshall Bowers 2025-01-27 12:59:28 -05:00 committed by GitHub
parent 9705764892
commit f096a28a19
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 33 additions and 41 deletions

View file

@ -119,12 +119,10 @@ impl AssistantPanel {
cx.spawn(|mut cx| async move {
let tools = Arc::new(ToolWorkingSet::default());
log::info!("[assistant2-debug] initializing ThreadStore");
let thread_store = workspace
.update(&mut cx, |workspace, cx| {
let project = workspace.project().clone();
ThreadStore::new(project, tools.clone(), cx)
})?
.await?;
let thread_store = workspace.update(&mut cx, |workspace, cx| {
let project = workspace.project().clone();
ThreadStore::new(project, tools.clone(), cx)
})??;
log::info!("[assistant2-debug] finished initializing ThreadStore");
let slash_commands = Arc::new(SlashCommandWorkingSet::default());