aboutsummaryrefslogtreecommitdiffstats
path: root/zellij-client
diff options
context:
space:
mode:
authorAram Drevekenin <aram@poor.dev>2025-07-16 12:03:32 +0200
committerGitHub <noreply@github.com>2025-07-16 12:03:32 +0200
commit4a68c6d90b8942c81f25f465964eeb28fb5bb95f (patch)
tree7b21dc3328322315484955aef5f680f228d31a73 /zellij-client
parentfix(sessions): remove popups from welcome screen (#4294) (diff)
downloadsl0ppij-4a68c6d90b8942c81f25f465964eeb28fb5bb95f.tar.gz
sl0ppij-4a68c6d90b8942c81f25f465964eeb28fb5bb95f.tar.xz
sl0ppij-4a68c6d90b8942c81f25f465964eeb28fb5bb95f.zip
fix(resurrection): do not parse resurrection layouts on startup (#4292)
* fix(resurrection): do not parse resurrection layouts on startup * proper error when file is corrupt * docs(changelog): add PR * fix attach command * style(fmt): rustfmt
Diffstat (limited to 'zellij-client')
-rw-r--r--zellij-client/src/web_client/session_management.rs15
-rw-r--r--zellij-client/src/web_client/types.rs2
2 files changed, 11 insertions, 6 deletions
diff --git a/zellij-client/src/web_client/session_management.rs b/zellij-client/src/web_client/session_management.rs
index c46224fd..6e765597 100644
--- a/zellij-client/src/web_client/session_management.rs
+++ b/zellij-client/src/web_client/session_management.rs
@@ -113,12 +113,15 @@ pub fn spawn_session_if_needed(
} else {
let force_run_commands = false;
let resurrection_layout =
- resurrection_layout(&session_name).map(|mut resurrection_layout| {
- if force_run_commands {
- resurrection_layout.recursively_add_start_suspended(Some(false));
- }
- resurrection_layout
- });
+ resurrection_layout(&session_name)
+ .ok()
+ .flatten()
+ .map(|mut resurrection_layout| {
+ if force_run_commands {
+ resurrection_layout.recursively_add_start_suspended(Some(false));
+ }
+ resurrection_layout
+ });
match resurrection_layout {
Some(resurrection_layout) => spawn_new_session(
diff --git a/zellij-client/src/web_client/types.rs b/zellij-client/src/web_client/types.rs
index 1a197d0d..d20edc4b 100644
--- a/zellij-client/src/web_client/types.rs
+++ b/zellij-client/src/web_client/types.rs
@@ -62,6 +62,8 @@ impl SessionManager for RealSessionManager {
session_name: &str,
) -> Option<zellij_utils::input::layout::Layout> {
zellij_utils::sessions::resurrection_layout(session_name)
+ .ok()
+ .flatten()
}
fn spawn_session_if_needed(