Michael Müller
09 Oct, 2024

Improved User Interface For GitHub App

We added many quality of life improvements to our GitHub App. This includes an improved minimap, a thread list that lets you jump to a thread in the diff, a collapsible sidebar and more.

We just revamped the user interface of our GitHub App to make reviewing pull requests with our programming language aware diff simpler and more efficient. This blog post gives an overview of the changes to help you get the most out of it.

Marking files as reviewed

When reviewing code, you often need to jump between files to get the full picture. This requires keeping in mind which files you have already reviewed or you may end up reviewing a piece of code multiple times.

To help you with this, you can now mark files as reviewed. Simply check or uncheck the box that appears when hovering over a file. This information is only visible to you, so multiple reviewers all have their own review status.

Mark Reviewed

Thread List

It is easy to lose track of review comments when working with large pull requests. The discussion page provides very little code context, and manually clicking through all the files is a bit error-prone, and you might miss a comment.

To make things easier, we added a Threads tab, which lists all the review threads for the currently selected commit (or all changes) next to the code. Just click on a thread’s preview to jump directly to that location in the code. You can also see whether a thread is marked as pending (or has pending comments), whether it has been resolved, and how many replies it has.

Thread List

New Minimap

Our SemanticDiff GitHub App has had a minimap since its initial release, but it was limited to showing which parts of the file were added or removed.

This update brings a new minimap that is a true thumbnail of the changes, including a rendering of the code. This should help you better match the actual changes with the minimap, and make it easier to work with large files.

If you prefer the old, more minimal, minimap style, you can switch back to it using the newly introduced settings dialog (see below).

Diff Toolbar

More Diff options/commands

This update brings a few more options to help you efficiently navigate a diff. We added a toolbar above the code that provides buttons to easily jump between individual changes within a file. We also moved the toggle button to ignore changes within code comments here as well.

The dropdown menu gives you further control over the displayed context. You can expand all context lines or collapse them again.

Diff Toolbar

Collapsible Sidebar / Minimap

Reviewing files with long lines using a side-by-side diff can be a bit cumbersome when all the lines need to be wrapped. You can now give the code more space by collapsing the sidebar and/or minimap. Press CTRL+B (⌘+B on macOS) to control the visibility of the sidebar and CTRL+M (⌘+J on macOS) can be used to toggle the minimap.

The sidebar can also be hidden by clicking the sidebar icon at the beginning of the tabbar next to the tabs.

Diff Toolbar

New settings

Besides changing options on-demand, you can now also configure their default values. Just click on your avatar and select “Settings” to open the dialog with the config options.

Diff Settings

New Bug Report Option

Computing a semantic diff is a complex process consisting of many steps that all come with their own challenges. Even though we are constantly improving our algorithms and features, you may come across a diff that could be improved. To make it easier to report such cases, you can now submit a private bug report using the bug icon in the top right corner.

This is particularly useful for private repositories as it allows you to attach the diff of the currently viewed file without transmitting it via other, potentially less secure, channels. You can also use this interface to file bug reports without attaching any code to report issues not related to the diff.

Report Bugs

Image Diff

We have not only improved our code diff, but also added a completely new diff mode: Image Diffs. You can now compare images using a slider in overlay mode or by displaying them next to each other.

Diff Settings

Unlike the GitHub image diff, Semanticdiff lets you compare the metadata of the images as well. This helps you catch any potential metadata that you don’t want to become part of your website or software. Or maybe you just want to check if an image uses a color palette or the correct color profile.

Diff Settings

Overall Design

Integrating all these changes into our pull request interface required adjusting several parts of the design. Here is a screenshot of what the complete user interface looks like now:

Diff Settings

We also made some minor improvements to other parts of the user interface. You can now see which repositories are associated with a GitHub App installation and reach the options for installations with a paid subscription more easily. Just select the Billing entry in the user dropdown menu. Finding a specific repository has also become easier using the new sorting options and pagination.

We hope these change help you review code even faster. If you encounter any issues, please let us know in our issue tracker.

Recent Articles

Improved User Interface For GitHub App
Improved User Interface For GitHub App

We added many quality of life improvements to our GitHub App. This includes an improved minimap, a thread list that lets you jump to a thread in the diff, a collapsible sidebar and more.

Read More
How far should a programming language aware diff go?
How far should a programming language aware diff go?

Where should a semantic diff draw the line between relevant and irrelevant changes? What type of changes do developers care about?

Read More
SemanticDiff 0.9.0: Support for HTML, Vue, Swift & more
SemanticDiff 0.9.0: Support for HTML, Vue, Swift & more

This release brings two new languages to our VS Code extension and three new ones to our GitHub App plus various improvements for front-end developers.

Read More