Skip to content

v0.2.0

Choose a tag to compare

@mojiexuan mojiexuan released this 16 Aug 15:54
· 7 commits to main since this release

v0.2.0

Commit-history graph fully rewritten: lane topology is now computed client-side, with paged loading and virtual scrolling for long histories, a cleaner look, and several connection/refresh fixes.

提交历史图全面重写:车道拓扑改在前端计算,支持分页加载虚拟滚动,长历史性能更好、图形更美观,并修复了多处连线与刷新问题。

New / Improved 新增 / 改进

  • Paged commit history — scroll to the bottom to load the next page instead of truncating long histories (500 commits per page by default).
    提交历史分页加载:滚动到底自动加载下一页,不再一次性截断长历史(默认每页 500 条)。
  • Client-side lane topology — no longer parses git --graph ANSI output; handles merges, branches, and even criss-cross merges correctly.
    前端自绘 lane 拓扑:不再依赖 git --graph 的 ANSI 解析,能正确处理合并、分支,甚至交叉合并(criss-cross)等复杂场景。
  • Cleaner graph — rounded bezier bends plus a soft palette; lane pitch shrinks as the branch count grows, so commit text is never pushed off the edge.
    更美观的图:圆角贝塞尔曲线 + 柔和调色板;车道间距随分支数量自适应收缩,分支再多也不会把提交文字挤出屏幕。
  • Viewport-clamped hover card — the commit detail popover stays inside the viewport instead of overflowing at the top/bottom.
    悬停卡片防越界:悬停提交时弹出的详情卡片自动夹紧在视口内,不再上下溢出。
  • Smarter auto-refresh — incremental updates while the graph is expanded: new commits appear smoothly, remote refs (e.g. origin/main) move correctly after push, and the swap is atomic so it never flickers.
    自动刷新增强:历史图展开后定时增量更新——新提交平滑出现、push 后远程分支引用(origin/main 等)正确移动,且原子替换不闪烁。

Fixes 修复

  • Fixed the trunk line breaking at merge bends.
    修复合并拐弯处主干线断线的问题。
  • Fixed the dangling vertical line above a branch's latest commit.
    修复分支最新提交上方多余悬空竖线的问题。
  • Fixed wrong slanted-line colors at merge joins and the extra "tail" dragged by merged branches.
    修复合并汇合处斜线颜色错误、以及被合并分支拖出多余「尾巴」的问题。
  • Fixed slanted/vertical line overlap causing visual confusion in criss-cross merges.
    修复交叉合并时斜线与竖线重叠导致视觉错乱的问题。
  • Fixed the hover card overflowing at the viewport top/bottom.
    修复悬停卡片在视口顶部/底部越界的问题。

Upgrade 升级

dsh plugin --profile web update @mojiexuan/dsh-git

Fully restart dsh web (host bundle) and refresh the browser (client bundle).

完全重启 dsh web(host bundle),并刷新浏览器(client bundle)。