Skip to content

Viff v0.2.0

Choose a tag to compare

@github-actions github-actions released this 05 Nov 16:35
· 35 commits to main since this release
8c3e1de

中文

Viff 0.2.0 加入网页链接、会话内撤销、Git LFS 检测与冲突上下文复制,并修复大仓库里日志卡在加载态、提交详情被分支查询拖慢的问题。

下载

重点更新

这次更新围绕日常操作的三处摩擦:把提交和分支送回浏览器、给误操作一颗后悔药、让外部 AI 更容易接手冲突;同时修掉大仓库里两个真实的等待问题。

✨ 新功能

  • 网页链接:Log 的单提交菜单与分支弹窗可以打开 GitHub、GitLab、Bitbucket、Gitea 上的提交、分支、比较与创建 PR/合并请求页面,不需要登录或令牌。
  • 撤销:⌘Z(Windows/Linux 为 Ctrl+Z)撤销本会话内最近一次本地操作,覆盖提交、Amend、merge、rebase、cherry-pick、revert、reset、检出与分支新建/删除/重命名。
  • Git LFS:检测仓库的 LFS 规则与受管文件,状态栏显示数量;本机缺少 git-lfs 时在提交面板给出安装提示。
  • Copy for AI:冲突查看器把当前冲突的结构化上下文复制到剪贴板,交给外部 AI 修改;Viff 不调用模型、不联网。

⚡ 改进

  • 提交详情先显示正文,包含该提交的分支列表随后补充,不再等分支查询完成才出内容。
  • 冲突查看器的复制动作与逐块接受共用同一份解析结果,标记不可靠时不提供复制。

🛠 修复

  • 修复大仓库中 Log 可能永久停在 Loading、提交列表为空的问题。
  • 修复提交详情在分支较多的仓库里要等待约两秒才显示的问题。

升级说明

  • 从 v0.1.x 升级:可以在应用内检查更新,也可以手动下载安装包;设置文件格式没有变化,旧设置直接沿用。
  • macOS:按机型选择 Apple Silicon 或 Intel 的 DMG,退出旧版后打开 DMG,将 Viff.app 拖入“应用程序”并替换旧版。
  • Windows:退出旧版后运行 x64 安装器;也可以解压便携 ZIP 后运行 viff.exe。
  • Windows 便携包:解压后进入新目录执行 viff.exe,不写入安装信息。
  • Debian/Ubuntu:执行 sudo apt install ./viff-v0.2.0-linux-amd64.deb。
  • Linux 便携包:解压后进入新目录执行 ./viff,并自行安装所需系统库。
  • Git 需单独安装并加入 PATH,Linux 系统库要求见发布指南。

兼容性与已知问题

  • macOS 包要求 macOS 13 及以上,Apple Silicon 与 Intel 机型均可安装;Linux 需要可用的图形会话。
  • macOS 应用使用 ad-hoc 签名,尚无 Developer ID 签名或公证;Windows 安装器尚无 Authenticode 签名,系统可能显示安全提示。
  • 撤销只在当前会话、当前仓库生效,保留最近 20 条;首次提交、reword/squash/drop、冲突后 continue、reset --soft/--mixed 的撤销不支持,也没有 redo。
  • 网页链接不登录、不调用服务 API:未知主机按 GitHub 页面布局生成地址,Bitbucket 不生成比较与创建 PR 页面,未推送的分支由服务端提示不存在。
  • Git LFS 只检测不管理:不安装 git-lfs,不执行 install、track、pull 或 push;未暂存的 LFS 指针文件不计入列表。
  • Copy for AI 只写系统剪贴板,不调用模型、不发网络请求;单块超过 200 行或 20 KB、全文超过 200 KB 时截断并注明。
  • 中英双语覆盖主要界面;Git 命令与输出、文件路径与哈希、快捷键、日志字段与诊断 issue 模板保持英文。
  • AI 生成提交说明仍默认关闭;启用后会把分支名、最近五条提交、变更文件与 diff 发送到你自己配置的端点,边界见隐私说明。
  • 应用内更新继续使用 HTTPS 与 SHA-256 校验,不做系统签名校验;下载来源是本项目 GitHub Releases。
  • 输入法、外部编辑器与各类显卡环境仍需在实际桌面环境继续验收。

