diff options
| author | Ogulcan Celik <ogulcancelik@gmail.com> | 2026-06-19 18:59:43 +0300 |
|---|---|---|
| committer | Ogulcan Celik <ogulcancelik@gmail.com> | 2026-06-19 18:59:43 +0300 |
| commit | 46a2b259a71828e7fcdeab1f67ef675304e2ca14 (patch) | |
| tree | 0b8aa654d8977ff24ecb25763e961d4a6fa78615 /src/app/api.rs | |
| parent | 26c5f97a908c1ebe4228302d1b9e8c5423b2ab75 (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.rs | 18 |
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), |
