diff options
| author | Ogulcan Celik <ogulcancelik@gmail.com> | 2026-05-29 21:01:03 +0300 |
|---|---|---|
| committer | Ogulcan Celik <ogulcancelik@gmail.com> | 2026-05-29 21:01:03 +0300 |
| commit | 1f2b0f71b54467a9749b0d3b6945b5322d0aa42a (patch) | |
| tree | 2695c3f992f6aad89839a3e90fdfce2741092844 /src/terminal | |
| parent | 9e302984ccb13a65e3e504fa7692b223f546ff84 (diff) | |
fix: keep restored agent panes after exit
Diffstat (limited to 'src/terminal')
| -rw-r--r-- | src/terminal/state.rs | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/terminal/state.rs b/src/terminal/state.rs index f061e318..c1d17db5 100644 --- a/src/terminal/state.rs +++ b/src/terminal/state.rs @@ -641,6 +641,22 @@ impl TerminalState { self.agent_name = None; } + pub fn clear_agent_runtime_identity_after_respawn(&mut self) { + self.detected_agent = None; + self.fallback_state = AgentState::Unknown; + self.fallback_visible_blocker = false; + self.fallback_visible_idle = false; + self.fallback_visible_working = false; + self.fallback_observed_at = None; + self.stale_hook_idle_since = None; + self.hook_authority = None; + self.persisted_agent_session = None; + self.agent_metadata.clear(); + self.launch_argv = None; + self.respawn_shell_on_exit = false; + self.clear_agent_name(); + } + pub fn is_agent_terminal(&self) -> bool { self.agent_name.is_some() || self.effective_agent_label().is_some() |
