aboutsummaryrefslogtreecommitdiff
path: root/src/app/mod.rs
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/mod.rs
parent789738cada5afaa20bbd77a0d479fb689c455bfe (diff)
fix: preserve live handoff terminal state
Diffstat (limited to 'src/app/mod.rs')
-rw-r--r--src/app/mod.rs8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/app/mod.rs b/src/app/mod.rs
index 12fb704e..fbbacd61 100644
--- a/src/app/mod.rs
+++ b/src/app/mod.rs
@@ -393,6 +393,7 @@ impl App {
let mut state = AppState {
terminals: std::collections::HashMap::new(),
direct_attach_resize_locks: std::collections::HashSet::new(),
+ pane_id_aliases: std::collections::HashMap::new(),
workspaces,
active,
previous_pane_focus: None,
@@ -594,7 +595,10 @@ impl App {
api_rx: tokio::sync::mpsc::UnboundedReceiver<crate::api::ApiRequestMessage>,
event_hub: crate::api::EventHub,
snapshot: &crate::persist::SessionSnapshot,
- imports: &mut std::collections::HashMap<u32, crate::persist::ImportedPaneRuntime>,
+ imports: &mut std::collections::HashMap<
+ u32,
+ crate::handoff_runtime::ImportedHandoffRuntime,
+ >,
) -> io::Result<Self> {
let mut app = Self::new(config, true, config_diagnostic, api_rx, event_hub);
let (workspaces, terminals, runtimes) = crate::persist::restore_handoff(
@@ -606,9 +610,11 @@ impl App {
app.render_notify.clone(),
app.render_dirty.clone(),
)?;
+ let pane_id_aliases = crate::persist::handoff_pane_aliases(snapshot, &workspaces);
app.no_session = false;
app.state.detach_exits = false;
+ app.state.pane_id_aliases = pane_id_aliases;
app.state.workspaces = workspaces;
app.state.terminals = terminals;
app.terminal_runtimes = runtimes.into();