From 721ac96b90b40bfd0342cf0bf4558c6bb34a9b5c Mon Sep 17 00:00:00 2001 From: ThreeFish Date: Sat, 4 Jul 2026 15:32:36 +0800 Subject: [PATCH] =?UTF-8?q?chore(Release):=20=E6=94=B6=E6=95=9B=E5=8F=91?= =?UTF-8?q?=E5=B8=83=E6=B8=A0=E9=81=93=E4=B8=BA=20VS=20Code=20Marketplace?= =?UTF-8?q?=20=E5=8D=95=E5=B8=82=E5=9C=BA=E5=B9=B6=E5=8F=91=E5=B8=83?= =?UTF-8?q?=E6=AD=A3=E5=BC=8F=E7=89=88=200.0.11;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - ci.yml:移除 publish job 的 OpenVSX 发布步骤及对 OVSX_PAT 的依赖,发布流水线收敛为 GitHub Release + VS Code Marketplace(ENABLE_MARKETPLACE_PUBLISH 门控,rc 标签走预发布通道); - README 双语:安装渠道与发布描述同步移除 OpenVSX; - package.json:version 0.0.10 → 0.0.11(0.0.10 已被预发布通道占用,正式版按 VS Code 官方规则顺延); - 补 CHANGELOG [0.0.11]、docs/releases/v0.0.11.md(正式版 Release Note)与发布索引 v0.0.11 行。 🤖 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 --- .github/workflows/ci.yml | 18 +++------- CHANGELOG.md | 16 +++++++++ README.md | 5 ++- docs/i18n/zh-CN/README.md | 5 ++- docs/releases/README.md | 1 + docs/releases/v0.0.11.md | 75 +++++++++++++++++++++++++++++++++++++++ package.json | 2 +- 7 files changed, 101 insertions(+), 21 deletions(-) create mode 100644 docs/releases/v0.0.11.md diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7e17849..c71b75b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -69,7 +69,7 @@ jobs: - run: pnpm install --frozen-lockfile # rc tag 以 --pre-release 打包:VS Code 要求「预发布 VSIX」在打包时即标记, # 否则 publish job 的 `vsce publish --pre-release` 会报「未以 pre-release 打包」而失败。 - # 与 publish/OpenVSX 步骤同款 PRE_FLAG 判定,保证同一枚 VSIX 贯穿三渠道。 + # 与 publish 步骤同款 PRE_FLAG 判定,保证同一枚 VSIX 贯穿 GitHub Release 与 Marketplace。 - name: 打包 vsix(rc tag 自动带 --pre-release) run: | PRE_FLAG=$([[ "${GITHUB_REF_NAME}" == *rc* ]] && echo "--pre-release" || echo "") @@ -103,7 +103,7 @@ jobs: body_path: docs/releases/${{ github.ref_name }}.md fail_on_unmatched_files: true - # 发布:仅 tag 触发;OpenVSX 默认发布,VS Code Marketplace 由 ENABLE_MARKETPLACE_PUBLISH 变量门控(默认关闭);生产环境审批门 + # 发布:仅 tag 触发;发布到 VS Code Marketplace,由 ENABLE_MARKETPLACE_PUBLISH 变量门控;生产环境审批门 publish: name: Publish needs: package @@ -121,9 +121,8 @@ jobs: - uses: actions/download-artifact@v8 with: name: vsix - # VS Code Marketplace 发布:默认关闭(未配置 VSCE_PAT)。 - # 配好 VSCE_PAT 后,在仓库 Settings → Secrets and variables → Actions → Variables - # 新增 ENABLE_MARKETPLACE_PUBLISH=true 即恢复,无需改代码或发 PR。 + # VS Code Marketplace 发布:由仓库变量 ENABLE_MARKETPLACE_PUBLISH 门控(=true 时发布)。 + # 需配置 VSCE_PAT(Azure DevOps PAT,scope: Marketplace → Manage);rc tag 自动以 --pre-release 发预发布通道。 - name: 发布到 VS Code Marketplace if: ${{ vars.ENABLE_MARKETPLACE_PUBLISH == 'true' }} run: | @@ -131,12 +130,3 @@ jobs: pnpm dlx @vscode/vsce publish --packagePath *.vsix $PRE_FLAG env: VSCE_PAT: ${{ secrets.VSCE_PAT }} - # OpenVSX 不支持覆盖已存在版本:若该版本号已发布则此步报错。 - # 以 continue-on-error 隔离——不阻断 GitHub Release 产出,亦不让首发 workflow 标红。 - - name: 发布到 OpenVSX(覆盖 Cursor / Windsurf 等 AI IDE) - continue-on-error: true - run: | - PRE_FLAG=$([[ "${GITHUB_REF_NAME}" == *rc* ]] && echo "--pre-release" || echo "") - pnpm dlx ovsx publish *.vsix $PRE_FLAG - env: - OVSX_PAT: ${{ secrets.OVSX_PAT }} diff --git a/CHANGELOG.md b/CHANGELOG.md index d06f314..5123469 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,22 @@ > 面向用户的发布说明(含完整特性叙述与安装指引)见 [`docs/releases/`](./docs/releases/README.md)。 +## [0.0.11] - 2026-07-04 — 首个正式版(承载 0.0.10 内容)· 发布渠道收敛 Marketplace + +首个 VS Code Marketplace **正式发布**版本,承载 0.0.10 预发布通道(rc.1 / rc.2)已验证的全部内容——提交图更名 **Graph** 并对齐官方 Source Control GRAPH、悬浮浮层 iframe 裁剪修复、未提交角标承载迁移、README 真实性校准与中英双语;并将发布渠道收敛为 **VS Code Marketplace 单市场**。`0.0.10` 版位已被预发布通道占用,正式版按官方规则顺延至 `0.0.11`。完整用户视角叙述见 [Release Note v0.0.11](./docs/releases/v0.0.11.md)。 + +### Changed +- **发布渠道收敛为 VS Code Marketplace 单市场**:移除 CI `publish` job 的 OpenVSX 发布步骤及对 `OVSX_PAT` 的依赖,README 双语安装渠道同步移除 OpenVSX;发布流水线现为 **GitHub Release + VS Code Marketplace**(由 `ENABLE_MARKETPLACE_PUBLISH` 变量门控,`rc` 标签走预发布通道)。 +- **Log 视图更名为 Graph 并对齐官方 Source Control GRAPH**:泳道连线改三次贝塞尔平滑曲线、HEAD 空心双环高亮、引用胶囊改全圆角实心 pill 并跟随泳道色、工具栏 seg 贴近官方;命令标题 / 视图名 / aria-label 统一为 Graph(内部标识符不动,不改数据 / 协议 / 布局算法 / CI 逻辑)。(#53) + +### Fixed +- **提交 / CI 悬浮浮层被侧边栏 iframe 裁剪失效**:抽出共用 `positionFloat`(锚右侧 → 越界翻左 → 再越界收进视口)彻底修复。(#53) +- **活动栏未提交变更数角标更新不及时**:角标承载由 Commit `WebviewView` 迁至隐藏 Treeview(`hyperGit.changesBadge`,`when:false`),`activate` 即实例化、面板未打开也可靠;新增 engine 纯函数 `change-count` 作去重单一事实源。(#52) +- **发布流水线预发布打包缺陷**:`package` job 对 rc tag 补 `--pre-release` 打包,与 `vsce publish --pre-release` 对齐,修复 Marketplace 预发布 publish 失败。详见 [issue #11](./docs/.agents/issue.md)。 + +### Docs +- **README 真实性校准 + 中英双语重构**:单测计数校正为 324、移除不存在的 `ui/` 层描述、publisher 落实为 `ThreeFish-AI`;根英文、中文迁入 [`docs/i18n/zh-CN/README.md`](./docs/i18n/zh-CN/README.md)。(#51) + ## [0.0.10-rc.2] - 2026-07-04 — 修复发布流水线预发布打包缺陷 rc.1 因 CI `package` job 未以 `--pre-release` 打包,致 `publish` job 的 Marketplace 步骤报「VSIX 未以 pre-release 打包」而失败(OpenVSX 步骤随之被 skipped),三渠道仅 GitHub Release 成功、Marketplace/OpenVSX 未发出。rc.2 修复该流水线缺陷后重新走通;产品内容与 rc.1 一致。完整叙述见 [Release Note v0.0.10-rc.2](./docs/releases/v0.0.10-rc.2.md)。 diff --git a/README.md b/README.md index c135fe6..0caf9b3 100644 --- a/README.md +++ b/README.md @@ -45,8 +45,7 @@ ## Install - **Manual (recommended for now)**: download `hyper-git-agentic-git-x.x.x.vsix` from [Releases](https://github.com/ThreeFish-AI/hyper-git/releases) → run `Extensions: Install from VSIX` in the Command Palette. -- **OpenVSX** (Cursor / Windsurf / Gitpod / VSCodium): search for `Hyper Git - Agentic Git`. -- **VS Code Marketplace**: search for `Hyper Git - Agentic Git` (available once published). +- **VS Code Marketplace**: search for `Hyper Git - Agentic Git`. - **Requirements**: VS Code ≥ 1.85.0 with the built-in Git extension enabled (`vscode.git`, bundled by default). Local Git repositories only — virtual / Web workspaces are not supported. ## Known Limitations @@ -91,7 +90,7 @@ pnpm dlx @vscode/vsce publish ``` - **Layering**: `engine/` (pure logic) → `adapter/` (the sole layer touching the vscode API, including the hand-rendered `adapter/webview/` UI); `agent/` is injected into `engine/` via interfaces and never depends on the UI; `shared/protocol.ts` is the single source of truth for the Webview ↔ Host contract. -- **Release**: a `v*` tag triggers CI to produce a GitHub Release (with the `.vsix` attached; the body is drawn from [`docs/releases/`](./docs/releases/README.md)) plus OpenVSX; VS Code Marketplace publishing is gated by the `ENABLE_MARKETPLACE_PUBLISH` variable. +- **Release**: a `v*` tag triggers CI to produce a GitHub Release (with the `.vsix` attached; the body is drawn from [`docs/releases/`](./docs/releases/README.md)) and publish to the VS Code Marketplace (gated by the `ENABLE_MARKETPLACE_PUBLISH` variable; `rc` tags go to the pre-release channel). - Package management and scripts standardize on `pnpm` (per the [AGENTS.md](./AGENTS.md) engineering conventions). Version history is tracked in the [Changelog](./CHANGELOG.md). See the [documentation hub](./docs/README.md) for the full docs. --- diff --git a/docs/i18n/zh-CN/README.md b/docs/i18n/zh-CN/README.md index 30d7db4..5b90416 100644 --- a/docs/i18n/zh-CN/README.md +++ b/docs/i18n/zh-CN/README.md @@ -45,8 +45,7 @@ ## 安装 - **手动(当前推荐)**:从 [Releases](https://github.com/ThreeFish-AI/hyper-git/releases) 下载 `hyper-git-agentic-git-x.x.x.vsix` → 命令面板 `Extensions: Install from VSIX`。 -- **OpenVSX**(Cursor / Windsurf / Gitpod / VSCodium):搜索 `Hyper Git - Agentic Git`。 -- **VS Code Marketplace**:搜索 `Hyper Git - Agentic Git`(发布上线后可用)。 +- **VS Code Marketplace**:搜索 `Hyper Git - Agentic Git`。 - **要求**:VS Code ≥ 1.85.0 + 启用内置 Git 扩展(`vscode.git`,默认随附)。仅支持本地 git 仓库,不支持虚拟 / Web 工作区。 ## 已知限制 @@ -91,7 +90,7 @@ pnpm dlx @vscode/vsce publish ``` - **分层**:`engine/`(纯逻辑)→ `adapter/`(唯一接触 vscode API,含自绘 `adapter/webview/` UI);`agent/` 以接口注入 `engine`,不反向依赖 UI;`shared/protocol.ts` 为 Webview ↔ Host 契约单一事实源。 -- **发布**:`v*` 标签触发 CI 产出 GitHub Release(附 `.vsix`,正文取自 [`docs/releases/`](../../releases/README.md))+ OpenVSX;VS Code Marketplace 由 `ENABLE_MARKETPLACE_PUBLISH` 变量门控。 +- **发布**:`v*` 标签触发 CI 产出 GitHub Release(附 `.vsix`,正文取自 [`docs/releases/`](../../releases/README.md))并发布到 VS Code Marketplace(由 `ENABLE_MARKETPLACE_PUBLISH` 变量门控;`rc` 标签发预发布通道)。 - 包管理与脚本统一使用 `pnpm`(遵循 [AGENTS.md](../../../AGENTS.md) 工程规范)。版本变更记录见[变更日志](../../../CHANGELOG.md)。完整文档见[文档中心](../../README.md)。 --- diff --git a/docs/releases/README.md b/docs/releases/README.md index 069a3c8..1e4ab52 100644 --- a/docs/releases/README.md +++ b/docs/releases/README.md @@ -8,6 +8,7 @@ | 版本 | 说明 | 日期 | |---|---|---| +| [v0.0.11](./v0.0.11.md) | 首个正式版(承载 0.0.10 内容)· Graph 视图对齐官方 · 发布渠道收敛 Marketplace | 2026-07-04 | | [v0.0.9](./v0.0.9.md) | 视图整合 · UI 系统化 · 分支与 CI 增强(自 v0.0.6 全量) | 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.11.md b/docs/releases/v0.0.11.md new file mode 100644 index 0000000..7b5ff6c --- /dev/null +++ b/docs/releases/v0.0.11.md @@ -0,0 +1,75 @@ +# Hyper Git - Agentic Git v0.0.11 — 首个正式版(承载 0.0.10 内容)· 发布渠道收敛 Marketplace + +> 首个 VS Code Marketplace **正式发布**版本。承载 0.0.10 预发布通道([rc.1](./v0.0.10-rc.1.md) / [rc.2](./v0.0.10-rc.2.md))已验证的全部内容——提交图更名 **Graph** 并对齐 VS Code 官方 Source Control GRAPH 视图、悬浮浮层被侧边栏 iframe 裁剪修复、活动栏未提交数角标承载迁移、README 真实性校准与中英双语;同时将发布渠道**收敛为 VS Code Marketplace 单市场**。 + +> `0.0.10` 版位已被预发布通道占用,按 VS Code 官方规则(同一版本号不可既预发布又正式发布),正式版顺延至 `0.0.11`。 + +--- + +## ✨ 亮点速览 + +- **提交图更名 Graph 并对齐官方**:视图更名为「Graph」,泳道连线改三次贝塞尔平滑曲线、HEAD 空心双环高亮、引用胶囊改全圆角实心 pill 并跟随泳道色,整体贴近 VS Code 官方 Source Control GRAPH 视图。 +- **修复悬浮浮层失效**:提交详情 / CI 状态浮层此前被侧边栏 iframe 裁剪到视口外而不可见,现抽出统一的 `positionFloat` 定位彻底修复。 +- **修复活动栏角标不及时**:未提交变更数角标改由隐藏 TreeView 承载,无论 Commit 面板是否打开都能可靠、及时地点亮与清除。 +- **发布渠道收敛 Marketplace**:发布流水线聚焦 VS Code Marketplace 单市场,移除 OpenVSX 发布与 `OVSX_PAT` 依赖,链路更简洁可靠。 + +--- + +## 🧩 完整能力 + +### Graph 视图更名与官方对齐(原 Log 视图) +面向用户的「Log」视图更名为 **「Graph」**,并在渲染层视觉对齐 VS Code 官方 Source Control GRAPH 视图,**不改动底层数据 / 消息协议 / 布局算法 / CI 逻辑**: + +- **泳道连线**:由直线 `` 改为三次贝塞尔 `` 平滑曲线(同列 `fromCol === toCol` 时自动退化为直线)。 +- **HEAD 高亮**:当前 HEAD 行节点渲染为空心环 + 内点(双环高亮),普通行保持实心点。 +- **引用胶囊**:从 message 左侧前缀移至右侧后缀(列序 泳道图 → message → chips → author → date → CI);底色跟随本行泳道色(类型靠图标区分而非颜色),按底色亮度自适应深 / 白字保可读;由半透明小圆角矩形改为实心全圆角 pill,保留分支 / 云 / tag 内联 SVG 图标前缀。`#commit-tip` 浮层内胶囊同步同款样式。 +- **工具栏**:seg 按钮间距 / 圆角 / hover 态贴近官方。 +- **命名统一**:视图名与 Refresh / Filter / Clear Graph Filter 命令标题、CI 配置描述、aria-label 统一为 Graph;`viewType hyperGit.log`、`log/*` 消息前缀、类名等内部标识符保持不变,零协议破坏。 + +### 未提交变更数角标可靠化(承载迁移) +活动栏未提交变更数角标改由**隐藏 TreeView**(`hyperGit.changesBadge`,`when:false`)承载: + +- **承载迁移**:角标原挂在 Commit `WebviewView` 上,VS Code 在 `resolveWebviewView`(即用户至少打开过一次面板)之前无法显示 webview 角标,导致面板未打开时新变更不点亮、提交 / 撤销后不清除。改由 `activate` 阶段即实例化的隐藏 TreeView 承载,其 `badge` 无论面板是否打开都可靠聚合到容器图标。 +- **单一事实源**:新增 engine 纯函数 [`change-count`](../../src/engine/scm-mapping/change-count.ts)(`toRelKey` / `countUniqueChanges`)与 `GitRepositoryService.getChangeCount()`,`getChanges` 复用同一去重逻辑,杜绝双实现漂移。 +- **及时且高效**:角标走独立 40ms 微防抖快路径,与 150ms 重刷新解耦、合并事件风暴;释放期清理悬挂定时器。 +- **熵减**:移除 Commit webview 中的死代码(`updateBadge` / `pendingBadge`)杜绝容器求和 2× 计数;补充 change-count 单元测试锁定计数等值不变式。 + +### 发布渠道收敛 VS Code Marketplace 单市场 +- 移除 CI `publish` job 的 OpenVSX 发布步骤及对 `OVSX_PAT` 的依赖,发布链路聚焦 VS Code Marketplace;`rc` 标签自动以 `--pre-release` 发预发布通道,正式版 tag 发正式通道。 +- GitHub Release 仍随每个 `v*` 标签产出、附 `.vsix` 可本地安装,与市场发布解耦。 + +--- + +## 🐛 改进与修复 + +- **提交 / CI 悬浮浮层被侧边栏 iframe 裁剪失效**:上一阶段 (#48) 的浮层定位将横向定位改为 `left = window.innerWidth + 8`,误以为 webview `position:fixed` 可越界渲染到编辑器区;实则侧边栏 WebviewView 是沙箱 iframe,坐标系为 iframe 自身视口,该值落到右边界外被裁剪、浮层不可见。本版抽出共用 `positionFloat`(锚定触发元素右侧 → 越界则翻至左侧 → 再越界则收进视口),彻底修复。(#53) +- **发布流水线预发布打包缺陷**:`package` job 原以 `vsce package`(不带 `--pre-release`)打出正式版 VSIX,`publish` 却对 rc tag 用 `--pre-release` 发布,vsce 因「VSIX 未以 pre-release 打包」而拒绝。`package` 步骤改为与 publish 端同款 `PRE_FLAG` 判定,令同一枚 VSIX 贯穿 GitHub Release 与 Marketplace。详见 [issue #11](../.agents/issue.md)。 +- **README / 文档真实性校准**:经 3 路只读核验 + 单测实跑取证修正——移除不存在的 `ui/` 层描述、单元测试计数由 280 校正为 **324**、行级提交 CodeLens 标签校准为 "Commit this Hunk"、publisher 占位符落实为真实 `ThreeFish-AI`。(#51) +- **README 双语重构**:根 `README.md` 改写为地道英文版,中文版迁入 [`docs/i18n/zh-CN/README.md`](../i18n/zh-CN/README.md) 并互加语言切换。(#51) + +> 规模实证:**6 视图 / 97 命令 / 6 配置项 / 324 单元测试**(32 文件全绿)+ 集成测试,CI 三平台(Ubuntu / macOS / Windows)矩阵全程 GREEN。 + +--- + +## ⚙️ 升级与兼容 + +- **无破坏性变更**:Graph 更名仅为面向用户的视图名与命令标题层面调整,`viewType`、消息协议、`setState` 形状、配置项(`hyperGit.log.*` / `hyperGit.commit.*`)均保持不变,旧状态无需迁移。 +- **未新增配置项**:现有配置一律沿用。 +- **发布渠道变更**:本版起发布收敛为 VS Code Marketplace 单市场;此前预发布的 `0.0.10`(Marketplace 预发布通道)为同源内容。 + +--- + +## 📦 安装 + +- **VS Code Marketplace**:搜索 `Hyper Git - Agentic Git` 直接安装。 +- **手动**:从 [Releases](https://github.com/ThreeFish-AI/hyper-git/releases/tag/v0.0.11) 下载 `hyper-git-agentic-git-0.0.11.vsix` → 命令面板 `Extensions: Install from VSIX`。 + +**系统要求**:VS Code ≥ 1.85.0,且启用内置 Git 扩展(`vscode.git`,默认随附)。仅支持本地 git 仓库,不支持虚拟 / Web 工作区。 + +--- + +## 💬 反馈 + +欢迎在 [GitHub Issues](https://github.com/ThreeFish-AI/hyper-git/issues) 反馈问题与建议。完整工程视角变更记录见 [CHANGELOG](../../CHANGELOG.md)。 + +许可证:[MIT](https://github.com/ThreeFish-AI/hyper-git/blob/master/LICENSE)。 diff --git a/package.json b/package.json index e4c9b80..96c0fe1 100644 --- a/package.json +++ b/package.json @@ -7,7 +7,7 @@ "theme": "dark" }, "description": "Hyper Git brings IntelliJ IDEA's powerful Git & Commit modules to VS Code, enhanced with AI-powered autonomous agents for intelligent repository management. Experience Git in a higher dimension.", - "version": "0.0.10", + "version": "0.0.11", "publisher": "ThreeFish-AI", "license": "MIT", "preview": true,