diff options
| author | Can Celik <ogulcancelik@gmail.com> | 2026-09-21 00:29:45 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-09-21 00:29:45 +0300 |
| commit | 0ff0f27e222633c97ba4291f6b9be4137002ca84 (patch) | |
| tree | 97ee77c8a85801ab90133492ddd71b3ce635b8fb /src/server/headless/notifications.rs | |
| parent | f090ce95d05d2e7811869be93f9a23bf4ac2c3af (diff) | |
fix: preserve session layouts across shutdown and restore failures (#4400)
* fix: preserve session layouts across shutdown and restore failures
refs #4320
* test: update subscription fixture for pane restore errors
---------
Co-authored-by: JJ Liebig <jonathan.liebig@gmail.com>
Diffstat (limited to 'src/server/headless/notifications.rs')
| -rw-r--r-- | src/server/headless/notifications.rs | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/server/headless/notifications.rs b/src/server/headless/notifications.rs index 39938b74..722f95c5 100644 --- a/src/server/headless/notifications.rs +++ b/src/server/headless/notifications.rs @@ -321,6 +321,9 @@ impl HeadlessServer { /// /// Returns true if the event changed visual state (requiring a re-render). pub(super) fn handle_internal_event_with_forwarding(&mut self, mut ev: AppEvent) -> bool { + if self.host_shutdown_requested.load(Ordering::Acquire) { + return false; + } let mut focused_worktree_response = if let AppEvent::WorktreeAddFinished(result) = &mut ev { result .api_request @@ -752,6 +755,9 @@ impl HeadlessServer { let mut had_event = false; let mut changed = false; for _ in 0..limit { + if self.host_shutdown_requested.load(Ordering::Acquire) { + break; + } let Ok(ev) = self.app.event_rx.try_recv() else { break; }; |
