Skip to content

Viff v0.4.3

Choose a tag to compare

@github-actions github-actions released this 09 Nov 06:08
· 7 commits to main since this release
04ce345

中文

Viff 0.4.3 增加通过 SSH 只读观察远程仓库,并修正欢迎页的搜索范围与变更列表的勾选保留。

下载

重点更新

这一版可以直接打开服务器上的工作区查看状态、历史与 diff(只读),同时让欢迎页搜索回到按名称匹配,并让右键已勾选的变更行保留勾选。

✨ 新功能

  • 以 ssh://host/path 只读打开 Linux/macOS 服务器上的工作区:状态、历史、diff、引用、文件树与工作树文件都来自服务器上的 Git,Viff 不向服务器写入任何内容。
  • 认证继承 ~/.ssh/config、ssh-agent 与 known_hosts,不需要在 Viff 里保存密钥;首次连接前需在终端信任主机密钥,当前不提供密码输入框。

⚡ 改进

  • 欢迎页搜索默认只按仓库名称做子串匹配,搜索框右侧的 Name / Path 可切到完整路径(子序列)匹配,用于按父目录或路径片段筛选。

🛠 修复

  • 右键已勾选的文件、目录或整组打开菜单时保留现有勾选与跨组多选,折叠节点里已勾选的文件也计入批量操作,实际作用范围与勾选状态一致。

升级说明

  • 从 v0.4.2 升级:设置文件格式未变,原有设置在升级后继续生效。
  • macOS:按机型选择 Apple Silicon 或 Intel 的 DMG,退出旧版后打开 DMG,将 Viff.app 拖入“应用程序”并替换旧版。
  • Windows:退出旧版后运行 x64 安装器。
  • Windows 便携包:解压后进入新目录执行 viff.exe,不写入安装信息。
  • Debian/Ubuntu:执行 sudo apt install ./viff-v0.4.3-linux-amd64.deb。
  • Linux 便携包:解压后进入新目录执行 ./viff,并自行安装所需系统库。
  • Git 需单独安装并加入 PATH,Linux 系统库要求见发布指南。

兼容性与已知问题

  • macOS 要求 13 或更高版本;Linux 需要可用的图形会话、渲染后端和发布指南中列出的系统库。
  • macOS 应用使用 ad-hoc 签名,未经 Developer ID 签名或公证;Windows 安装器未经 Authenticode 签名,系统可能显示安全提示。
  • 远程仓库是只读观察模式:只支持 key/agent 认证,服务器需为 Linux/macOS 并安装 Git;fetch/pull/push、暂存与提交、应用内编辑、冲突接受、终端与外部打开都不可用,文件变化依赖每 5 秒轮询 git status。
  • 应用内编辑只支持工作树中的 UTF-8 文本文件,原始文件和保存后的内容都不超过 1 MiB;历史版本、diff 与冲突仍只读,也不提供补全、多光标或自动保存。
  • Windows 和 Linux 上外部工作区文件变化可能需要最多约 30 秒才会刷新;WSL 仓库使用独立的轮询间隔。
  • Subversion 属性编辑和锁操作尚未实现;WSL 仓库的内置终端与内容搜索仍在 Windows 侧运行。

仅安装来自项目发布页且已核对校验值的文件;如遇系统拦截,请先确认来源。

查看完整变更


English

Viff 0.4.3 adds read-only observation of remote repositories over SSH, and fixes the welcome-screen search scope and change-list check retention.

Downloads

Highlights

This release lets you open a working tree on a server to read its status, history, and diffs (read-only), brings welcome-screen search back to name matching, and keeps the checks when you right-click an already checked change row.

✨ New features

  • Open a working tree on a Linux/macOS server as ssh://host/path in read-only mode: status, history, diffs, refs, the file tree, and working-tree files all come from the server's Git, and Viff writes nothing to the server.
  • Authentication follows ~/.ssh/config, ssh-agent, and known_hosts, so no key is stored in Viff; trust the host key in a terminal before the first connection, as there is no password prompt yet.

⚡ Improvements

  • Welcome-screen search now matches repository names only by default; the Name / Path switch beside the box moves to full-path (subsequence) matching for filtering by parent directory or path fragment.

🛠 Fixes

  • Right-clicking an already checked file, directory, or whole group keeps the current checks and cross-group selection, and checked files hidden inside collapsed rows still count for batch actions, so the acted-on scope matches the check state.

Upgrade instructions

  • Upgrading from v0.4.2: the settings file format is unchanged, so existing settings keep working.
  • 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.
  • Windows portable: extract the archive, enter its directory, and run viff.exe without installing.
  • Debian/Ubuntu: run sudo apt install ./viff-v0.4.3-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

  • macOS requires version 13 or later; Linux needs a working graphical session, rendering backend, and the system libraries listed in the release guide.
  • The macOS app is ad-hoc signed without Developer ID signing or notarization; the Windows installer is not Authenticode signed, so the system may show a security prompt.
  • Remote repositories are read-only observation: key/agent authentication only, and the server must run Linux/macOS with Git installed; fetch/pull/push, staging and committing, in-app editing, conflict acceptance, the terminal, and external opening are unavailable, and file changes rely on polling git status every 5 seconds.
  • In-app editing supports only UTF-8 text files in the working tree, up to 1 MiB for both the original file and the saved text; historical revisions, diffs, and conflicts stay read-only, and there is no completion, multi-cursor editing, or autosave.
  • On Windows and Linux, external working-tree file changes may take up to about 30 seconds to refresh; WSL repositories use a separate polling interval.
  • Subversion property editing and locking are not implemented; the integrated terminal and content search for WSL repositories still run on Windows.

Install only files from the project release page after checking their checksums; verify the source if the operating system blocks them.

Full changelog

🙌 感谢贡献者

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

🙌 Contributors

Thanks to @1lck and @muchenhen for contributing to this release.