diff --git a/server/src/handlers_v2/graph.rs b/server/src/handlers_v2/graph.rs index b237e54..f3395bd 100644 --- a/server/src/handlers_v2/graph.rs +++ b/server/src/handlers_v2/graph.rs @@ -419,7 +419,7 @@ impl McpTool for VisualizeGraphHandler { if query.is_empty() || included.contains(r.from.as_str()) || included.contains(r.to.as_str()) { included.insert(r.from.as_str()); included.insert(r.to.as_str()); - to_draw.push(r.clone()); + to_draw.push(r); } } diff --git a/server/src/handlers_v2/notes.rs b/server/src/handlers_v2/notes.rs index ab91ec1..e9348bc 100644 --- a/server/src/handlers_v2/notes.rs +++ b/server/src/handlers_v2/notes.rs @@ -254,11 +254,19 @@ impl McpTool for GenerateStandupReportHandler { .unwrap_or_default() .as_secs() .saturating_sub(req.hours_lookback * 3600); - let tasks = state.tasks.read_with(|items| items.iter().filter(|t| t.updated_at >= cutoff).cloned().collect::>()); - let changes = state.ledger.read_with(|items| items.iter().filter(|c| c.timestamp >= cutoff).cloned().collect::>()); - let summaries = state.session_summaries.read_with(|items| items.iter().filter(|s| s.namespace == req.namespace && s.timestamp >= cutoff).cloned().collect::>()); - let report = serde_json::json!({ "tasks_updated": tasks, "code_changes": changes, "session_summaries": summaries }); - Ok(report.to_string()) + + let report_str = state.tasks.read_with(|items| { + state.ledger.read_with(|changes| { + state.session_summaries.read_with(|summaries| { + let filtered_tasks: Vec<_> = items.iter().filter(|t| t.updated_at >= cutoff).collect(); + let filtered_changes: Vec<_> = changes.iter().filter(|c| c.timestamp >= cutoff).collect(); + let filtered_summaries: Vec<_> = summaries.iter().filter(|s| s.namespace == req.namespace && s.timestamp >= cutoff).collect(); + let report = serde_json::json!({ "tasks_updated": filtered_tasks, "code_changes": filtered_changes, "session_summaries": filtered_summaries }); + report.to_string() + }) + }) + }); + Ok(report_str) } } diff --git a/server/src/handlers_v2/workspaces.rs b/server/src/handlers_v2/workspaces.rs index df68dfa..d739207 100644 --- a/server/src/handlers_v2/workspaces.rs +++ b/server/src/handlers_v2/workspaces.rs @@ -151,7 +151,7 @@ impl McpTool for SearchSnippetsHandler { contains_ignore_ascii_case(&s.name, &query) || contains_ignore_ascii_case(&s.description, &query) || contains_ignore_ascii_case(&s.language, &query) - }).cloned().collect(); + }).collect(); serde_json::to_string(&results).unwrap_or_default() }); Ok(data.to_string())