aboutsummaryrefslogtreecommitdiff
path: root/src/app/api
diff options
context:
space:
mode:
authorOgulcan Celik <ogulcancelik@gmail.com>2026-05-28 04:11:56 +0300
committerOgulcan Celik <ogulcancelik@gmail.com>2026-05-28 04:12:53 +0300
commitbf9cc201244946496b4d950046bf7edcc4892994 (patch)
tree920c866e67783cf31d2feff9642457204999c8eb /src/app/api
parent789738cada5afaa20bbd77a0d479fb689c455bfe (diff)
fix: preserve live handoff terminal state
Diffstat (limited to 'src/app/api')
-rw-r--r--src/app/api/panes.rs2
-rw-r--r--src/app/api/tabs.rs3
2 files changed, 5 insertions, 0 deletions
diff --git a/src/app/api/panes.rs b/src/app/api/panes.rs
index a81a6080..4620329f 100644
--- a/src/app/api/panes.rs
+++ b/src/app/api/panes.rs
@@ -66,6 +66,8 @@ impl App {
self.terminal_runtimes
.insert(new_pane.terminal.id.clone(), new_pane.runtime);
self.state
+ .remove_alias_shadowed_by_new_pane(new_pane.pane_id);
+ self.state
.terminals
.insert(new_pane.terminal.id.clone(), new_pane.terminal);
self.schedule_session_save();
diff --git a/src/app/api/tabs.rs b/src/app/api/tabs.rs
index 0344fcea..f605d143 100644
--- a/src/app/api/tabs.rs
+++ b/src/app/api/tabs.rs
@@ -93,6 +93,9 @@ impl App {
Ok((tab_idx, terminal, runtime)) => {
self.terminal_runtimes.insert(terminal.id.clone(), runtime);
self.state.terminals.insert(terminal.id.clone(), terminal);
+ self.state.remove_alias_shadowed_by_new_pane(
+ self.state.workspaces[ws_idx].tabs[tab_idx].root_pane,
+ );
if let Some(label) = label {
let workspace_id = self.state.workspaces[ws_idx].id.clone();
let tab_id = self