From 226e87306deaba017d36583f51ae34e42b303aad Mon Sep 17 00:00:00 2001 From: Ogulcan Celik Date: Sun, 14 Jun 2026 05:30:20 +0300 Subject: fix: preserve tab identity across restored sessions --- src/app/api/layouts.rs | 7 +++---- src/app/api/tabs.rs | 12 ++++-------- 2 files changed, 7 insertions(+), 12 deletions(-) (limited to 'src/app/api') diff --git a/src/app/api/layouts.rs b/src/app/api/layouts.rs index e397ccf8..9c492937 100644 --- a/src/app/api/layouts.rs +++ b/src/app/api/layouts.rs @@ -151,10 +151,9 @@ impl App { let closed_tab_id = self .public_tab_id(target_ws_idx, target_tab_idx) .unwrap_or_else(|| { - format!( - "{}:{}", - self.public_workspace_id(target_ws_idx), - target_tab_idx + 1 + crate::workspace::public_tab_id_for_number( + &self.public_workspace_id(target_ws_idx), + target_tab_idx + 1, ) }); let terminal_ids = self diff --git a/src/app/api/tabs.rs b/src/app/api/tabs.rs index c88a00d1..079c2ea4 100644 --- a/src/app/api/tabs.rs +++ b/src/app/api/tabs.rs @@ -105,11 +105,7 @@ impl App { if let Some(label) = label { let workspace_id = self.state.workspaces[ws_idx].id.clone(); let tab_id = self.public_tab_id(ws_idx, tab_idx).unwrap_or_else(|| { - format!( - "{}:t{}", - workspace_id, - crate::workspace::encode_public_number(tab_idx + 1) - ) + crate::workspace::public_tab_id_for_number(&workspace_id, tab_idx + 1) }); if let Some(tab) = self .state @@ -165,9 +161,9 @@ impl App { return tab_not_found(id, ¶ms.tab_id); }; let workspace_id = self.state.workspaces[ws_idx].id.clone(); - let tab_id = self - .public_tab_id(ws_idx, tab_idx) - .unwrap_or_else(|| format!("{}:{}", workspace_id, tab_idx + 1)); + let tab_id = self.public_tab_id(ws_idx, tab_idx).unwrap_or_else(|| { + crate::workspace::public_tab_id_for_number(&workspace_id, tab_idx + 1) + }); let Some(tab) = self .state .workspaces -- cgit v1.2.3