From 7ba19ce6cb9ca052656548cb51ebce5efc083bc6 Mon Sep 17 00:00:00 2001 From: ThreeFish Date: Sat, 4 Jul 2026 01:23:35 +0800 Subject: [PATCH 1/3] =?UTF-8?q?chore(Release):=20=E7=89=88=E6=9C=AC?= =?UTF-8?q?=E5=8F=B7=20bump=20=E8=87=B3=200.0.9-rc.1=EF=BC=8C=E8=A1=A5=20R?= =?UTF-8?q?elease=20Note=20=E4=B8=8E=20CHANGELOG;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 0.0.9 候选版(RC1),收敛本次 Commit/Log 视图重构三特性与两处评审修复: - 视图整合:移除 CHANGES 树,能力(文件 Diff/右键菜单/changelist 切换管理/工具栏/角标)零回归平移入 Commit webview。 - 文件列表目录树切换:新增 engine/tree/file-tree.ts(compact 折叠 + 数字感知稳定排序 + fileIndex 回指),Commit/Log 两视图平铺↔树形切换。 - Log 提交悬浮详情:LOG_GRAPH_FORMAT 扩 %cn/%cI/%b,浮层与 CI 互斥、滚动消隐、i/Esc 键控。 - 修复:提交浮层 mouseleave 复位 overCtRow 防卡死;capBody 改 Array.from 按码点截断防代理对劈开。 - CHANGELOG:原「[0.0.7] - 未发布」段(0.0.7/0.0.8 从未对外发布)合并改名为「[0.0.9-rc.1] - 2026-07-04」并补本次修复。 - Release Note:新增 docs/releases/v0.0.9-rc.1.md(CI body_path 闸门),同步 releases 索引与 knowledge-map。 🤖 Generated with [Claude Code](https://github.com/claude), [CodeX](https://openai.com), [Gemini](https://github.com/apps/gemini-code-assist) Co-Authored-By: Aurelius Huang --- CHANGELOG.md | 5 ++- docs/.agents/knowledge-map.md | 2 +- docs/releases/README.md | 1 + docs/releases/v0.0.9-rc.1.md | 69 +++++++++++++++++++++++++++++++++++ package.json | 2 +- 5 files changed, 76 insertions(+), 3 deletions(-) create mode 100644 docs/releases/v0.0.9-rc.1.md diff --git a/CHANGELOG.md b/CHANGELOG.md index 6e987bf..612a4e1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,7 +4,7 @@ > 面向用户的发布说明(含完整特性叙述与安装指引)见 [`docs/releases/`](./docs/releases/README.md)。 -## [0.0.7] - 未发布 +## [0.0.9-rc.1] - 2026-07-04 — 0.0.9 候选版 ### Added - **变更文件目录树切换**:Commit 视图活动 Changelist 文件列表、Log 视图选中提交的变更文件列表均支持「平铺 / 按目录分组(Group by Directory)」两态切换(工具栏 List/Tree 段控),偏好按视图 `webview.setState` 记忆。目录树由纯逻辑 [`engine/tree/file-tree.buildFileTree`](./src/engine/tree/file-tree.ts) host 侧构建随 payload 下发(复用 graph-layout「host 算、webview 渲」范式,规避内联脚本无法 import engine 的 Split-Brain),叶子以 `fileIndex` 回指扁平列表;支持单目录子链折叠(对齐 VS Code `explorer.compactFolders`);Commit 树形附目录级三态复选框。详见 [变更文件目录树](./docs/features/file-list-group-by-directory.md)。 @@ -19,6 +19,8 @@ ### Fixed - 修复 `vsce package` 打包因 ESLint `no-useless-assignment` 阻断:`engine/ci/remote-parser.ts` 中 `host`/`path` 的空串初值为 dead store(`hasScheme` 真假两分支均无条件重赋、解析失败处先 `return null`),改为带类型标注的纯声明消除,由 TS 确定赋值分析接管,运行时行为不变。 +- 修复 Log 提交悬浮浮层「行→浮层→空白」后卡死不消失:`commitTipEl.mouseleave` 未复位 `overCtRow`,致 `scheduleHideCommit` 的 `!overCtRow && !overCt` 守卫恒不成立;在 `mouseleave` 一并复位 `overCtRow` 修复。 +- 修复 `capBody` 截断劈开 Unicode 代理对:`String.prototype.slice(0, BODY_CAP)` 按 UTF-16 码元计数,2000 边界落在 emoji 代理对中间会留下孤立高代理位(渲染为 `�`);改用 `Array.from(t).slice(0, BODY_CAP).join('')` 按码点截断。 ## [0.0.6] - 2026-06-30 — 首个 MVP 正式版 @@ -83,4 +85,5 @@ - 目录 / folder diff(虚拟文档)、Submodules 管理。 - M5 AI Agent(5 个接缝已预埋 Null 实现,本版未启动)。 +[0.0.9-rc.1]: https://github.com/ThreeFish-AI/hyper-git/releases/tag/v0.0.9-rc.1 [0.0.6]: https://github.com/ThreeFish-AI/hyper-git/releases/tag/v0.0.6 diff --git a/docs/.agents/knowledge-map.md b/docs/.agents/knowledge-map.md index 17f6384..73420be 100644 --- a/docs/.agents/knowledge-map.md +++ b/docs/.agents/knowledge-map.md @@ -24,7 +24,7 @@ - [工程实施方案](../docs/architecture/engineering-plan.md) — 路径 B 架构 + M0-M5 里程碑(**开发蓝图**)。 - [Git 功能矩阵](../docs/requirements/idea-feature-matrix.md) — 56 功能点 / 8 组(**验收基线**,参考 IDEA 等成熟实现)。 - [调研报告](../docs/research/README.md) — SCM 集成 / 工程蓝图 / 发布 CI / AI 接缝四路循证报告。 -- [发布说明](../releases/README.md) — 各正式版 Release Notes(GitHub Release 正文单一事实源;最新 [v0.0.6](../releases/v0.0.6.md))。 +- [发布说明](../releases/README.md) — 各正式版 Release Notes(GitHub Release 正文单一事实源;最新 [v0.0.9-rc.1](../releases/v0.0.9-rc.1.md))。 ## 架构分层(src/) > 依赖方向单向:`UI → Adapter → Engine`;`Agent` 以接口注入 `Engine`/`CommitPipeline`,不反向依赖 UI。 diff --git a/docs/releases/README.md b/docs/releases/README.md index df9ac29..9292f0a 100644 --- a/docs/releases/README.md +++ b/docs/releases/README.md @@ -8,6 +8,7 @@ | 版本 | 说明 | 日期 | |---|---|---| +| [v0.0.9-rc.1](./v0.0.9-rc.1.md) | 0.0.9 候选版(Commit/Log 视图重构 + 文件目录树 + 提交悬浮详情) | 2026-07-04 | | [v0.0.6](./v0.0.6.md) | 首个 MVP 正式版(以「Hyper Git - Agentic Git」之名上架) | 2026-06-30 | ## 相关文档 diff --git a/docs/releases/v0.0.9-rc.1.md b/docs/releases/v0.0.9-rc.1.md new file mode 100644 index 0000000..218bf44 --- /dev/null +++ b/docs/releases/v0.0.9-rc.1.md @@ -0,0 +1,69 @@ +# Hyper Git - Agentic Git v0.0.9-rc.1 — 0.0.9 候选版 + +> ⚠️ **Release Candidate**:本版本是 0.0.9 正式版的候选版(预发布),聚焦**提交/日志视图整合与可用性增强**。已通过本地类型/Lint/324 单元测试与 Extension Development Host 实测,欢迎在 [Issues](https://github.com/ThreeFish-AI/hyper-git/issues) 反馈问题;正式版将在收口反馈后发布。 + +本次迭代围绕「消除冗余、对齐全 IDE 体验」做了一次内聚重构:移除与 Commit 视图数据同源的冗余 CHANGES 树视图并把其全部能力平移入 Commit webview,同时为 Commit / Log 两个文件列表补齐 IntelliJ / VS Code SCM 同款的「按目录分组」形态,并为 Log 提交图补齐悬浮详情。侧边栏视图数由 7 降为 6,提交工作流更聚焦。 + +--- + +## ✨ 亮点速览 + +- **Commit 视图整合(移除 CHANGES)**:原 CHANGES 树的活动 Changelist 与 Commit 视图完全重复,现删除 CHANGES,文件单击看 Diff、单文件右键菜单、Changelist 切换与管理、Git 工具栏与未提交角标**零回归**平移入 Commit 视图。 +- **文件列表按目录分组**:Commit 与 Log 的变更文件列表新增 List / Tree 段控,树形按目录折叠(对齐 VS Code `explorer.compactFolders`),Commit 树附目录级三态复选框;偏好按视图记忆,切换零往返。 +- **Log 提交悬浮详情**:悬停任一提交行 ~400ms,浮层展示分支/标签/HEAD、完整提交消息(subject + body)、作者与提交者、绝对+相对时间、完整 SHA;与 CI 浮层互斥,`i` 键开 `Esc` 关。 + +--- + +## 🧩 完整能力 + +### Commit 视图整合(原 CHANGES 视图能力全量平移) +CHANGES 树视图与 Commit 视图顶部「Active Changelist」展示同一份数据(同源 `service.getChanges()` + `registry.getGroups()`),属冗余。本版本删除 CHANGES 视图,其独有能力全部迁入 Commit webview: + +- **文件交互**:活动 Changelist 文件单击打开原生 Diff(HEAD ↔ Working);右键原生 QuickPick 菜单执行 Open Diff / Move to Changelist… / Show History / Stage·Unstage Hunks… / Add to .gitignore / Discard Changes(含 discard 确认框)。 +- **Changelist 管理**:头部 `