仅安装来自本项目发布页且已核对校验值的文件;若系统拦截,请先确认来源,再使用系统提供的允许打开选项。

查看完整变更


English

Viff 0.2.0 adds web links, a session-wide undo, Git LFS detection and a copyable conflict context, and fixes the log hanging on its loading state and commit details waiting on a branch query in large repositories.

Downloads

Highlights

This release removes three points of friction: commits and branches go back to the browser, a mistake gets one step of recovery, and an external AI can pick up a conflict more easily. It also fixes two real waits in large repositories.

✨ New features

  • Web links: the log's commit menu and the branch popup open commit, branch, comparison and pull/merge request pages on GitHub, GitLab, Bitbucket and Gitea, without signing in or storing a token.
  • Undo: Command-Z (Control-Z on Windows and Linux) reverses the last local operation of this session, covering commit, amend, merge, rebase, cherry-pick, revert, reset, checkout, and branch create/delete/rename.
  • Git LFS: Viff reports the repository's LFS rules and managed files and shows the count in the status bar; when git-lfs is missing, the commit panel says how to install it.
  • Copy for AI: the conflict viewer copies the structured context of the current conflict for an external AI tool; Viff calls no model and opens no connection.

⚡ Improvements

  • Commit details appear first; the list of branches that contain the commit follows, instead of holding the panel until the branch query finishes.
  • The conflict viewer's copy actions use the same parse as the per-block accept controls, and are not offered when the markers are not reliable.

🛠 Fixes

  • Fixed the log sometimes staying on Loading with an empty commit list in large repositories.
  • Fixed commit details waiting about two seconds in repositories with many branches.

Upgrade instructions

  • Upgrading from v0.1.x: check for updates inside the app or download a package; the settings file format is unchanged, so existing settings carry over.
  • macOS: choose the Apple Silicon or Intel DMG, quit the old version, open the DMG, and replace Viff.app in Applications.
  • Windows: quit the old version and run the x64 installer, or extract the portable ZIP and run viff.exe.
  • Windows portable: extract the archive, enter its directory, and run viff.exe; no installation information is written.
  • Debian/Ubuntu: run sudo apt install ./viff-v0.2.0-linux-amd64.deb.
  • Linux portable: extract the archive, enter its directory, and run ./viff after installing the required system libraries.
  • Install Git separately on PATH, and check the release guide for Linux dependencies.

Compatibility and known issues

  • The macOS package requires macOS 13 or later on both Apple Silicon and Intel; Linux needs a working graphical session.
  • The macOS app is ad-hoc signed without Developer ID signing or notarization, and the Windows installer is not Authenticode signed, so the operating system may show a security prompt.
  • Undo is limited to the current session and repository, keeps the last 20 entries, and does not cover the first commit, reword/squash/drop, continue after a conflict, or reset --soft/--mixed; there is no redo.
  • Web links never sign in or call a service API: an unknown host is assumed to follow GitHub's page layout, Bitbucket comparison and pull request pages are not generated, and an unpushed branch is reported by the service.
  • Git LFS is detected, not managed: Viff does not install git-lfs or run install, track, pull or push; unstaged LFS pointer files are not counted.
  • Copy for AI writes to the system clipboard only and sends nothing; a block over 200 lines or 20 KB and the whole text over 200 KB are truncated with a note.
  • English and Simplified Chinese cover the main windows; Git commands and output, paths and hashes, shortcuts, log fields and the diagnostics issue template stay English.
  • AI commit messages remain off by default; when enabled, they send the branch name, the last five commits, the changed files and their diffs to the endpoint you configure. See the privacy guide.
  • In-app updates keep using HTTPS and SHA-256 rather than operating-system signature verification; downloads come from this project's GitHub Releases.
  • Input methods, external editors and graphics configurations still need acceptance on real desktops.

Install only files from this project's release page after checking their checksums; if blocked, verify the source before using the operating system's option to allow the app.

Full changelog

🙌 感谢贡献者

感谢 @1lck 为本次发布作出的贡献。

🙌 Contributors

Thanks to @1lck for contributing to this release.