Skip to content
← Changelog

Riffle 1.4: reviews that stay live

Version v1.4.0
Date
Type release
Author Andy Miller

Two shorthands first, spelled the way you'd say them. riffle diff reviews everything you've changed but not committed. riffle show reviews the commit you just made, and riffle show HEAD~1 the one before it. Both open the same file list beside an inline diff that riffle review opens, and both take every option it takes.

The bigger change is that a review can now stay live. riffle diff --watch, or the new Live button in the review window, keeps the file list and the diffs current as the repository changes, so edits, commits, staging and new files all appear on their own. Leave it open on a second screen beside your editor, or beside a coding agent, and watch the work land instead of reaching for refresh. Files that just changed get a dot, and your place in whatever you're reading is kept. It's available for the working tree and the staged index. A commit, branch or pull request review compares two fixed commits, so there's nothing there to watch.

Getting from a comparison to the actual file used to mean finding it yourself. Every comparison's toolbar now has three buttons, for revealing in Finder, opening in your editor, and opening a terminal, each acting in one click on the file you're looking at. The menu beside them reaches every other file the comparison is built from: both sides of a diff, all four files of a merge, either folder and the selected entry in a folder comparison, the repository and the selected file in a review. A review points at the real file in your checkout rather than the temporary copy its diff is drawn from, and anything that is a throwaway copy says so before you edit it.

Editors follow the file. A Swift file offers "Open in Xcode" and a Markdown file "Open in Zed", because Riffle uses whatever you've told macOS to open each type with, so there's nothing to configure. Open With lists everything else that can open it. Terminals do need a choice, so Settings ▸ General has a picker offering the ones it finds installed, with anything else selectable from disk.

Rescanning a review also stopped losing your place. Refreshing used to jump the selection back to the top of the file list and rebuild every diff from scratch, so a rescan cost you your scroll position in whatever you were reading. It keeps the selected file now, keeps the diffs for files that didn't move, and reloads only the ones that actually changed, marking them with a dot for a few seconds so you can see what landed.

Riffle is $29.99 once, with a 14-day full-feature trial and a free tier that keeps unlimited 2-way diff forever. Get it from the Riffle page or with Homebrew: brew install --cask skulkworks/tap/riffle. Full details are in the changelog.