diff options
| author | Can Celik <ogulcancelik@gmail.com> | 2026-09-07 16:14:46 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-09-07 15:14:46 +0200 |
| commit | e7d8220788b4fa7c266a1e4457591b694478771c (patch) | |
| tree | 272303d74e0b58c11f9c0c434dae8335d3d06703 /src/app/api/plugins | |
| parent | 482818130407691154d1635d4029b95d0e730104 (diff) | |
fix: preserve sessions after interrupted pane exits (#3418)
* fix: preserve sessions when pane shells are signaled
refs #3415
* fix: preserve shutdown checkpoints across platforms
refs #3415
---------
Co-authored-by: Jonathan Liebig <jonathan.liebig@gmail.com>
Diffstat (limited to 'src/app/api/plugins')
| -rw-r--r-- | src/app/api/plugins/mod.rs | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/app/api/plugins/mod.rs b/src/app/api/plugins/mod.rs index f4b6329b..8ad083d4 100644 --- a/src/app/api/plugins/mod.rs +++ b/src/app/api/plugins/mod.rs @@ -2210,6 +2210,7 @@ command = ["sh", "-c", "printf %s ${{HERDR_PANE_ID-unset}} > '{}'; sleep 1"] app.handle_internal_event(crate::events::AppEvent::PaneDied { pane_id: opened_pane_id, + exit_reason: crate::platform::ChildExitReason::Exited, }); assert!(app.state.popup_pane.is_none()); assert!(event_hub.events_after(0).is_empty()); @@ -3448,7 +3449,10 @@ command = ["sh", "-c", "echo ok"] }, ); - app.handle_internal_event(crate::events::AppEvent::PaneDied { pane_id }); + app.handle_internal_event(crate::events::AppEvent::PaneDied { + pane_id, + exit_reason: crate::platform::ChildExitReason::Exited, + }); assert!(!app.state.plugin_panes.contains_key(&pane_id)); } |
