From 207be3c771d281baae6e5fa0fb74be9a056e97a2 Mon Sep 17 00:00:00 2001 From: Can Celik Date: Tue, 1 Sep 2026 15:48:22 +0300 Subject: refactor: render the shell in the client (#3487) * feat: add opt-in client-rendered shell * feat: add client-owned shell mouse controls * feat: complete client-owned shell chrome * feat: add client-owned shell settings and notifications * feat: run client shell custom commands * feat: render popup terminals in client shell * feat: add client-owned scrollback and copy mode * fix: preserve client worktree trust defaults * feat: render startup diagnostics in client shell * feat: render onboarding in client shell * feat: render product announcements in client shell * feat: render release notes in client shell * feat: render mobile switcher in client shell * feat: render kitty graphics in client shell * fix: preserve client shell lifecycle coherence * refactor: route client shell commands through endpoint connections * refactor: make the client-rendered shell the default * refactor: remove monolithic launch mode * refactor: complete client-rendered shell cutover * perf: retain client pane surface updates * perf: scale retained pane surface updates * perf: remove remote pane input latency * test: make client shell checks platform-independent * fix: prevent client timer starvation * test: fix client shell platform gates * test: accept retained surfaces in cross-area checks * test: make client mode assertions platform-neutral * fix: badge only outdated integrations --- src/persist/snapshot.rs | 37 ++++++++++++++++++------------------- 1 file changed, 18 insertions(+), 19 deletions(-) (limited to 'src/persist') diff --git a/src/persist/snapshot.rs b/src/persist/snapshot.rs index 39f790dd..e6ca70f9 100644 --- a/src/persist/snapshot.rs +++ b/src/persist/snapshot.rs @@ -258,9 +258,6 @@ pub fn capture( terminal_runtimes: &TerminalRuntimeRegistry, active: Option, selected: usize, - sidebar_width: u16, - sidebar_section_split: f32, - collapsed_space_keys: std::collections::HashSet, ) -> SessionSnapshot { SessionSnapshot { version: SNAPSHOT_VERSION, @@ -270,9 +267,9 @@ pub fn capture( .collect(), active, selected, - sidebar_width: Some(sidebar_width), - sidebar_section_split: Some(sidebar_section_split), - collapsed_space_keys, + sidebar_width: None, + sidebar_section_split: None, + collapsed_space_keys: std::collections::HashSet::new(), } } @@ -538,9 +535,6 @@ mod tests { terminal_runtimes, state.active, state.selected, - state.sidebar_width, - state.sidebar_section_split, - state.collapsed_space_keys.clone(), ) } @@ -867,16 +861,13 @@ mod tests { } #[test] - fn capture_contract_tracks_sidebar_state() { - let mut state = state_with_workspaces(&["one"]); - state.sidebar_width = 31; - state.sidebar_section_split = 0.4; - state.collapsed_space_keys.insert("repo-key".into()); + fn capture_contract_omits_legacy_server_chrome_state() { + let state = state_with_workspaces(&["one"]); let snapshot = capture_from_state(&state); - assert_eq!(snapshot.sidebar_width, Some(31)); - assert_eq!(snapshot.sidebar_section_split, Some(0.4)); - assert!(snapshot.collapsed_space_keys.contains("repo-key")); + assert_eq!(snapshot.sidebar_width, None); + assert_eq!(snapshot.sidebar_section_split, None); + assert!(snapshot.collapsed_space_keys.is_empty()); } #[test] @@ -920,7 +911,11 @@ mod tests { let mut state = state_with_workspaces(&["one"]); let root = state.workspaces[0].tabs[0].root_pane; let second = state.workspaces[0].test_split(Direction::Horizontal); - crate::ui::compute_view(&mut state, Rect::new(0, 0, 106, 20)); + crate::ui::compute_view_with_runtime_registry( + &mut state, + &crate::terminal::TerminalRuntimeRegistry::new(), + Rect::new(0, 0, 106, 20), + ); state.navigate_pane(NavDirection::Right); @@ -935,7 +930,11 @@ mod tests { let root = state.workspaces[0].tabs[0].root_pane; state.workspaces[0].test_split(Direction::Horizontal); state.workspaces[0].layout.focus_pane(root); - crate::ui::compute_view(&mut state, Rect::new(0, 0, 106, 20)); + crate::ui::compute_view_with_runtime_registry( + &mut state, + &crate::terminal::TerminalRuntimeRegistry::new(), + Rect::new(0, 0, 106, 20), + ); let before = capture_from_state(&state); state.resize_pane(NavDirection::Right); -- cgit v1.2.3