aboutsummaryrefslogtreecommitdiff
path: root/src/persist
diff options
context:
space:
mode:
authorOgulcan Celik <ogulcancelik@gmail.com>2026-06-17 16:08:43 +0300
committerOgulcan Celik <ogulcancelik@gmail.com>2026-06-17 16:08:43 +0300
commit54490254f70469cd154ee630bc4bec84da178f0c (patch)
tree450bf0397398b28932f636d33e37f73c011dd19d /src/persist
parentd998753efe506a04c80306795efc72bff60bb0ec (diff)
feat: sort agent panel by priority
refs #318
Diffstat (limited to 'src/persist')
-rw-r--r--src/persist/io.rs2
-rw-r--r--src/persist/restore.rs5
-rw-r--r--src/persist/snapshot.rs24
3 files changed, 2 insertions, 29 deletions
diff --git a/src/persist/io.rs b/src/persist/io.rs
index 12f3c9c5..3344f5ec 100644
--- a/src/persist/io.rs
+++ b/src/persist/io.rs
@@ -175,7 +175,6 @@ pub fn load_history() -> Option<SessionHistorySnapshot> {
#[cfg(test)]
mod tests {
use super::*;
- use crate::app::state::AgentPanelScope;
use crate::persist::snapshot::{
PaneHistorySnapshot, TabHistorySnapshot, WorkspaceHistorySnapshot,
};
@@ -205,7 +204,6 @@ mod tests {
workspaces: vec![],
active: None,
selected: 0,
- agent_panel_scope: AgentPanelScope::CurrentWorkspace,
sidebar_width: Some(26),
sidebar_section_split: Some(0.5),
collapsed_space_keys: std::collections::HashSet::new(),
diff --git a/src/persist/restore.rs b/src/persist/restore.rs
index 7c046698..162c13ed 100644
--- a/src/persist/restore.rs
+++ b/src/persist/restore.rs
@@ -1188,7 +1188,6 @@ mod tests {
}],
active: Some(0),
selected: 0,
- agent_panel_scope: Default::default(),
sidebar_width: None,
sidebar_section_split: None,
collapsed_space_keys: Default::default(),
@@ -1278,7 +1277,6 @@ mod tests {
}],
active: Some(0),
selected: 0,
- agent_panel_scope: Default::default(),
sidebar_width: None,
sidebar_section_split: None,
collapsed_space_keys: Default::default(),
@@ -1384,7 +1382,6 @@ mod tests {
}],
active: Some(0),
selected: 0,
- agent_panel_scope: Default::default(),
sidebar_width: None,
sidebar_section_split: None,
collapsed_space_keys: Default::default(),
@@ -1496,7 +1493,6 @@ mod tests {
}],
active: Some(0),
selected: 0,
- agent_panel_scope: Default::default(),
sidebar_width: None,
sidebar_section_split: None,
collapsed_space_keys: Default::default(),
@@ -1687,7 +1683,6 @@ mod tests {
}],
active: Some(0),
selected: 0,
- agent_panel_scope: crate::app::state::AgentPanelScope::CurrentWorkspace,
sidebar_width: Some(26),
sidebar_section_split: Some(0.5),
collapsed_space_keys: Default::default(),
diff --git a/src/persist/snapshot.rs b/src/persist/snapshot.rs
index 765fa2b6..506a4d45 100644
--- a/src/persist/snapshot.rs
+++ b/src/persist/snapshot.rs
@@ -21,8 +21,6 @@ pub struct SessionSnapshot {
pub active: Option<usize>,
pub selected: usize,
#[serde(default)]
- pub agent_panel_scope: crate::app::state::AgentPanelScope,
- #[serde(default)]
pub sidebar_width: Option<u16>,
#[serde(default)]
pub sidebar_section_split: Option<f32>,
@@ -179,8 +177,6 @@ struct RawSessionSnapshot {
#[serde(default)]
selected: usize,
#[serde(default)]
- agent_panel_scope: crate::app::state::AgentPanelScope,
- #[serde(default)]
sidebar_width: Option<u16>,
#[serde(default)]
sidebar_section_split: Option<f32>,
@@ -198,7 +194,6 @@ fn migrate_snapshot(raw: RawSessionSnapshot) -> Result<SessionSnapshot, String>
.collect::<Result<Vec<_>, _>>()?,
active: raw.active,
selected: raw.selected,
- agent_panel_scope: raw.agent_panel_scope,
sidebar_width: raw.sidebar_width,
sidebar_section_split: raw.sidebar_section_split,
collapsed_space_keys: raw.collapsed_space_keys,
@@ -261,7 +256,6 @@ pub fn capture(
terminal_runtimes: &TerminalRuntimeRegistry,
active: Option<usize>,
selected: usize,
- agent_panel_scope: crate::app::state::AgentPanelScope,
sidebar_width: u16,
sidebar_section_split: f32,
collapsed_space_keys: std::collections::HashSet<String>,
@@ -274,7 +268,6 @@ pub fn capture(
.collect(),
active,
selected,
- agent_panel_scope,
sidebar_width: Some(sidebar_width),
sidebar_section_split: Some(sidebar_section_split),
collapsed_space_keys,
@@ -489,7 +482,7 @@ mod tests {
use ratatui::layout::{Direction, Rect};
use super::*;
- use crate::app::{state::AgentPanelScope, AppState, Mode};
+ use crate::app::{AppState, Mode};
use crate::layout::NavDirection;
use crate::workspace::Workspace;
@@ -543,7 +536,6 @@ mod tests {
terminal_runtimes,
state.active,
state.selected,
- state.agent_panel_scope,
state.sidebar_width,
state.sidebar_section_split,
state.collapsed_space_keys.clone(),
@@ -571,7 +563,6 @@ mod tests {
workspaces: vec![],
active: None,
selected: 0,
- agent_panel_scope: AgentPanelScope::CurrentWorkspace,
sidebar_width: Some(26),
sidebar_section_split: Some(0.5),
collapsed_space_keys: std::collections::HashSet::new(),
@@ -657,7 +648,6 @@ mod tests {
}],
active: Some(0),
selected: 0,
- agent_panel_scope: AgentPanelScope::CurrentWorkspace,
sidebar_width: Some(26),
sidebar_section_split: Some(0.5),
collapsed_space_keys: std::collections::HashSet::new(),
@@ -683,10 +673,6 @@ mod tests {
restored.workspaces[0].tabs[0].panes[&1].label.as_deref(),
Some("website")
);
- assert_eq!(
- restored.agent_panel_scope,
- AgentPanelScope::CurrentWorkspace
- );
assert_eq!(restored.sidebar_width, Some(26));
assert_eq!(restored.sidebar_section_split, Some(0.5));
}
@@ -699,7 +685,6 @@ mod tests {
assert_eq!(snap.workspaces.len(), 2);
assert_eq!(snap.active, Some(0));
assert_eq!(snap.selected, 0);
- assert_eq!(snap.agent_panel_scope, AgentPanelScope::AllWorkspaces);
assert_eq!(snap.sidebar_width, None);
assert_eq!(snap.sidebar_section_split, None);
assert_eq!(snap.workspaces[0].tabs.len(), 2);
@@ -715,14 +700,13 @@ mod tests {
assert_eq!(snap.version, 3);
assert_eq!(snap.workspaces.len(), 2);
- assert_eq!(snap.agent_panel_scope, AgentPanelScope::CurrentWorkspace);
assert_eq!(snap.sidebar_section_split, Some(0.4));
assert_eq!(snap.workspaces[0].active_tab, 1);
assert_eq!(snap.workspaces[1].tabs[0].panes.len(), 2);
}
#[test]
- fn old_snapshot_defaults_agent_panel_scope() {
+ fn old_snapshot_defaults_sidebar_fields() {
let json = serde_json::json!({
"version": SNAPSHOT_VERSION,
"workspaces": [],
@@ -733,7 +717,6 @@ mod tests {
let restored = parse_snapshot(&json).unwrap();
- assert_eq!(restored.agent_panel_scope, AgentPanelScope::AllWorkspaces);
assert_eq!(restored.sidebar_width, None);
assert_eq!(restored.sidebar_section_split, None);
}
@@ -847,13 +830,11 @@ mod tests {
let mut state = state_with_workspaces(&["one"]);
state.sidebar_width = 31;
state.sidebar_section_split = 0.4;
- state.agent_panel_scope = AgentPanelScope::AllWorkspaces;
state.collapsed_space_keys.insert("repo-key".into());
let snapshot = capture_from_state(&state);
assert_eq!(snapshot.sidebar_width, Some(31));
assert_eq!(snapshot.sidebar_section_split, Some(0.4));
- assert_eq!(snapshot.agent_panel_scope, AgentPanelScope::AllWorkspaces);
assert!(snapshot.collapsed_space_keys.contains("repo-key"));
}
@@ -1222,7 +1203,6 @@ mod tests {
}],
active: Some(0),
selected: 0,
- agent_panel_scope: AgentPanelScope::CurrentWorkspace,
sidebar_width: Some(26),
sidebar_section_split: Some(0.5),
collapsed_space_keys: std::collections::HashSet::new(),