Dispatch
Performance and Git UX
This filing is about performance improvements and local Git UX after
v0.1.
In the first dispatch I admitted that opening
uv
lagged, and
bun
destroyed the app. I wanted to improve rendering performance while keeping the app
open to more future features, like comments and merge conflicts.
Diffs by Pierre
So I replaced Timestream's old hunk viewer with
Diffs by Pierre.
The review panel still has split and inline modes, but the renderer
itself is Pierre's virtualized CodeView.
Diffs by Pierre showcased all the features I wanted to add in my Git client on
DiffsHub,
so I used their package instead of making my own.
File tree (Trees by Pierre)
In the file tree, displaying the changed files in a flat list made it
hard to know which files were changed, and where (some had the same name, but different
paths).
Using Trees by Pierre,
changed files are no longer a flat list. All the changes are
now displayed in a virtualized file tree, keeping the git status on each path.
Tag management
The tag manager now lives separately from the GitHub view. You can now handle tags
locally, and make new ones directly on the timeline by right-clicking on a commit.
The GitHub view now only focuses on releases, using existing tags.
Remotes management
When filing changes, you can now manage remotes directly from the review desk.
v0.1 already fetched, ff-only pulled, and pushed.
v0.2 now lets you add, rename, set the URL, or cull remotes without leaving the app.
Common remotes added are origin, upstream, and mirror, with
origin being the default remote for fetching and pushing.
What's next
- 01 Editing PRs, issues, comments
- 02 Inline review comments on the diff
- 03 Stash, blame, file history
- 04 Notification inbox
- 05 Conflict editor
- 06 Metrics telemetry (lines reviewed, # of commits, # of PRs and issues)
And even more features that I'll think of later.
Other notes
Even though v0.2 is slightly better than v0.1,
there will still be bugs and weird UX flows. I'm just making sure these features
exist first before I perfect them.
v0.2.0Available for Windows macOS Linux AppImage AGPL-3.0