diff options
| author | Ogulcan Celik <ogulcancelik@gmail.com> | 2026-05-28 04:11:56 +0300 |
|---|---|---|
| committer | Ogulcan Celik <ogulcancelik@gmail.com> | 2026-05-28 04:12:53 +0300 |
| commit | bf9cc201244946496b4d950046bf7edcc4892994 (patch) | |
| tree | 920c866e67783cf31d2feff9642457204999c8eb /src/app/mod.rs | |
| parent | 789738cada5afaa20bbd77a0d479fb689c455bfe (diff) | |
fix: preserve live handoff terminal state
Diffstat (limited to 'src/app/mod.rs')
| -rw-r--r-- | src/app/mod.rs | 8 |
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(); |
