Skip to content
This repository has been archived by the owner on Dec 21, 2019. It is now read-only.

Status of roc’s Bugzilla optimization wish list

Kohei Yoshino edited this page Mar 11, 2019 · 5 revisions

In 2013, Robert O’Callahan (roc) wrote a blog post titled Optimizing Bugzilla Usage that shared the same modern web application ideas with BzDeck. These enhancements should all be included in Bugzilla, and this page aims to track the progress.

Tracks which bugs have been modified since I last viewed them

You can already choose “Updated Since Last Visit” from the query list on My Dashboard, which is useful but unnoticeable.

Using the same API, we also have added a new changes indicator (screenshot) to bugs, just like Slack. Upcoming enhancements include: logging the last visit timestamp on all visited bugs even if you’re not involved and highlighting bugs with new changes on bug lists as seen on GitHub issues.

We also need an All Unreads view like Slack.

Preloads the complete data for those bugs

No progress. This can be done once Bugzilla becomes a (mostly) single-page app.

Lets me instantly move from one bug to the next

Bugzilla offers a bug list navigation that will soon be reimplemented to fix a dozen of bugs and introduce keyboard shortcuts allowing to move around just by hitting [ or ].

Still, you need a page navigation to move between bugs or go back to a bug list. To solve the inefficiency, our goal is naturally introducing a 2 or 3-pane UI that can be seen on BzDeck, Jira, Skype, Facebook Messenger and various modern email clients. It will merge My Dashboard and replace the useless homepage.

When displaying an updated bug, scrolls automatically to the first update that I haven’t already seen

Following the success of the fixed, compact global header (screenshot), we’ll soon make the bug header fixed, and finally implement the auto scroll.

Lets me make changes in situ

So far, we only have the Follow button that allows to add youself to the bug’s CC list. We need to solve the mid-air collision issue (see below) before making bug pages Ajaxy by replacing a traditional form submission with background API calls.

When committing changes, instantly move to the next bug

The bug list navigation already allows to do this. Go to the User Preferences page and change the “After changing a bug” option, which has to be more discoverable.

If there’s a mid-air collision, alert me even if I happen to be looking at some other bug at the time

We should be completely ditching mid-air collisions. See below for the plan.

Try to avoid mid-air collisions by receiving notifications of updates by other users while I’m viewing the bug

Bugzilla once had a WebSockets-based push notification system called Bugzfeed, and BzDeck was using it for real-time timeline updates. Bugzfeed was later decommissioned due to the lack of usage and architectural complexity.

The good news is, Bugzilla has then introduced an application framework called Mojolicious that comes with real-time web features including the native support for EventSource and WebSockets. We hope Bugzfeed can be reimplemented with Mojolicious relatively easily, and real-time updates can be implemented on it.

Mojolicious currently lacks the modern Push API support. Once included, we can offer push notifications on desktop and mobile even when Bugzilla is not opened in a browser tab.