aboutsummaryrefslogtreecommitdiff
path: root/src/events.rs
diff options
context:
space:
mode:
authorJJ Liebig <jonathan.liebig@gmail.com>2026-09-02 18:08:10 +0200
committerGitHub <noreply@github.com>2026-09-02 18:08:10 +0200
commit5a2dee700eeeea68267a4d16777307632f77172f (patch)
tree3a7b2b0ead7af9cb1bfc069e5f61ce56a5f4909f /src/events.rs
parent987b070fbfa187e85009b45cd7e208fc6175ff6a (diff)
fix(windows): remove worktrees with active agent panes (#3532)
* fix(windows): remove worktrees with active agent panes * fix(windows): defer pane restore until shutdown exits
Diffstat (limited to 'src/events.rs')
-rw-r--r--src/events.rs3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/events.rs b/src/events.rs
index d17ef60b..2901e493 100644
--- a/src/events.rs
+++ b/src/events.rs
@@ -37,6 +37,7 @@ pub struct ApiWorktreeRemoveRequest {
pub id: String,
pub operation_id: u64,
pub checkout_key: std::path::PathBuf,
+ pub shutdown_panes: Vec<crate::layout::PaneId>,
pub respond_to: std::sync::mpsc::Sender<String>,
}
@@ -56,6 +57,8 @@ pub struct WorktreeRemoveResult {
pub enum AppEvent {
/// A pane's child process exited.
PaneDied { pane_id: PaneId },
+ /// A worktree-removal runtime could not be restored normally.
+ WorktreeRuntimeRestoreFailed { pane_id: PaneId, operation_id: u64 },
/// Process detection identified an agent before its screen state was confirmed.
AgentProcessDetected {
pane_id: PaneId,