GitCat v0.9.4
Highlights
A stability release fixing two bugs that could make GitCat feel broken: a UI freeze on opening a repository, and Undo silently doing nothing when you have uncommitted changes.
🐛 Fixes
- The UI no longer freezes when opening a repository. The incremental graph load streamed each batch of commits with a global Tauri event, emitted from a background thread — which holds an internal webview lock while waiting on the main thread. If the main thread was simultaneously handling one of the several IPC calls a repo-open fires (dashboard status, snapshots, watcher, bisect state), the two waited on each other forever and the whole window hung. The graph now streams over a dedicated
ipc::Channelthat doesn't take that lock, so it can't deadlock this way. (This one was pinned down by 0.9.3's new crash log plus a live stack sample.) - Undo no longer silently does nothing when the working tree is dirty. With uncommitted changes, Undo can't run (it resets the working tree), so it offered to stash → undo → put your changes back — but that prompt used a synchronous
window.confirm(), which in the packaged app can return "no" without ever showing a dialog when the UI thread is busy. So Undo just appeared dead: no dialog, no message. It now uses a reliable native dialog, and always shows a message if you decline, so it can never be silent again. - Quieter release logs. The log the app writes (
~/Library/Logs/com.jiucheng.gitcat/on macOS) was flooded with one line per internal IPC request, which drowned anything useful. Those noisy webview-internal lines are now held back, so the log stays a readable record if something goes wrong.
Full Changelog: v0.9.3...v0.9.4
See the assets below for your platform's installer.