|
|
aa0701a2ea
|
优化: 响应式布局走查修复(断点统一+窄屏适配)
- 统一断点: Dashboard/Ideas/Projects/ProjectDetail 的响应式断点
从 900px 改为 768px,与 AppLayout/AppSidebar 对齐(消除中间区间挤压)
- filter-bar 全局加 flex-wrap:wrap(窄屏自动换行,Ideas/Tasks/AuditLog 受益)
- IdeaDetail debate-container 窄屏双栏堆叠(@media 760px 切单列)
- modal-box min-width 改用 min(360px,90vw)(超小窗口不撑破)
- Tasks search-input 改 flex 布局(窄屏自适应宽度)
|
2026-07-03 02:35:14 +08:00 |
|
|
|
89cfbc7499
|
新增: 左侧导航支持收缩展开(手动+小窗口自动)
- 手动收缩:brand 区右侧收缩按钮,收缩后底部展开按钮
- 小窗口自动收缩:窗口宽度≤768px 自动切换为图标模式
- 状态持久化:用户偏好存 appSettings(df-sidebar-collapsed)
- 收缩态:仅显示图标,hover 显示 tooltip 文字
- 过渡动画:width/min-width 0.2s ease 平滑收缩
|
2026-07-03 02:17:26 +08:00 |
|
|
|
3d8b755229
|
重构: 前端DRY收口+后端测试类型对齐
- 新增 useToast composable: 消除 AiChat/Settings/Projects 4处 toast 重复
统一默认3000ms(Projects原4000ms为操作类提示保留参数覆盖)
- 新增 utils/json.ts parseJsonArray: 消除 parseStack/parseTags/ModuleNode
3处JSON字符串数组解析重复
- 新增 utils/html.ts escapeHtml: 消除 useMarkdown/FilePreview 2处重复
- ProjectDetail score-bar 内联三元改用 scoreTier(消除最后一处阈值硬编码)
- ConversationSidebar 删除 formatTime 透传包装(直接用 formatRelative)
- 清理死代码: parseTs/stringifyError/ErrorSink/_Unused 改私有或删除
wrapNakedDiff 改私有(无外部 import)
- ModuleNode shortPath 改名 truncatedPath(与 useToolCard.shortPath 语义不同)
|
2026-07-03 00:18:21 +08:00 |
|
|
|
249b3b9ea8
|
重构: 跨模块样式DRY收口+审批列表增强+灵感模块优化
- 全局样式收口: page-header/btn/modal/filter-bar/back-link/empty-state
等通用类从12个视图的scoped重复定义提取到global.css/components.css
- 审批列表增强: 筛选栏(状态/风险/工具搜索)+行展开查看完整参数结果
+审批耗时显示+刷新spinner+硬编码颜色全部改用CSS变量
- 灵感模块: scoreTier统一评分阈值+score-bar/assessment-badge提取全局
+statusLabelKey消除重复+i18n状态文案对齐+eval-report--muted统一空态
- Dashboard: df-panel/df-link提取全局(修scoped不渗透)+统计卡可点击跳转
+活跃项目面板只显示active状态+灵感列表按分数排序+刷新spinner
- 修复: intent.rs tool_type类型对齐(newtype)+ToolCardList补ai-btn定义
+SkillMention/ImageInput样式不渗透修复(提取全局)
|
2026-07-02 23:24:11 +08:00 |
|
|
|
eee0f06e1a
|
新增: 合并产出落回主对话(Coordinator 接线)
- agentic/mod.rs: plan_execution_enabled 时 decompose 后调用 dispatch/merge,
将合并产出以单条 assistant 消息推回主对话,emit AiCompleted 后 return
- pinned_goals_snapshot 提前初始化,coordinator 出口复用
- Batch.md: 新增 Batch 38 记录,更新 Batch 37 提交 hash
|
2026-07-02 20:19:39 +08:00 |
|
|
|
46246880b3
|
重构: String→newtype 强类型 + 工程清理
- df-types: ExecutionId/ToolCallType 从 type 别名改为 newtype 结构体
- df-ai-core: 新增 ToolType newtype / MessageStatus 枚举,
ChatMessage.status 从 Option<String> 改为 Option<MessageStatus>
- provider: is_active() 改用 MessageStatus::Active 模式匹配
- context/chat/conversation: 构造站点更新为枚举变体
- .gitignore: 添加分析脚本排除项,清理根目录临时文件
- Batch.md: 更新最新提交与新增 Batch 37 记录
|
2026-07-02 20:11:52 +08:00 |
|
|
|
b18740405c
|
修复: run_command 空路径报错 + 隧道日志洪水 + 启动残留清理
- tool_registry: run_command working_dir 空字符串 "" → None,修 Windows os error 123
- lib: tunnel subscriber 从频率压制(suppress_until)改为连接状态感知(is_connected),
断开时静默丢弃事件,重连后恢复透传,记 INFO 状态变迁(治本)
- conversation_repo: 新增 cleanup_stale_pending(),超 24h 残留 pending 标记 interrupted
- restore: 启动时先清理过期 pending 再恢复审批
- state: 实现 cleanup_orphan_pending_messages(),启动时清理对应已决/超时 tool 的
__PENDING__ 占位消息
|
2026-07-02 15:47:47 +08:00 |
|
|
|
d99a65f034
|
优化: 任务分页watcher+设置页确认弹窗复用+进展文档更新
- Tasks.vue: 补全 page/pageSize watcher,翻页触发后端查询(原翻页只改前端切片)
- Settings.vue: 自建确认弹窗替换为 ConfirmDialog 组件,删除重复 CSS
- PROGRESS.md: 更新项目速览(多Agent架构+40+工具+人设系统)
|
2026-07-02 13:27:49 +08:00 |
|
|
|
8fa3a93eec
|
修复: 用户消息气泡头像位置(MessageItem提取后scoped样式缺失)
- MessageItem.vue 提取时未带 scoped CSS,MessageList 的 scoped 样式不穿透子组件
- 补齐用户消息 flex-direction:row-reverse(头像靠右)+ 完整 scoped 样式
|
2026-07-02 13:22:32 +08:00 |
|
|
|
3f22fd3673
|
优化: i18n硬编码清扫(8文件20+处中文字符串替为i18n)
- ToolCard: 已等待 → aiTool.waitTime
- ErrorBoundary: 堆栈详情 → error.stackDetails
- TopBar: 10处硬编码(tooltip+section标签+单位) → aiChat.* keys
- FileExplorer: 4处工程操作title → fileExplorer.*
- Tasks: 快捷菜单4处 → tasks.*
- EnrichmentPanel: 取消关联 → aiChat.enrichmentDismiss
- PlanProgress: 复用已有 aiChat.conflictsPending
- WorkflowDagDisplay: 删除中文fallback(已有i18n key)
- vue-tsc + vite build 通过
|
2026-07-02 12:19:57 +08:00 |
|
|
|
34944df764
|
修复: 预存测试编译错误+快捷键绑定+批次记录同步
- df-types: augmentation 测试 5 处缺 extra 字段补齐(17 测试全绿)
- AiChat: Ctrl+N(新建对话)+Ctrl+R(重新生成)快捷键绑定(Tauri 下 preventDefault 可靠)
- Batch.md: 标记已完成项,仅剩合并产出落回主对话待接线
|
2026-07-02 12:16:55 +08:00 |
|
|
|
c3b47b5771
|
修复: 前端UI审查问题(项目状态badge+confirm替换+加载态+CSS修正)
- ProjectDetail: 加载态/不存在态 + stage badge CSS 类名修正(7个实际状态)
- Tasks: confirm()替换为useConfirm + 死代码清理 + priority CSS去重
- Knowledge: 列表加载态
- Projects: CSS变量名拼写修正(--df-mono→--df-font-mono)
- EmptyState: opacity从容器移到图标(对比度修复)
- Ideas: 5处内联style替换为modal-field class
- ProjectDetail: 删除注释stages死代码
|
2026-07-02 12:12:29 +08:00 |
|
|
|
acf0ed091d
|
重构: 前端God文件拆分(StreamRenderer+EmptyState+MentionPopover+EnrichmentPanel)
- useStreamRenderer.ts: 流式Markdown块级渲染提取为composable(220行)
- EmptyState.vue: 空状态独立组件(无provider引导+示例问题)
- MentionPopover.vue: @实体联想浮层独立组件
- EnrichmentPanel.vue: @项目enrichment预览面板独立组件
- MessageList.vue: 1386→1148行, ChatInput.vue: 1155→1007行
- AiChat进度条: completedTools计数器(AiToolCallCompleted+1,AiAgentRound重置)
- i18n: 进度条文案加已完成工具数(中英文)
|
2026-07-02 10:11:15 +08:00 |
|
|
|
54ffc868b2
|
重构: context.rs拆分(sanitize独立子模块)+架构文档节点状态同步
- context.rs(1956行)拆分为 context/mod.rs(538行)+sanitize.rs(761行)+manager_tests.rs(719行)
- sanitize 函数移至子模块,ContextManager 保留委托方法(零行为变更)
- 46个 context 测试全绿(11 sanitize + 35 manager)
- ARCHITECTURE.md: 8节点全部标记已实现,Coordinator 标记已实现
|
2026-07-02 01:33:56 +08:00 |
|
|
|
d5b0459a8a
|
新增: DockerNode+CI状态读取+模板CRUD+CIStatus面板
- DockerNode: 环境检测(docker --version)+授权+容器内执行(12个测试)
- ci_status.rs: Gitea commit status API 读取(7个测试,失败返回空不阻塞)
- CIStatus.vue: CI检查面板(通过/失败/pending 汇总+可点击跳转)
- 模板CRUD IPC: list/save/delete templates(内置只读+自定义KV持久化)
- TemplateInfo 结构体(IPC传输用)
- 零编译警告,vue-tsc+vite build 通过
|
2026-07-02 01:02:39 +08:00 |
|
|
|
f1fb8655c3
|
更新: 批次记录同步(审批策略+小程序核验完成+散项进度)
|
2026-07-02 00:21:48 +08:00 |
|
|
|
d10d7ff330
|
新增: 审批策略Persona维度(reviewer/analyst全auto+扩展点)
- should_auto_for_persona: 叠加在 classify_risk_and_auto 之上的人设维度判定
- reviewer/analyst 人设工具调用全 auto(只读工具审批无意义)
- 预留 Phase 2 工具维度扩展点(函数内加 if 分支即可)
- 零编译警告
|
2026-07-02 00:20:48 +08:00 |
|
|
|
61d3e9c148
|
新增: Reviewer仲裁+命令互斥锁+冲突解决IPC(批次C散项)
- coordinator: arbitrate_conflicts 方法(规则仲裁:成功方优先/双方成功推荐合并/都失败手动)
- coordinator: ConflictItem 加 subtask_a/subtask_b/recommendation 字段 + ConflictResolution 枚举
- command_lock.rs: CommandLockRegistry (dir+cmd首词 Semaphore 串行化,5个测试全绿)
- resolve_conflict IPC: 解决冲突→更新DB→emit AiConflictResolved 事件闭环
- 3个仲裁测试 + 5个互斥锁测试全绿
- 零编译警告
|
2026-07-02 00:17:00 +08:00 |
|
|
|
840949ad05
|
修复: 代码审查发现的安全与兼容性问题
- git_worktree: commit config 改用 --local 避免污染全局 git config
- git_worktree: merge-tree 改用旧版兼容语法(三参数替代 --write-tree)
- coordinator: executor 'static 约束加注释说明(JoinSet spawn 要求)
- coordinator: Token reserve 按层 SubTask 数累加(原固定 10k 不准确)
- coordinator: 更新结构体注释(反映当前并行实现而非 Phase 1 串行)
- 39 个测试全绿,行为零回归
|
2026-07-01 23:37:58 +08:00 |
|
|
|
3e93a2cd70
|
更新: 批次记录同步(仲裁合并+模板系统+节点补齐完成)
|
2026-07-01 23:20:46 +08:00 |
|
|
|
6e44878021
|
重构: agentic主循环拆分(提取自动压缩逻辑到context_lifecycle)
- context_lifecycle.rs: F-15自动压缩触发逻辑(maybe_auto_compress)
- title_lifecycle/knowledge_lifecycle: 文档说明(已在之前拆分到title.rs/knowledge_inject.rs)
- mod.rs从2222行降至2071行,行为零变更
- cargo check零警告通过
|
2026-07-01 23:19:34 +08:00 |
|
|
|
27b4268acb
|
新增: SubflowNode嵌套子工作流 + 3个内置模板
- SubflowNode: 加载子DagDef递归执行,深度限制防无限递归,5个测试全绿
- 内置模板: 代码审查(analyze→report→notify)
- 内置模板: Bug修复(locate→fix→verify→notify)
- 内置模板: 功能开发(design→implement→test→review→notify)
- 模板含persona分配(reviewer/analyst/coder/tester/architect)
|
2026-07-01 23:10:13 +08:00 |
|
|
|
f40287bb00
|
新增: 模板系统+工作流节点(YAML加载器+GitNode/HTTPNode/NotifyNode)
- template_loader.rs: YAML→DagDef加载器+校验(空节点/未知类型/依赖环/边引用)
- GitNode: 分支/checkout/commit/merge/push/status/log(git CLI封装)
- HTTPNode: GET/POST/PUT/DELETE(reqwest,30s超时)
- NotifyNode: 桌面通知(日志)+ Webhook(飞书/钉钉/自定义)
- 8个模板加载器测试+37个节点测试全绿
|
2026-07-01 22:45:56 +08:00 |
|
|
|
1d580dccc3
|
新增: 仲裁合并(冲突检测+ConflictResolver+reviewer仲裁基础)
- Coordinator.merge: 跳过失败SubTask+同文件冲突检测+extract_written_files
- ConflictResolver.vue: 双栏diff展示+接受A/接受B/合并/手动按钮
- i18n: 冲突相关翻译键(中英文)
- 7个merge测试全绿(含4个新增冲突检测)
|
2026-07-01 22:32:27 +08:00 |
|
|
|
9947e6c1fe
|
更新: 批次记录同步(数据层+worktree+并行执行完成)
|
2026-07-01 22:26:12 +08:00 |
|
|
|
3c9077b043
|
新增: 并行调度+Token预算池+事件协议+前端类型+编译警告清理
- Coordinator.dispatch_with_budget: JoinSet层内并行+层间串行+预算超限降级串行
- TokenBudgetPool: AtomicU64 CAS无锁并发安全,0=不限制
- 4个新事件: AiPlanCreated/AiSubTaskStatusChanged/AiMergeCompleted/AiConflictResolved
- 前端类型: PlanRecord/SubTaskRecord/ConflictRecord/PlanLayerInfo/ConflictInfo
- PlanProgress.vue: 接入真实状态+persona徽章+冲突徽章+i18n
- 编译警告全部清零(audit子模块allow+事件allow+record allow)
- Coordinator测试27个全绿(含4个Token预算+4个并行调度)
|
2026-07-01 22:25:18 +08:00 |
|
|
|
4483358f6b
|
新增: Git worktree生命周期管理(创建/提交/合并/冲突检测/清理)
- create_plan_worktree: 创建Plan级工作分支
- create_worktree: 创建SubTask专属worktree(天然文件隔离)
- commit_worktree: worktree内提交改动(含user.email兜底)
- merge_branch: merge-tree预检+merge实际合并,返回Clean/Conflict
- remove_plan_worktrees: 批量清理Plan所有worktree+分支
- 7个集成测试全绿(隔离/并行/提交/无冲突合并/冲突检测/非Git降级/清理)
- 使用真实Git+tempdir测试(参考df-execute/tests/shell.rs模式)
|
2026-07-01 21:54:30 +08:00 |
|
|
|
ae6d3d0043
|
新增: 多Agent数据层(V36迁移+3新表+Repo CRUD+7个测试全绿)
- V36: ai_plans/ai_subtasks/ai_conflicts 3 新表 + ai_messages/ai_tool_executions 加 subtask_id
- models: PlanRecord/SubTaskRecord/ConflictRecord 结构体
- PlanRepo/SubTaskRepo/ConflictRepo CRUD(insert/get/list_by_*/update_status/resolve)
- 7个 Repo 单元测试全部通过(内存 SQLite + 全迁移)
- 顺带修复 task_repo.rs 预存测试编译错误(trec_full 参数类型+缺失 await)
|
2026-07-01 21:50:16 +08:00 |
|
|
|
f4fc0feff5
|
新增: 测试落地实施方案(Rust单元+集成+vitest+E2E手动验证)
- 落地方式:Rust单元(mod tests) / Rust集成(tests目录+tempdir) / 前端vitest(需引入) / E2E手动检查清单
- 每个用例类别的文件位置和执行命令
- Mock策略:LLM闭包注入/Git真实tempdir/DB内存SQLite
- 批次验证流程:编码→cargo test→vue-tsc→vite build→手动E2E→SQL验证→提交
- CI自动化远期路径(cargo test + bun test)
|
2026-07-01 21:37:07 +08:00 |
|
|
|
6833792de2
|
新增: 后续批次测试用例设计 + 批次规划同步worktree方案
- 测试用例:8大类共70+用例(迁移/Repo/拆解/worktree/并行/仲裁/模板/CI/审批/拆分/端到端/边界)
- 批次同步:数据层+worktree+并行(12项)/仲裁+冲突UI+编译检查(10项)/模板+节点(10项)/Git-CI+DockerNode(6项)/审批政策+小程序+收尾(8项)
- INDEX注册两份设计文档
|
2026-07-01 21:30:58 +08:00 |
|
|
|
af2e085bea
|
更新: 多Agent隔离机制改用Git worktree替代自建暂存区
- 隔离:git worktree天然分支隔离,复用diff/merge/conflict能力
- 合并:git merge-tree三方合并预检+git merge实际合并到plan分支
- 冲突:四层防线(层间串行/worktree隔离/编译检查/命令互斥)
- 展示:合并产出落回主对话采用可展开单条(方案C)
- 类型:SubTaskRecord加branch字段,ConflictRecord加conflict_type
- 降级:非Git工程串行执行(无worktree隔离)
- 实施分批同步更新(含git_worktree.rs+编译检查+命令互斥锁)
|
2026-07-01 21:26:55 +08:00 |
|
|
|
583058acd6
|
新增: 多Agent并行执行与仲裁合并设计文档
- 数据模型:混合方案(messages加FK列 + Plan/SubTask/Conflict独立表)
- 并行策略:层间串行+层内并行,写SubTask降级串行,token预算池
- 上下文隔离:子Agent独立ContextManager+fork快照,合并产出落回主对话
- 事件协议:4个新事件(Plan创建/SubTask状态/合并完成/冲突解决)
- UI交互:PlanProgress发送即展示+工具卡分组+冲突徽章非阻塞
- 状态机:Plan/SubTask/Conflict各自状态流转图
- 前端类型:PlanRecord/SubTaskRecord/ConflictRecord TypeScript定义
- INDEX.md注册 + 批次记录同步明细
|
2026-07-01 17:08:46 +08:00 |
|
|
|
f04d47b09d
|
更新: 批次推进记录同步(Coordinator+audit拆分)
|
2026-07-01 14:29:53 +08:00 |
|
|
|
fa410e6843
|
重构: Coordinator 接入 agentic loop + audit 拆分(approval/record)
- audit/approval.rs: 审批门控(风险分类+自动执行+挂起审批)
- audit/record.rs: 审计记录写入+历史查询
- coordinator.rs: 移除 deprecated,正式作为 P0 骨架可用
- run_agentic_loop: plan_execution_enabled 时 Coordinator 分解意图→记录 Plan
- audit/mod.rs 从 ~500 行精简至 ~200 行(编排层)
|
2026-07-01 14:29:34 +08:00 |
|
|
|
a9ee9b1f74
|
更新: 批次推进记录同步(人设系统完成)
|
2026-07-01 13:11:15 +08:00 |
|
|
|
0a65ea2c5a
|
新增: 人设系统(P0 AgentPersona+PersonaRegistry+5内置人设)
- AgentPersona 数据结构(能力/工具白名单/prompt模板)
- PersonaRegistry 含5内置人设:coder/reviewer/architect/tester/analyst
- 按意图关键词推荐人设(review→reviewer,设计→architect等)
- 10个单元测试覆盖注册/默认/推荐/白名单/build_prompt
|
2026-07-01 13:10:16 +08:00 |
|
|
|
91d80841ea
|
新增: 多 ReAct 执行骨架(PlanExecutor 运行时门控+DAG 进度组件) - PLAN_EXECUTION_ENABLED 改为 AtomicBool 运行时开关 - 新增 set/get_plan_execution IPC 前后端通路 - 新增 PlanProgress.vue 层状执行进度展示组件 - feature flag 默认关, 翻 true 后 process_tool_calls 可并行执行同层工具
|
2026-07-01 12:59:37 +08:00 |
|
|
|
c89742cb9a
|
更新: 批次推进记录同步(搜索索引/编译警告/i18n核验/类型重构/MessageList拆分/ChatInput拆分/白名单打通)
|
2026-07-01 12:50:12 +08:00 |
|
|
|
2af24f0db8
|
新增: ScriptNode 白名单跨 crate 配置打通(IPC+OnceLock) - 新增 set_script_safety / get_script_safety IPC - ScriptNode.check_command_policy 优先读运行时配置 - 前端设置页保存时同步注入后端运行时 - 核验确认小程序心跳/文件树刷新/项目分页三项已就绪
|
2026-07-01 12:38:21 +08:00 |
|
|
|
535525c2f6
|
新增: AI Native 方向与路线图文档
- 定义 AI Native vs 传统范式的差异(人从操作者→决策者)
- 优先级矩阵:P0人设+多Agent → P1模板+Git/CI → P2审批+算法
- 明确不做方向(全自动/MCP/跨端)及理由
- Agent架构说明添加前向引用
- 注册文档到架构 INDEX
|
2026-07-01 12:34:44 +08:00 |
|
|
|
3abdfb489f
|
重构: ChatInput 拆分(提取 SkillMention+ImageInput, 1183->1155行)
- 提取 SkillMention.vue(/ 技能联想浮层+已选 chip)
- 提取 ImageInput.vue(待发送图片预览+移除)
- ChatInput 模板内联技能浮层替换为子组件
|
2026-07-01 12:27:58 +08:00 |
|
|
|
2c2b2d710e
|
重构: MessageList 拆分(提取 MessageItem+useMessageScroll, 1552->1386行)
- 提取 useMessageScroll.ts(滚动跟随/锁存/回底按钮)
- 提取 MessageItem.vue(按 role 渲染单条消息)
- 清理 MessageList.vue 中已移至子组件/ composable 的死代码
|
2026-07-01 12:21:40 +08:00 |
|
|
|
6771d396f0
|
优化: 代码质量收尾(搜索索引补全+编译警告清理+i18n核验+String替newtype)
|
2026-07-01 12:11:35 +08:00 |
|
|
|
0338210ba2
|
更新: 批次推进记录同步至 Batch 29
- 补全 Batch 14-29 全部提交记录
- 新增后续规划批次(Batch 30-34)
|
2026-07-01 11:37:42 +08:00 |
|
|
|
36ea090d9b
|
新增: 依赖图环形检测 + PNG 导出 + 任务列表真实总数
- 后端 detect_module_cycles IPC(DFS 三色标记法检测环形依赖)
- 前端环检测按钮:高亮参与环的节点(红色边框)
- 图导出 PNG(X6 toPNG 回调模式)
- 后端 count_tasks IPC + 前端 taskApi.count()
- 任务列表所有筛选/搜索/排序/翻页均拉真实 total
|
2026-07-01 11:30:19 +08:00 |
|
|
|
89912155a6
|
优化: 架构债收尾(ScriptNode 注释更新 + 双监听器核查)
- ScriptNode 白/黑名单注释清理(移除误导性'待后续',标注实际读取方式)
- 双监听器核查结论:df-data-changed 多监听器是正常 pub-sub(project store + FileExplorer + TaskDetail),非 bug
- God 文件拆分(MessageList/ChatInput)标记为独立技术债,需完整测试覆盖后推进
|
2026-07-01 01:21:46 +08:00 |
|
|
|
dd0e059365
|
新增: 依赖图增强(添加依赖弹窗 + dagre 自动布局)
- 添加依赖入口:工具栏"+ 依赖"按钮,弹窗选择源/目标工程 + 依赖类型
- dagre 层次布局替换网格布局(LR 方向,自动排布工程节点)
- 依赖边按类型着色(library/api/mq/shared/custom)
- 小地图导航 + 缩放/适应内容
|
2026-07-01 01:17:44 +08:00 |
|
|
|
bce2fea4e5
|
修复: 设置页和分离窗口渲染崩溃(TDZ + 窗口权限通配符)
- AdvancedSection clampApprovalTimeout 常量移到 reactive 之前(打包后 const 初始化顺序 TDZ)
- @/i18n 去掉对 @/stores/appSettings 的 import,改直读 localStorage
- Tauri capability 加 ai-detached-* / fe-detached-* 通配符(分离窗口 listen 权限)
|
2026-07-01 01:09:26 +08:00 |
|
|
|
3758bea0b5
|
新增: 工程依赖图数据层 + 依赖边渲染 + 小地图
- 后端 module_dependencies 表(V35 迁移)+ ModuleDependencyRepo CRUD
- IPC:add/remove/list_module_dependencies
- 前端 API 封装 + DependencyGraph 接入真实边数据
- 依赖类型颜色区分(library/api/mq/shared/custom)
- 小地图插件(MiniMap)大图概览导航
- 点击节点跳转项目详情
- 任务列表后端真分页 count_by_query 方法
|
2026-07-01 00:20:51 +08:00 |
|
|
|
3c2fa91fc6
|
优化: 任务列表后端真分页(limit/offset 下推 + count 查询)
- 后端新增 count_by_query 方法(复用 list_by_query 的 WHERE 逻辑)
- 前端 buildTaskQuery 传 limit/offset 到后端(SQL 下推分页)
- 去除前端客户端 slice(后端已分页,直接分组)
- Paginator total 用 totalTasks(当前用当前页条数,后续接 count IPC)
|
2026-07-01 00:10:41 +08:00 |
|