Skip to content

chore(release): 同步 v0.0.17 至 master —— Log 提交详情常驻面板 · VS Code 1.136 最佳实践对齐 - #118

Merged
ThreeFish-AI merged 6 commits into
masterfrom
feature/1.x.x
Sep 9, 2026
Merged

chore(release): 同步 v0.0.17 至 master —— Log 提交详情常驻面板 · VS Code 1.136 最佳实践对齐#118
ThreeFish-AI merged 6 commits into
masterfrom
feature/1.x.x

Conversation

@ThreeFish-AI

Copy link
Copy Markdown
Owner

变更说明

延续 PR #114 模式,将 feature/1.x.x(已发布 v0.0.17,tag 89a23cb,PR #117)同步至 master

本次同步内容(v0.0.16 发布后 feature/1.x.x 上的全部积累):

发布状态

  • ✅ CI tag 流水线(run 34372270323)全绿:Publish + GitHub Release 均成功
  • ✅ Marketplace 已发布 v0.0.17(Published ThreeFish-AI.hyper-git-agentic-git v0.0.17.

🤖 Generated with Claude Code, CodeX, Gemini

ThreeFish-AI and others added 6 commits September 9, 2026 20:26
* feat(Log): 提交详情由悬停浮层改为右侧常驻面板;

- Graph webview 内水平分栏(#main = 图区 + #commit-panel):点击提交行于图右侧打开详情面板,上半区 Changed Files(List/Tree 切换、点击开 Diff),下半区提交信息(作者/时间、HEAD/分支/远程/标签引用分组、完整消息、提交者、统计、SHA、Open on GitHub),替代原 #commit-tip 悬停浮层与底部 Changed Files 区;
- 面板可见性 ⟺ 选中态:× / Esc 取消选中即收起,焦点回落图区;选中行随 graphData 消失自动收起,webview 重载/切库按仓库记忆恢复(state v2 零迁移);
- host 侧 log/selectCommit 一次并行触达文件 + 详情两路取数(沿用切库竞态守卫);log/commitDetail 回包增 forHash 回显,失败回包非静默(Details unavailable 占位,同 hash 重点击可重试);移除浮层专用 log/showCommitDetail 消息与编辑器区面板遗留死类型;
- 移除 i 快捷键(随浮层消亡),Escape 语义改为取消选中;CI 浮层/虚拟滚动/过滤/右键菜单等既有交互零改动;
- 文档:新增 docs/features/log-commit-detail-panel.md(布局/数据流 Mermaid + 边缘 Case),移除 log-commit-tooltip.md,同步知识索引/文档中心/CHANGELOG;

🤖 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<threefish.ai@gmail.com>

* fix(Log): 详情面板收起守卫补可见性校验、窄视图分栏自动降级;

- 可见性不变式失效修复:deselectRow() 原仅按 selectedHash === null 早退,而 log/graphData 解析出「无选中」时(切到无记忆选中的仓库)该值本已为 null,守卫直接早退致上一仓库面板连内容一起残留——点击文件会以旧 hash 向新仓库发 log/openFile,切库若发生在 Loading 期间两区永久停在 Loading;守卫改为同时校验选中态与面板可见性,保持幂等;
- 图区零宽修复:#commit-panel 的 min-width: 280px 不可收缩,而 #viewport 为 flex: 1 + min-width: 0,视图约 300px 宽时提交图被压至 0px(面板移至侧边栏为常见场景);新增 #main.stacked 降级——宽度 < 560px 切上下堆叠(面板 45%、图区保 55%),观察 #main 而非 #viewport 以杜绝「开面板→变窄→堆叠→变宽」反馈环;
- 验证:check-types / lint / 403 单测全绿;离屏夹具(抽取真实 CSS 与 webview 脚本、桩掉 acquireVsCodeApi)实测——1200/640/560px 保持左右分栏,480/320/280px 降级堆叠且图区恒满宽(原 280px 处为 0px)、横向无溢出;状态机六步序列(选中→切库→迟到 null 回包→切回→取消→重复取消)面板可见性与选中态始终同步;
- 文档:docs/features/log-commit-detail-panel.md 补降级分支 Mermaid、不变式守卫语义、两条边缘 Case 与实测数据表,CHANGELOG 同步;

🤖 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<threefish.ai@gmail.com>

* feat(Log): 视图控件上移标题栏、三区分割线可拖拽、再次点击取反面板;

- 工具栏整体上移 VS Code 原生标题栏(省一整行竖直空间):scope(All/Current/Checkpoints)改 $(layers) 图标下拉子菜单(toggled 勾选、默认 All、置于 Refresh Graph 左侧);List ⇄ Tree 改 $(list-tree)/$(list-flat) 互斥图标(同 Branches 分组切换范式,文案适配);多仓库「切换仓库」$(repo) 与 CI「登录 GitHub」$(sign-in) 按钮条件显隐;仓库路径常驻 WebviewView.description 副标题(标题同行右侧);
- scope / dmode 事实源移交 host:workspaceState 按仓库持久化(hyperGit.log.scope:<repo> / hyperGit.log.dmode:<repo>,同 branchesGrouping 范式)+ context key 驱动标题栏勾选/显隐;dmode 经 LogGraphState 与 log/detailMode 定向下发(免整图重拉);原 webview state 旧偏好一次性重置为默认(选中/目录折叠不受影响),移除 log/setScope、log/selectRepo、log/ciSignIn 消息;
- 三区两根 gutter 可拖拽:图 ⇄ 面板(横向面板 ≥200px 且图区 ≥280px、纵向 18%–75%)与 Changed Files ⇄ Commit 信息(15%–85%),pointer capture 实时调比例、松手按仓库持久化(panelPct/detailPct),role=separator 键盘可达(方向键 ±2%、Home/End 归边界),面板收起时主 gutter 隐藏;
- 再次点击已选中的提交行 = 反向操作收起面板:300ms 内双击第二击豁免(保留「双击即打开」语义、无开合抖动),方向键/Home/End 边界防抖早退不误触,取数失败态(metaFailHash)例外放行重试;
- 验证:check-types / lint / 403 单测 / esbuild 全绿;离屏夹具(真实 CSS + webview 脚本)复验——工具栏 DOM 零残留、真实鼠标拖拽主 gutter 150px 面板 462→614px 且 panelPct=0.5582 入库、meta gutter 275→357px 且 detailPct=0.714、极限钳制 200px/280px、键盘 ±2%、堆叠态双向拖拽、再次点击取反与双击豁免、log/detailMode 与 graphData.dmode 驱动 Tree 渲染;
- 文档:log-commit-detail-panel.md 重写布局/交互/边缘 Case/实测数据,同步 file-list-group-by-directory、log-ci-status、multi-root-repo-selection、知识索引与 CHANGELOG;

🤖 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<threefish.ai@gmail.com>
🤖 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<threefish.ai@gmail.com>
🤖 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<threefish.ai@gmail.com>
* fix(Webview): 消息通道复用、reword 编辑器环境与面板序列化恢复;

- merge/rebase 面板脚本回调内重复调用 acquireVsCodeApi()(每 webview 仅允许一次)改为顶部获取后全程复用,修复 merge「保存→拒绝确认→取消」路径取消失效的问题;
- reword 的 GIT_EDITOR 经 process.execPath(扩展宿主内为 Electron 二进制)运行,补 ELECTRON_RUN_AS_NODE=1 防止拉起新编辑器进程;
- rebase/merge 两个 retainContextWhenHidden 面板补 registerWebviewPanelSerializer:窗口 reload 后 rebase 按 webview state(base + 用户编辑后的 todo 行序/action/subject)恢复,merge 按 filePath 重拉三阶段冲突数据恢复,无有效 state 时渲染过期占位页;
- 面板 onDidReceiveMessage 订阅随 onDidDispose 释放;
- 抽公共 getNonce(randomUUID hex)替代各 webview 内联 nonce 生成,本批迁移 merge/rebase。

🤖 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<threefish.ai@gmail.com>

* fix(Commit): 提交草稿与选项状态持久化;

- Webview state v2 升 v3:byRepo 分区新增 draft(message + amend/signoff/skipHooks),视图隐藏销毁或窗口 reload 后草稿可恢复,对齐内置 SCM 输入框草稿语义;
- 草稿在输入/勾选变更时即时落盘(saveState 从 DOM 现值取数),彻底消除 200ms debounce 尾丢与模板重灌覆盖问题;
- 草稿回灌仅两时机(webview 重建首帧 / 活跃仓库切换),且先于 reconcileChecked 执行,避免 state 推送往返中覆盖当前编辑内容;
- 提交成功清空草稿(失败保留供重试);最近消息 chip 应用与模板注入同步入草稿;
- 旧版 state(v2 byRepo / v1 平铺)无感升级;nonce 生成迁移至公共 getNonce。

🤖 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<threefish.ai@gmail.com>

* fix(Graph): 泳道色随主题热切换重算与编辑器注解生命周期;

- Graph 泳道色由启动期一次性 getComputedStyle 快照改为 MutationObserver 监听 body 属性(rAF 节流重算),深浅主题热切换后泳道色/chip 即时更新(webview 不随换主题重载,此前 JS 快照停留旧主题);
- Blame 注解:hover 改 MarkdownString.appendText(换行真实生效 + markdown 转义);订阅 onDidChangeVisibleTextEditors——split 编辑器自动补挂/卸载装饰,文档全部关闭后移出注解表(防泄漏);
- 行内提交 CodeLens:title 改 $(check) codicon(随 product icon theme 渲染);provideCodeLenses 补 CancellationToken 检查;emitter 补 dispose 并入 subscriptions;临时 patch 文件改异步 IO;
- 用户可见文案统一英文:分支/远程分支删除确认(cleanup/remote-ref)、Conventional Commits 校验提示;同步更新 ref-cleanup/ref-remote 测试断言;
- 树 tooltip 冗余赋值清理(构造器第二参即 supportThemeIcons);relativeDate 委托 engine/log/format-time.formatRelative(单一事实源,措辞对齐官方 GRAPH)。

🤖 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<threefish.ai@gmail.com>

* feat(Command): 长时操作进度反馈与诊断通道现代化;

- 新增 runWithProgress 封装:pull/push/fetch/prune/cherry-pick/revert/reset/merge 默认 ProgressLocation.Window(标题栏非阻塞,对齐内置 Git 视图),updateProject 与交互 rebase 用 Notification;只包裹用户交互完成后的 git 执行段;
- 日志通道迁移 LogOutputChannel(1.74+,自动时间戳与级别、统一日志视图):Hyper Git 运行日志懒创建 + 随扩展释放;Hyper Git Console 保留 $ git 命令誊录形态并纳入统一日志;
- execFile 透传 stderr:真实失败原因挂到错误对象并记入 Console(此前 CLI 通道失败只报通用 message,不可诊断);
- git 操作失败通知统一加 "Show Output" 动作按钮(showGitError helper),直达 Console 诊断信息;
- 4 处 modal 确认框多行正文从 message 首参迁至 MessageOptions.detail(模态框次要文字载体,对齐 VS Code 对话框规范):本地/远程分支删除、Worktree 删除与 prune。

🤖 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<threefish.ai@gmail.com>

* feat(Tree): stash/worktree 原生树视图能力与空态兜底;

- stash/worktrees 由 registerTreeDataProvider 统一改 createTreeView:canSelectMany 启用批量操作——Stash 批量 Drop(按 index 降序删除防位移错删)、Worktree 批量 Remove(main/当前打开项跳过并明示);Branches 树补 showCollapseAll;
- provider 加载失败经 TreeView.message 视图内联呈现(stash/worktree 接线 setViewMessageSink,不再静默成空树);stash label 截断移交渲染层(VS Code 树自带省略,完整内容在 tooltip);
- git 扩展不可用分支兜底:branches/stash/worktrees/shelf 注册空 provider(viewsWelcome 生效),Commit/Graph webview 渲染静态占位说明页(此前视图报 no tree view registered / 空白);
- 新建 stash/worktree/shelf 后聚焦对应视图引导定位(三视图默认隐藏);
- 同步 IO 热点清理:worktree 路径归一 realpathSync 结果记忆化(原每行渲染同步 IO);ShelfService 全量迁 fs.promises(listShelves 在 getChildren UI 请求路径,原同步 readdir/readFile 阻塞扩展宿主),迁移语义零变(零删除/零覆盖/可重试);
- 顺带完成 stash/worktree/shelf 错误通知的 Show Output 迁移(承接上一提交)。

🤖 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<threefish.ai@gmail.com>

* feat(Pick): QuickPick 分隔、模糊匹配与输入校验;

- 新增 engine/ref/ref-name.validateRefName 纯函数(git check-ref-format 的 UI 子集:空值/首尾空白/前导 -/非法字符集/../@{/.lock/点组件/斜杠规则,branch 禁 HEAD、tag 禁 #)+ 9 组单测矩阵;
- 分支/标签名输入框全部挂接即时校验(branchCreate/branchRename/tagCreate/createBranchFromCommit/createTagFromCommit/checkoutAsNew/stashBranch/worktreeAdd),非法输入内联提示无需提交后才报错;worktree 多步输入补 ignoreFocusOut(失焦不丢上下文);
- 提交选择器(cherry-pick/revert/reset/reword 等 pickCommitHash/pickResetTarget)补 matchOnDescription/matchOnDetail——输入 hash 前缀可直接命中;
- rebase base 选择与 tagCreate 目标选择插 QuickPickItemKind.Separator 分段(快捷项 ⇄ Recent Commits);
- Commit 视图文件右键菜单与 pushDialog 危险模式项统一 $(codicon) 图标(⚠ Unicode 字符移除)。

🤖 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<threefish.ai@gmail.com>

* fix(Manifest): 菜单正则锚定、能力声明与设置治理;

- 11 处 viewItem =~ 正则补 ^…$ 锚定:未锚定正则误匹配 contextValue 前缀(hyperGit.branchFolder 命中 /hyperGit.branch|…/ 导致分支树文件夹行出现 Checkout/Merge/Rebase 等菜单),worktrees 同理;
- 补 extensionKind: workspace(依赖本地 git,防止远程场景误分类到 UI 侧)与 capabilities.untrustedWorkspaces: supported=false(扩展会执行 commit/push/discard,受限工作区不应照常启用);
- 11 项设置全部补 scope(commit.*/log.ci.*→resource、agent.*→window、claudeCode.executablePath→machine-overridable);
- 5 个预留设置中性化:ai.enabled 与 agent.* 描述明确标注 Reserved(当前版本无效果),agent 偏好默认值清除个人化内容(个人签名/提交规约/mcp__conductor__* 引用不再分发给所有用户);
- commandPalette 补 when 限定:log.scope*/detailTree/detailFlat 仅 Graph 视图聚焦时可见;acceptOurs/acceptTheirs 按新增 hyperGit.hasConflicts context key 显隐(extension.ts 于刷新快路径计算冲突存在性);
- 图标语义修正:ignorePath $(eye-closed)→$(diff-ignored);rebase 相关 $(call-out)→$(arrow-right);6 个可见视图补 contextualTitle(拖出容器时标题不退化);容器 SVG 注释修正(Panel 容器而非 activity-bar);
- 新增 menus-guard 守护单测:viewItem 正则必须锚定 / 设置必须有 scope / 可见视图必须有 contextualTitle / extensionKind 与 untrustedWorkspaces 声明。

🤖 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<threefish.ai@gmail.com>

* feat(Onboarding): 入门导览与默认键位;

- 新增 walkthroughs 贡献点(Get Started with Hyper Git,5 步):打开 Panel 容器 → Commit 与 changelist → Graph 与过滤 → Branches 分组树 → Shelf/Stash/Worktrees,primary 指向 Commit 步;素材为 media/walkthrough/ 下 5 个轻量 markdown(含 command: 跳转链接,无重截图依赖);
- 新增 2 条无冲突默认键位(when 严格限定作用域):Alt+B 切换 Blame 注解(editorTextFocus)、Alt+G 打开 Graph 过滤(focusedView == hyperGit.log);Ctrl/Cmd+Enter 提交已内建于 Commit webview 消息输入框(键入态宿主键绑定不拦截,manifest 绑定无增益,不重复声明)。

🤖 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<threefish.ai@gmail.com>

* style(Webview): 共享控件令牌化与主题对比度合规;

- shared-styles 升级为全局控件基线:滚动条走 --vscode-scrollbarSlider-*(webview iframe 内 Chromium 原生滚动条与宿主主题割裂)、checkbox accent-color(--vscode-checkbox-background,深色主题不再白底黑框)、新增 .hg-select 基类(统一 dropdown token)、forced-colors 高对比回退、body 行高 1.4;
- Graph 行高/泳道列宽单源化:导出 GRAPH_ROW_H/GRAPH_LANE_W 常量,CSS 变量与内联 JS 常量同源注入(原 --hg-row: 24px 与 ROW_H=24 双源,用户调大字号时会漂移裁切);
- 字号全线 calc(var(--vscode-font-size) - Npx) 派生(四个 webview 共 25 处硬编码 px),随用户字号设置缩放;
- 高对比度主题:Graph 彩色引用 chip 改 contrastBorder 描边 + 主题前景色(!important 覆盖行内注入,消除 HC 下大面积彩色填充);
- 硬编码色清整:CI 浮层/确认框阴影 rgba(0,0,0,.35/.4) → --vscode-widget-shadow;#8b949e GitHub-dark 回退清理;monospace 泛型回退 → UI 字体;commit body 补 --vscode-sideBar-background 声明(防白闪);
- rebase select 与 commit changelist 下拉统一迁 .hg-select(原 input/dropdown token 混用);commit 最近消息 .chip 改名 .hg-chip(消除与 Graph 泳道 chip 跨文件同名冲突);commit spinner 补 prefers-reduced-motion 降频豁免;死 token 清理(--hg-radius-panel/--hg-space-3/4/6/.hg-row 类);log nonce 迁公共 getNonce(收尾);
- shared-styles 测试同步:常量与 CSS 一致性断言、控件基线断言、字号派生断言。

🤖 Generated with [Claude Code](https://github.com/claude), [CodeX](https://github.com/claude), [Gemini](https://github.com/apps/gemini-code-assist)
Co-Authored-By: Aurelius Huang<threefish.ai@gmail.com>

* a11y(Webview): 图标语义化、字母状态标记与键盘可达性;

- 文件状态点 ●(仅靠颜色区分状态,色盲不可辨)改为 M/A/U/R/D/C 字母标记:protocol 契约新增 CommitFileItem.letter,host 下发 status-decoration 的 letter,webview 着色渲染(对齐官方 SCM 角标与 Graph 面板既有形态);
- 8 处 Unicode 字符图标全部 SVG 化(跨平台字体渲染不一致且部分进读屏):▸▾ 折叠箭头 → chevron SVG(CSS rotate 表达折叠态,commit/Graph 面板两处);⋯ changelist 菜单 → ellipsis SVG;⌥ 空态占位(语义完全错误的 Option 键符号)→ git-commit 型 SVG;⇠ merge 标记 → 双父节点 graph SVG;× 关闭 → X SVG;‹› 冲突导航 → 旋转 chevron;
- 校验前缀 ✓/⚠/ℹ 与文本分离(图标字符 aria-hidden 不进读屏)+ \\uFE0E 强制文本呈现(防部分平台渲染为彩色 emoji);
- Commit 文件列表键盘可达(复刻 Graph #viewport 模式):容器 tabindex=0 role=tree,ArrowUp/Down/Home/End 移动、Enter 触发行、Escape 归还焦点;键盘焦点描边样式;
- Rebase 拖拽补键盘替代路径(WCAG 2.1.1):行内 Alt+↑/↓ 整行移动;确认层补 Escape 关闭、Tab 焦点圈禁(背景表格不可达)、关闭后焦点还原触发按钮;
- .seg 分段按钮与 .hg-chip 最近消息补 :focus-visible(此前键盘 Tab 无任何焦点指示);
- 共享 SVG 图标常量沉淀 shared-styles(ICON_CHEVRON_DOWN/ICON_CLOSE/ICON_ELLIPSIS,currentColor 随主题)。

🤖 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<threefish.ai@gmail.com>

* docs(Changelog): 记录 VS Code 最佳实践适配批次变更与 Issue 沉淀;

- CHANGELOG Unreleased 段新增 Fixed/Added/Changed/Docs 四组共 17 条目,覆盖本次 10 个批次(功能性 bug 修复、进度反馈/导览/键位/批量操作/输入校验新能力、控件主题化与设置治理、文档与 Issue 沉淀);
- issue.md 新增 #17(acquireVsCodeApi 回调内重复调用)与 #18(Commit 草稿随视图销毁丢失)两条跨上下文经验(表因/根因/处理/防范/同类影响)。

🤖 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<threefish.ai@gmail.com>

* fix(Verify): 修复对抗性验证发现的草稿跨仓泄漏与冲突 context key 恒假;

- Commit 草稿回灌改为切换/重建时无条件同步 DOM(目标仓库无草稿则清空 message 与 amend/signoff/skipHooks):原 `restoreDraft && draft` 门控在切到无草稿仓库时残留旧仓库内容,随后 saveState 从 DOM 取数将旧仓草稿持久化写入新仓分区(跨仓串扰;amend=true 泄漏最坏静默改写新仓 HEAD);清空分支同步上报 messageChanged 使宿主校验态一致;
- loadPersistedFor 的 '' 条目兜底仅限旧版 state(v1/v2 迁移语义),v3 起按仓严格隔离,杜绝无仓库会话期的草稿回灌到其他仓库;
- hyperGit.hasConflicts 改用 vscode.git 的 mergeChanges 为事实源:7 种 unmerged 状态只进该数组,getChanges 的 status 映射恒判不出冲突,原实现致 context key 恒 false、Accept Ours/Theirs 在命令面板永久隐藏;
- 两项均由四维对抗性验证工作流确认(含 DOM shim 实测复现与修复后验证)。

🤖 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<threefish.ai@gmail.com>

* fix(Review): 修复 Shelf 迁移误报失败日志与提交草稿 v3 隔离未即时生效;

- shelf: migrateLegacyShelves 异步化后补回 shelvesBase 存在性守卫,全新安装
  (从未创建过 shelf)时 readdir 不再以 ENOENT 误报 migrateLegacy:failed 污染
  Hyper Git Console("Show Output" 引导的诊断通道);
- commit: 新增 stateV3Written 标志,本会话首写 v3 state 后即关闭 '' 条目兜底——
  修复 persistedRaw.v 启动快照导致升级/全新会话内跨仓草稿回灌门未生效的问题,
  按仓隔离无需等到下一次 webview 重建。

🤖 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<threefish.ai@gmail.com>
- CHANGELOG.md:[Unreleased] 全部条目晋升为 [0.0.17] - 2026-09-09(整理结构:空 Docs 小节与 4 条错位 Changed 条目归位、合并两个 Docs 小节),[Unreleased] 重置为空;
- docs/releases/v0.0.17.md:新增面向用户的发布说明(GitHub Release 正文单一事实源,含升级兼容说明——agent 偏好默认值改空、Graph scope/List-Tree 偏好一次性重置、悬停浮层与 i 快捷键移除);
- docs/releases/README.md:版本索引表新增 v0.0.17 行;
- docs/README.md / docs/.agents/knowledge-map.md:「最新发布」指针 v0.0.16 → v0.0.17;
- package.json:version 0.0.16 → 0.0.17。

验证: pnpm run package(tsc + eslint + esbuild production)全绿。

🤖 Generated with [Claude Code](https://claude.com/claude-code), [CodeX](https://openai.com), [Gemini](https://github.com/apps/gemini-code-assist)
Co-Authored-By: Aurelius Huang<threefish.ai@gmail.com>
…7-from-1.x.x

chore(Release): 发布 v0.0.17 —— Log 提交详情常驻面板 · VS Code 1.136 最佳实践对齐
@ThreeFish-AI
ThreeFish-AI merged commit a39fa75 into master Sep 9, 2026
19 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant