We’ve been hard at work over at ZenHub and we’re so thrilled to bring you some incredible updates and performance improvements in this round of ‘Confetti Moments’! Read on to learn more about everything we’ve updated and fixed including some new features.
Confetti Moments is our quarterly update that highlights recent product improvements we’ve made so you can easily stay up to date on what’s new.
First and foremost, we’ve made a ton of performance improvements over the last 3 months. To put it simply, we’ve made ZenHub more of a pleasure to use. Right off the bat, you will notice substantial improvements in the loading speed across different functions. Let’s take a look at what we’ve improved:
By consolidating network requests across repositories and optimizing some of our internal database queries, we’ve been able to make substantial improvements to the initial load time of Boards. For most of our users, this effort translates to Boards loading 20% faster! We have some additional performance improvements planned for Boards coming later this year that will specifically target improving the performance of filtering, searching, and bulk editing actions.
For our web app users, loading details of existing Issues is 30% faster today than it was in January! We’ve moved to progressively load an Issue into three parts: the initial post, the Issue timeline, and the sidebar actions.
We’ve identified and fixed a Board load performance issue affecting users who have a large number of Releases. This was caused by some inefficient code in our application which would block the main thread from being able to continue rendering the application. Users with many Releases should see noticeable Board speed improvements.
We’ve improved the loading speed for the “New Issue” dialog. It should now load much faster as it no longer relies on having to download GitHub’s Issue templates with every request. By implementing local caching of this data, we’ve been able to get the dialog to launch nearly instantly - a ~65% reduction!
We’ve trimmed the fat on our overall application size, for both the extension and the web app, by removing rarely used third-party dependencies and upgrading some of our older packages. Tidying up this part of our codebase and removing 200kb of unnecessary code results in overall faster application load times, especially for users on slower internet connections. We still have more that we can do on this front. In fact, we’ve set a strict budget for our engineering team to prevent our bundles from getting bigger. We hope to be able to make further improvements in this area over the next few months.
We’ve heard feedback that performing bulk editing operations on large numbers of issues can be a less than ideal experience. The app would sometimes appear frozen and the updates would not be clearly reflected on the issue cards. For this reason, we’ve improved the performance and experience of performing bulk edit operations on GitHub data - such as labels, milestones, and assignees - on the Board using card multi-select. Moreover, users will now be shown a progress bar indicating the status of this operation.
We have also looked into caching strategies for all of our bulk editing action lists such as Labels, Assignees, Releases, and Milestones. The dropdown lists for those items will load instantly if users have already interacted with those items earlier in their browsing session. This will allow you to be more effective when making changes by going through your tickets issue-by-issue, for example, during sprint planning or refinement sessions.
We’ve reduced the time it takes to fetch labels in multi-repository Workspaces, specifically when loading the label dropdown menus or the label selector on the issue page. We’ve done this by leveraging some new caching techniques of our new backend. We are hoping to continue to roll out more optimizations of this nature in the coming months.
We have improved the rendering behavior of our Milestones page as well as for users who have accumulated a large number of Milestones. Before, the page used to freeze when the Milestones were shown. Now, with our latest changes, the Milestones will load as you scroll, resulting in a faster overall user experience.
With all of this said, we’ve redesigned and redeveloped our internal performance and bug tracking dashboard. For all of the mentioned changes above, we now have insights into how quickly data from key interactions are loading and the errors users are encountering whether are visible in the UI or not. These will be our source of truth going forward to continually monitor and improve the speed of our interface and API.
As for bug fixes, you’ll also likely notice a few extra things:
For extension users, we fixed a bug that was breaking
#issuereferences in Pull Request dialogs from the Board.
After hearing feedback around losing context when clicking links, external links will now open in a new tab to allow you to return to your position and focus.
We've reduced occurrences of a redirection loop that used to be triggered when navigating between Github’s Issue/Pull Request search page and the ZenHub board.
Sometimes Issues without a description would become uneditable in the web app, but, starting today, this will no longer happen!
...and much more!
For web app users, when Issues are closed by a commit these now have a link to the specific commit.
Before you go
Introducing ZenHub Users Slack Community
You can now stay up-to-date on what's new at ZenHub and share learnings, tips, and tricks with the ZenHub community in our new Slack Workspace. Click here to join.