diff options
| author | Aram Drevekenin <aram@poor.dev> | 2026-02-15 12:55:22 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-02-15 12:55:22 +0100 |
| commit | 753110669046196d94ffb1824f6c827a7497eaf0 (patch) | |
| tree | 589a9515cdc0e37ef00446955503dbb001cc7c03 /zellij-server | |
| parent | Allow plugins to read env vars present upon session creation (behind permissi... (diff) | |
| download | sl0ppij-753110669046196d94ffb1824f6c827a7497eaf0.tar.gz sl0ppij-753110669046196d94ffb1824f6c827a7497eaf0.tar.xz sl0ppij-753110669046196d94ffb1824f6c827a7497eaf0.zip | |
Fix startup message and cache file creation (#4705)
* only show startup loading message if we've been loading for more than 400ms
* create relevant cache folders before attempting to write startup cache files
* fix flaky tests
* rustfmt
* add pr
Diffstat (limited to 'zellij-server')
4 files changed, 41 insertions, 6 deletions
diff --git a/zellij-server/src/lib.rs b/zellij-server/src/lib.rs index e24aa38e..38628129 100644 --- a/zellij-server/src/lib.rs +++ b/zellij-server/src/lib.rs @@ -2012,6 +2012,9 @@ fn should_show_release_notes( if ZELLIJ_SEEN_RELEASE_NOTES_CACHE_FILE.exists() { return false; } else { + if let Some(parent) = ZELLIJ_SEEN_RELEASE_NOTES_CACHE_FILE.parent() { + let _ = std::fs::create_dir_all(parent); + } if let Err(e) = std::fs::write(&*ZELLIJ_SEEN_RELEASE_NOTES_CACHE_FILE, &[]) { log::error!( "Failed to write seen release notes indication to disk: {}", diff --git a/zellij-server/src/unit/screen_tests.rs b/zellij-server/src/unit/screen_tests.rs index 059235a1..96dd25aa 100644 --- a/zellij-server/src/unit/screen_tests.rs +++ b/zellij-server/src/unit/screen_tests.rs @@ -2196,7 +2196,16 @@ pub fn send_cli_send_keys_action_to_screen() { send_cli_action_to_server(&session_metadata, cli_action, client_id); std::thread::sleep(std::time::Duration::from_millis(100)); mock_screen.teardown(vec![pty_writer_thread, screen_thread]); - assert_snapshot!(format!("{:?}", *received_pty_instructions.lock().unwrap())); + let received_write_instructions: Vec<_> = received_pty_instructions + .lock() + .unwrap() + .clone() + .into_iter() + .filter(|i| matches!(i, PtyWriteInstruction::Write(..))) + .collect(); + // here we assert only the write instructions to make sure they arrived properly and in + // sequence to the pane + assert_snapshot!(format!("{:#?}", received_write_instructions)); } #[test] @@ -2965,7 +2974,15 @@ pub fn send_cli_toggle_active_tab_sync_action() { send_cli_action_to_server(&session_metadata, cli_write_action, client_id); std::thread::sleep(std::time::Duration::from_millis(100)); // give time for actions to be mock_screen.teardown(vec![pty_writer_thread, screen_thread]); - assert_snapshot!(format!("{:?}", *received_pty_instructions.lock().unwrap())); + let received_write_instructions: Vec<_> = received_pty_instructions + .lock() + .unwrap() + .clone() + .into_iter() + .filter(|i| matches!(i, PtyWriteInstruction::Write(..))) + .collect(); + // here we should have 2 Write instructions, one for each pane + assert_snapshot!(format!("{:?}", received_write_instructions)); } #[test] diff --git a/zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_send_keys_action_to_screen.snap b/zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_send_keys_action_to_screen.snap index 75e4aeef..c2acd715 100644 --- a/zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_send_keys_action_to_screen.snap +++ b/zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_send_keys_action_to_screen.snap @@ -1,5 +1,20 @@ --- source: zellij-server/src/./unit/screen_tests.rs -expression: "format!(\"{:?}\", *received_pty_instructions.lock().unwrap())" +expression: "format!(\"{:#?}\", received_write_instructions)" --- -[StartCachingResizes, ApplyCachedResizes, StartCachingResizes, ResizePty(0, 119, 18, None, None), ResizePty(0, 119, 18, None, None), ResizePty(0, 119, 18, None, None), ResizePty(0, 119, 18, None, None), ApplyCachedResizes, ResizePty(0, 119, 18, None, None), ResizePty(0, 119, 18, None, None), ResizePty(0, 119, 18, None, None), ResizePty(0, 119, 18, None, None), ResizePty(0, 119, 18, None, None), ApplyCachedResizes, ApplyCachedResizes, ApplyCachedResizes, StartCachingResizes, ApplyCachedResizes, StartCachingResizes, ApplyCachedResizes, StartCachingResizes, ApplyCachedResizes, StartCachingResizes, Write([1], 0, None), ApplyCachedResizes, StartCachingResizes, ApplyCachedResizes, StartCachingResizes, ApplyCachedResizes, StartCachingResizes, ApplyCachedResizes, StartCachingResizes, Write([120], 0, None), ApplyCachedResizes, StartCachingResizes, ApplyCachedResizes, StartCachingResizes, ApplyCachedResizes, Exit] +[ + Write( + [ + 1, + ], + 0, + None, + ), + Write( + [ + 120, + ], + 0, + None, + ), +] diff --git a/zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_toggle_active_tab_sync_action.snap b/zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_toggle_active_tab_sync_action.snap index d9fe6929..69157166 100644 --- a/zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_toggle_active_tab_sync_action.snap +++ b/zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_toggle_active_tab_sync_action.snap @@ -1,5 +1,5 @@ --- source: zellij-server/src/./unit/screen_tests.rs -expression: "format!(\"{:?}\", *received_pty_instructions.lock().unwrap())" +expression: "format!(\"{:?}\", received_write_instructions)" --- -[StartCachingResizes, ApplyCachedResizes, StartCachingResizes, ResizePty(0, 59, 18, None, None), ResizePty(1, 58, 18, None, None), ResizePty(0, 59, 18, None, None), ResizePty(1, 58, 18, None, None), ResizePty(0, 59, 18, None, None), ResizePty(1, 58, 18, None, None), ResizePty(0, 59, 18, None, None), ResizePty(1, 58, 18, None, None), ApplyCachedResizes, ResizePty(0, 58, 18, None, None), ResizePty(1, 59, 18, None, None), ResizePty(0, 58, 18, None, None), ResizePty(1, 59, 18, None, None), ResizePty(0, 58, 18, None, None), ResizePty(1, 59, 18, None, None), ResizePty(0, 58, 18, None, None), ResizePty(1, 59, 18, None, None), ResizePty(0, 59, 18, None, None), ResizePty(1, 58, 18, None, None), ApplyCachedResizes, ApplyCachedResizes, ApplyCachedResizes, StartCachingResizes, ApplyCachedResizes, StartCachingResizes, ApplyCachedResizes, StartCachingResizes, ApplyCachedResizes, StartCachingResizes, ApplyCachedResizes, StartCachingResizes, ApplyCachedResizes, StartCachingResizes, Write([102, 111, 111], 0, None), Write([102, 111, 111], 1, None), ApplyCachedResizes, StartCachingResizes, ApplyCachedResizes, StartCachingResizes, ApplyCachedResizes, Exit] +[Write([102, 111, 111], 0, None), Write([102, 111, 111], 1, None)] |
