From bf9cc201244946496b4d950046bf7edcc4892994 Mon Sep 17 00:00:00 2001 From: Ogulcan Celik Date: Thu, 28 May 2026 04:11:56 +0300 Subject: fix: preserve live handoff terminal state --- src/app/mod.rs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'src/app/mod.rs') 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, event_hub: crate::api::EventHub, snapshot: &crate::persist::SessionSnapshot, - imports: &mut std::collections::HashMap, + imports: &mut std::collections::HashMap< + u32, + crate::handoff_runtime::ImportedHandoffRuntime, + >, ) -> io::Result { 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(); -- cgit v1.2.3