summaryrefslogtreecommitdiff
path: root/src/app/api.rs
diff options
context:
space:
mode:
authorOgulcan Celik <ogulcancelik@gmail.com>2026-06-19 18:59:43 +0300
committerOgulcan Celik <ogulcancelik@gmail.com>2026-06-19 18:59:43 +0300
commit46a2b259a71828e7fcdeab1f67ef675304e2ca14 (patch)
tree0b8aa654d8977ff24ecb25763e961d4a6fa78615 /src/app/api.rs
parent26c5f97a908c1ebe4228302d1b9e8c5423b2ab75 (diff)
fix: defer api worktree operations
refs #686 refs #657 refs #662 refs https://github.com/ogulcancelik/herdr/discussions/687
Diffstat (limited to 'src/app/api.rs')
-rw-r--r--src/app/api.rs18
1 files changed, 14 insertions, 4 deletions
diff --git a/src/app/api.rs b/src/app/api.rs
index 6dc48953..cbd6866c 100644
--- a/src/app/api.rs
+++ b/src/app/api.rs
@@ -91,12 +91,12 @@ impl App {
}
if let AppEvent::WorktreeAddFinished(result) = ev {
- self.handle_worktree_add_finished(result);
+ self.handle_worktree_add_finished(*result);
return;
}
if let AppEvent::WorktreeRemoveFinished(result) = ev {
- self.handle_worktree_remove_finished(result);
+ self.handle_worktree_remove_finished(*result);
return;
}
@@ -778,11 +778,21 @@ impl App {
}
Method::WorktreeList(params) => return self.handle_worktree_list(request.id, params),
Method::WorktreeCreate(params) => {
- return self.handle_worktree_create(request.id, params);
+ let _ = params;
+ return responses::encode_error(
+ request.id,
+ "invalid_request",
+ "worktree.create is handled asynchronously by the app runtime",
+ );
}
Method::WorktreeOpen(params) => return self.handle_worktree_open(request.id, params),
Method::WorktreeRemove(params) => {
- return self.handle_worktree_remove(request.id, params);
+ let _ = params;
+ return responses::encode_error(
+ request.id,
+ "invalid_request",
+ "worktree.remove is handled asynchronously by the app runtime",
+ );
}
Method::TabList(params) => return self.handle_tab_list(request.id, params),
Method::TabGet(target) => return self.handle_tab_get(request.id, target),