diff options
| author | Can Celik <ogulcancelik@gmail.com> | 2026-09-01 15:48:22 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-09-01 15:48:22 +0300 |
| commit | 207be3c771d281baae6e5fa0fb74be9a056e97a2 (patch) | |
| tree | d7b037ecdf629224a048c841d11659efdc23507d /src/persist | |
| parent | 8a6d697308162874a236c84aac0b0f8c7ac01f83 (diff) | |
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
Diffstat (limited to 'src/persist')
| -rw-r--r-- | src/persist/snapshot.rs | 37 |
1 files changed, 18 insertions, 19 deletions
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<usize>, selected: usize, - sidebar_width: u16, - sidebar_section_split: f32, - collapsed_space_keys: std::collections::HashSet<String>, ) -> 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); |
