新增: 批次工作落地(推进链/评估闭环/事件总线/并发/加固) + 技术债清理 + 文档整理
后端: - 工作流推进链(D-03):advance_task/状态机/闸门走 df-nodes Node trait,conditions 条件引擎扩展 - 想法评估闭环:启发式评分+对抗评估,df-ideas/scoring + df-storage/idea_eval_repo + idea 前端打通 - 全局事件数据总线:df-ai/context+context_helpers+augmentation 跨模块解耦 - AI planner/plan_hint/intent:aichat B 路线并行多轮基础 - patch_file 加固(TD-03/04):读改写整体锁防 lost update,expected_hash 合约闭环 - 压缩超时兜底(F-15 卡死根治) - F-09 多会话并发:LlmConcurrency per-conv + streamingGuard 前端守护 + verify 脚本 - 知识注入 DRY/skills/audit 扩展 清理: - aichat 技术债(误报 allow/死导入/过时注释 30 项) - URGENT.md 删除(11 项加急全解决/迁 todo) - 文档整理(todo/待决策/待审查/ARCHITECTURE/INDEX + 总线/技术债审查新文档)
This commit is contained in:
@@ -33,18 +33,23 @@ fn default_priority() -> i32 {
|
||||
/// 列出未删除任务(deleted_at IS NULL),可按 project_id 过滤。
|
||||
///
|
||||
/// 软删对标 projects:默认过滤回收站(语义与 list_projects 一致)。
|
||||
/// 无 project_id 时调 list_active(WHERE deleted_at IS NULL);有 project_id 时
|
||||
/// 先 list_active 再内存过滤 project_id(任务量小,无需 SQL 下推,避免新增专用查询方法)。
|
||||
/// 有 project_id 时走 list_active_by_project(SQL 下推 WHERE deleted_at IS NULL AND
|
||||
/// project_id = ?,避免旧 list_active 全表扫 + 内存 retain 的 N×M 热点);
|
||||
/// 无 project_id 时 fallback list_active(列全部未删任务)。
|
||||
/// 注意:不能用通用 query 宏——它不带 deleted_at 过滤,会把回收站任务也返回。
|
||||
#[tauri::command]
|
||||
pub async fn list_tasks(
|
||||
state: State<'_, AppState>,
|
||||
project_id: Option<String>,
|
||||
) -> Result<Vec<TaskRecord>, String> {
|
||||
let mut tasks = state.tasks.list_active().await.map_err(err_str)?;
|
||||
if let Some(pid) = project_id {
|
||||
tasks.retain(|t| t.project_id == pid);
|
||||
}
|
||||
let tasks = match project_id {
|
||||
Some(pid) => state
|
||||
.tasks
|
||||
.list_active_by_project(&pid)
|
||||
.await
|
||||
.map_err(err_str)?,
|
||||
None => state.tasks.list_active().await.map_err(err_str)?,
|
||||
};
|
||||
Ok(tasks)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user