aboutsummaryrefslogtreecommitdiff
path: root/src/server/headless/endpoint_requests.rs
diff options
context:
space:
mode:
authorJJ Liebig <jonathan.liebig@gmail.com>2026-09-22 18:43:12 +0200
committerGitHub <noreply@github.com>2026-09-22 19:43:12 +0300
commitdd33ddf28d693b2c64ed91f75656c61416ee2538 (patch)
tree229769fa9e2535b72dc39ba0f64593ef5fdc93a2 /src/server/headless/endpoint_requests.rs
parent1c6397b1cddb288099ed212a5979732698bd72c2 (diff)
fix: move worktree lookups async (#4492)
Diffstat (limited to 'src/server/headless/endpoint_requests.rs')
-rw-r--r--src/server/headless/endpoint_requests.rs14
1 files changed, 9 insertions, 5 deletions
diff --git a/src/server/headless/endpoint_requests.rs b/src/server/headless/endpoint_requests.rs
index 4f02b676..afdcc80a 100644
--- a/src/server/headless/endpoint_requests.rs
+++ b/src/server/headless/endpoint_requests.rs
@@ -105,12 +105,16 @@ impl HeadlessServer {
client.shell_endpoint_command_surface_revision = Some(client.shell_projection_revision);
let deferred_worktree = matches!(
&request.method,
- api::schema::Method::WorktreeCreate(_) | api::schema::Method::WorktreeRemove(_)
- );
- let deferred_navigation = matches!(
- &request.method,
- api::schema::Method::WorktreeCreate(params) if params.focus
+ api::schema::Method::WorktreeCreate(_)
+ | api::schema::Method::WorktreeRemove(_)
+ | api::schema::Method::WorktreeList(_)
+ | api::schema::Method::WorktreeOpen(_)
);
+ let deferred_navigation = match &request.method {
+ api::schema::Method::WorktreeCreate(params) => params.focus,
+ api::schema::Method::WorktreeOpen(params) => params.focus,
+ _ => false,
+ };
client.shell_deferred_navigation_request_id =
deferred_worktree.then(|| api_request_id.clone());
client.shell_deferred_navigation_response = deferred_navigation.then(Vec::new);