Menghuan1918
|
936df662b0
|
test(specs): 收敛 28 个组件 spec 的渲染样板到共享 test-utils
- 7 个 spec 的本地 mount()(createRoot + act 容器循环)替换为
renderRoot():sidechat-view、subagent-jobs-view、subagent-live-polling、
lazy-chunk、side-card-section-rows(本地 mount 删除,调用点改名);
editor-refresh、markdown-manual-refresh(EditorHost 包装 mount 改为
委托 renderRoot,调用点不动)
- 24 个 spec 的内联 IS_REACT_ACT_ENVIRONMENT 赋值替换为 setupReactAct()
(subagent-jobs-view / subagent-live-polling / lazy-chunk 原本未设
flag,保持原样不引入)
全部为语义相同的样板替换:迁移后全量 118 files / 1241 passed +
9 skipped,与迁移前一致。
|
2026-09-03 12:04:35 +08:00 |
|
Menghuan1918
|
f024fbf092
|
fix(changes): 会话事件改走宿主 changes.ops 路由 + diff 展开二级设置 + 视觉迭代
CI 修复(plugin-mount 的 ctx.sessions.get TypeError ×1003):
- 客户端 runtime 无事件日志面——badge/SessionLens 原在客户端直读
ctx.sessions.get(id).events / ctx.on('session/event'),全部不可达。
- 新增宿主路由 changes.ops:live 会话日志优先,冷会话回放
sessionPersistence.inspect;afterSeq 增量(缺省游标含 seq 0,
显式游标为 seq > afterSeq,同 sidechat.events 约定),窗口上限
4000 与客户端累加器一致。
- ChangesTab 轮询(mount 一拉 + visible 2.5s 增量)折入 ops,写
模块级 opCounts 缓存供 badge 同步读取;SessionLens 改纯展示。
diff 展开二级设置(changesDiffFloat,默认浮窗):
- prefs 四处接线 + git tab settings select(浮窗/面板,图标选项卡)
- 预览面板「展开为 diff tab」按设置落点:浮窗居中弹出或源 pane
下方 split;i18n 全 21 词典同步。
视觉迭代(真机挂载截图审查后调整):
- Session 视角:kind 徽章为左轨,大小+相对时间右对齐元列;失败
操作行红色内嵌条;文件组头降为三级标签并加组间距。
- Git 视角:untracked '?' 徽章与新增同绿色;stage 按钮改 plus 图标。
- diff 折叠行:可展开折叠带 › 箭头 + 次级对比度,静态 gap 不再
显示 pointer/hover;预览头路径改尾部截断(RTL 技巧,保文件名)。
验证:typecheck ✓ / vitest 1123 ✓ / pnpm test:mount(钉 alpha.2 CLI)
14/14 ✓;真机挂载截图(badge=5、双视角、浮窗展开)0 console error。
|
2026-08-31 17:52:59 +08:00 |
|
Menghuan1918
|
24a3813c63
|
feat!: 合并 Git 面板与文件追踪为统一「文件变动」tab(双视角 + 统一 diff 栈)
在 PR #471(file-trace)基础上的演进:
- 合并 tab:git tab(id 保留,兼容持久化布局)升级为「文件变动」双视角
tab——Git 视角(原 GitView 全部能力:staged/unstaged/提交/历史/worktree·
子仓库选择/右键菜单/确认弹窗)+ 本轮文件视角(原 file-trace:会话事件
日志实时折叠的模型读写编辑记录,按文件分组、新增类型筛选 chips、相对
时间);file-trace tab 移除(未随任何版本发布)。
- 统一 diff 组件:新 src/client/diff/ 模块(rows.ts 引擎 + DiffRows/
DiffFiles 渲染器 + highlight.ts 语法着色)——git diff 与会话操作 diff
共用一套渲染:mod 改写配对(del-run/add-run 对半标蓝)、行内字符级
高亮(修复了旧实现旧侧失配不高亮的问题,改为行对象身份键)、上下文
hunk 折叠、git hunk 间未输出区间按行号范围生成不可展开折叠、语法着色
色相落位 diff 三色空档、+n −m 统计 chips、行底色 tint;DiffTab 改用
该栈(git diff tab 从此也有高亮)。
- 交互:两视角共用底部可拖拽预览面板(点击文件/提交/操作即预览,不再
直接开 diff tab;面板可刷新、可键盘/拖拽调高、git 目标可一键展开为
独立 diff tab);视角选择与面板高度持久化在 tab.meta;git 行 XY 徽章
按状态字母着色;选中行高亮。
- i18n:fileTrace* 十键重命名为 changes* 前缀,git 键值更新为「文件
变动」,新增 7 键(视角/筛选/面板操作),全部 21 个词典同步。
- 结构:src/client/changes/(ChangesTab/GitLens/SessionLens/DiffPane/
ops)+ src/client/diff/;GitView/DiffView/filetrace/ 删除;git 样式
从 sidebar.module.css 迁至 changes.module.css。
- 测试:builtins 8→7(git tab 承接 badge pin)、diff-rows(unified
转换/mod 配对/间隙折叠/统计)、changes-tab(壳交互 jsdom)、
diff-files-collapse(原 DiffView 折叠行为钉住)、changes-ops(原
filetrace 数据层)、git-view-worktree 迁移至 GitLens;全量 1122 通过。
- 文档:README ×2 功能矩阵合并、external-plugin-guide §4.4 与内置清单
7 tab、mount e2e 菜单标题同步。
|
2026-08-31 01:31:22 +08:00 |
|