Skip to content

Commit 403265c

Browse files
LynricsyWineFoxDev
andcommitted
fix(dashboard): 🐛 split OMP session scanner
Co-authored-by: Wine Fox <fox@ling.plus>
1 parent 6b60783 commit 403265c

3 files changed

Lines changed: 245 additions & 88 deletions

File tree

‎packages/dashboard/src-tauri/src/bin/profile_cache_page.rs‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ fn profile_stats_components() {
106106
);
107107

108108
let t = Instant::now();
109-
let pi = pi_sessions::scan_pi_cache_session_dir();
109+
let pi = pi_sessions::scan_pi_compatible_cache_session_dir();
110110
println!(
111111
"[c] pi metadata: {:8.1}ms ({} rows)",
112112
ms(t),

‎packages/dashboard/src-tauri/src/db.rs‎

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1041,7 +1041,7 @@ pub fn load_raw_pi_cache_events(
10411041
let global_cap = limit.saturating_mul(10);
10421042
let mut all_rows: Vec<RawDbCacheEvent> = Vec::new();
10431043

1044-
for meta in pi_sessions::scan_pi_session_dir() {
1044+
for meta in pi_sessions::scan_pi_compatible_session_dir() {
10451045
let Some(detail) = pi_sessions::read_pi_session_detail(&meta.jsonl_path) else {
10461046
continue;
10471047
};
@@ -1443,10 +1443,11 @@ fn build_db_cache_events_with_attribution(
14431443
if !pi_sessions_in_window.is_empty() {
14441444
// Build a lookup of Pi session_id -> jsonl path so we don't re-scan
14451445
// the directory per session.
1446-
let pi_meta_by_id: HashMap<String, std::path::PathBuf> = pi_sessions::scan_pi_session_dir()
1447-
.into_iter()
1448-
.map(|m| (m.session_id, m.jsonl_path))
1449-
.collect();
1446+
let pi_meta_by_id: HashMap<String, std::path::PathBuf> =
1447+
pi_sessions::scan_pi_compatible_session_dir()
1448+
.into_iter()
1449+
.map(|m| (m.session_id, m.jsonl_path))
1450+
.collect();
14501451
for sid in pi_sessions_in_window {
14511452
let Some(path) = pi_meta_by_id.get(&sid) else {
14521453
continue;
@@ -2168,7 +2169,7 @@ pub fn load_cache_session_titles(
21682169
}
21692170
}
21702171

2171-
for meta in pi_sessions::scan_pi_session_dir() {
2172+
for meta in pi_sessions::scan_pi_compatible_session_dir() {
21722173
let key = (Harness::Pi, meta.session_id.clone());
21732174
if keys.contains(&key) {
21742175
titles.insert(key, clean_pi_title(meta.session_name, &meta.first_message));
@@ -2246,7 +2247,7 @@ pub fn get_session_cache_stats_from_db(
22462247
});
22472248
let pi = scope.spawn(|| {
22482249
if includes_harness(Harness::Pi) {
2249-
pi_sessions::scan_pi_cache_session_dir()
2250+
pi_sessions::scan_pi_compatible_cache_session_dir()
22502251
} else {
22512252
Vec::new()
22522253
}
@@ -2804,7 +2805,7 @@ fn mapped_session_directories(identities: &SessionIdentityMap) -> Vec<(String, S
28042805
}
28052806
}
28062807

2807-
for meta in pi_sessions::scan_pi_session_dir() {
2808+
for meta in pi_sessions::scan_pi_compatible_session_dir() {
28082809
if meta.cwd.is_empty() {
28092810
continue;
28102811
}
@@ -2920,7 +2921,7 @@ fn enumerate_projects_filtered(project_paths_filter: Option<&HashSet<String>>) -
29202921
}
29212922

29222923
let mut pi_counts: HashMap<String, (String, u32)> = HashMap::new();
2923-
for meta in pi_sessions::scan_pi_session_dir() {
2924+
for meta in pi_sessions::scan_pi_compatible_session_dir() {
29242925
if let Some(allowed_paths) = project_paths_filter {
29252926
if !allowed_paths.contains(&meta.cwd) {
29262927
continue;
@@ -4655,7 +4656,7 @@ pub fn list_pi_sessions(filter: &SessionFilter) -> Vec<SessionRow> {
46554656
}
46564657
let subagent_map = load_subagent_map_for_harness(Harness::Pi);
46574658
let session_identities = load_session_identity_map();
4658-
pi_sessions::scan_pi_session_dir()
4659+
pi_sessions::scan_pi_compatible_session_dir()
46594660
.into_iter()
46604661
.map(|meta| {
46614662
let project_identity =

0 commit comments

Comments
 (0)