Heather's Paragraphs

Category: mozilla

Filing Bugs in Components

I’m always filing bugs, and I usually know the Bugzilla component they’re supposed to go in. So I made a shortcut to get around the hoops of picking a component on the Bugzilla form. It’ll autocomplete on product and component name for faster filing:


I also often search for bugs by summary in a component, so I made a shortcut for that too. You can search for open, closed, or both:

I’m interested in the common fields other people use when searching for bugs, so if you have any insight leave a comment.



Seeking New Owner for Nightly Tester Tools

Nightly Tester Tools is an addon for Firefox nightly and beta testers. I’m the current maintainer of the addon, having been passed down the torch by Dave Townsend. It’s at the point where I no longer have time to give Nightly Tester Tools the attention it deserves.

Nightly Tester Tools has been around for a long time. It’s provided tools like build id copying, screenshots, and test crashing. The code is currently on Github, and there’s a Bugzilla component Other Applications/Nightly Tester Tools Where people file bugs.

Maintenance mainly involves bumping the version compatiblity on AMO every time there’s a new Firefox release and checking out new bugs or feature requests that come in.

This is a great opportunity for a nightly tester to build onto a tool that helps out thousands (NTT has about 100,000 users) of testers, and learn some extension development at the same time.

Please get in touch if you’re interested. I’m harth on #ateam on irc.mozilla.org and always available to answer questions about it and guide anyone along about the process.

New Mozregression Owner: Jeff Hammel

I’m no longer maintaining mozregression, Jeff Hammel is!

The GitHub repository has been transfered to the Mozilla organization. File issues on the new GitHub repo or ping jhammel in #ateam on irc.mozilla.org for any suggestions or concerns.

Rainbow Update

A new version of Rainbow is out. This new version contains a bunch of tiny fixes that make it 10x more useful I think:

Extract color schemes from images

Extract the color scheme from any image on the page by right-clicking the image and selecting “Extract Color Scheme”:

Preview element colors

There’s now a “Preview Element Color” context menu item that will let you quickly inspect the background/text colors of any element in Rainbow’s color picker:

View last color

View whatever color was last copied/saved from the inspector with the “View Last Color” shortcut in Rainbow’s main menu:

This version also adds a French localization courtesy of Alain Besancon and some much-needed bug fixes.

Anyways, the real news is that 1.4 is the last version I’ll release on this code base barring any new locales or bugs. Soon I’ll be starting a complete re-write that might take awhile. The current code is written by a total JavaScript and programming n00b (me, four years ago) and uses XUL (thus can’t use Jquery or any nice new HTML features).

I’ll be converting it to HTML, modularizing it (starting with https://github.com/harthur/color), and making it a Addon-SDK-based addon and creating a Chrome extension if all goes well.


I just published replace, a find-and-replace command line utility that others might find useful. I’m always wanting to replace strings spread throughout my code, and never found an easy way to do it. `find` + `sed` can do it, but the syntax is hard to remember and you don’t get easy-to-read feedback on what replacements are made. It’d be cooler if there were a tool devoted to this.

Replace takes a regular expression string (in JavaScript syntax), a replacement string, and files to search (or directories to search recursively when `-r` is specified). It will print out the lines that have been replaced:

screenshot of replace

There are quite a few other options and output choices, check out the GitHub for more information. It requires installing node.js and its package manager npm if you don’t already have them. Then you can install with:

npm install replace -g

Side note: It’s true that JavaScript is still quite a bit slower than bash/C, so it’s good to question why you’d write something like this in Javascript. I blame how nice it is to write programs in node, how nice it is to handle dependencies and distribute programs with npm, and all the really well-done node libraries out there (like colors for coloring console output). This is something I wouldn’t have taken my free time to write in any other environment.


bz.js is a JavaScript wrapper for the Bugzilla REST API (<3 <3 <3). Like most HTTP REST API wrappers, it is almost unnecessary, but not quite. Works in browser, node, and Addon SDK packages.

var bugzilla = bz.createClient();

bugzilla.getBug(678223, function(error, bug) {

Nightly Tester Tools Update

Nightly Tester Tools 3.0 has been released, containing some new features. Among the added features are Crashme functionality, copying about:support to pastebin, and viewing the pushlog of changes since the last nightly.

Since the update about the future of Nightly Tester Tools, there’s been some discussion around the addon compatibility feature. We decided to take out addon compatibility fixing for individual addons, but left in a checkbox that overrides compatibility checking for all addons. It works in the same way Addon Compatibility Reporter does, but everyone’s encouraged to install ACR to help report compatibility issues to addon authors.

Screenshot of Nightly Tester Tools Firefox menu

Mobile version

Aakash has been working on a mobile version of NTT, with a few of of the same features of the desktop version and a few mobile-specific ones. Nightly Tester Tools 3.0 for mobile has also been released.

Screenshot of mobile Nightly Tester Tools

You can request a feature by filing an NTT bug. Check out the code on Github (mobile code here).

Nightly Tester Tools Resurrection

Some of you may have noticed that the aptly named Nightly Tester Tools addon doesn’t work on nightly builds at the moment. A few months ago Dave Townsend mentioned that the popular Nightly Tester Tools extension was in need of some new owners and an update. A couple of people that work on automation have decided to lead an effort to revive Nightly Tester Tools and make it even better.

You can check out the list of current and proposed features on the wiki. We’re planning on removing a couple features, some of which have been superseded by Firefox features, including: crash report sidebar, session restore, and leak log analysis. Let us know if you use any of these features. In addition, we’re thinking about taking out the extension compatibility fixing. Extension compatibility is the main(/only) reason many people use Nightly Tester Tools, but now there’s the Addon Compatibility Reporter that keeps up to date with the extension compatibility changes (EDIT: many people have protested this and given some good reasoning, so it’s likely this will stay in).

A couple people already working on the effort are harth, jhammel, and aakashd on #qa on irc.mozilla.org. If you have any features you’d like to see in NTT you can of course comment on this blog post, or file a bug in the Nightly Tester Tools component.

If you’d like to contribute code, fork the Github repo. We’re sticking with the old code base for now but are keeping an eye on the Jetpack SDK for a switch at some point.

mozregression update

A good while ago I made a regression range finder for Firefox nightlies. It was a Python script intended to make it easier for people to manually find the regression ranges of bugs on the nightlies. The other day, someone actually used it! So I decided to revisit it and fix it up and make it easier to install. There’s more info about it here, but here’s a quick summary:

install with setuptools or pip if you know how to do that, otherwise checkout out the OS-specific installation instructions

run on the command line:

mozregression --good=2010-03-19 --bad=2010-09-12

Several nightlies will be downloaded and automatically run for you, asking you to check for the existence of the bug in each one, ending up with something like:

Last good nightly: 2010-09-08 First bad nightly: 2010-09-09

Pushlog: http://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=36f5cf6b2d42&tochange=8e0fce7d5b49

if you have questions, ask harth on #qa at irc.mozilla.org.

Jetpack: Showing Search Terms in Awesomebar

Note: this is not about searching from the awesomebar.

download addon·code on github

The awesomebar is one of my favorite things about Firefox. Especially compared to alternatives in other browsers – the awesomebar remains the fastest way for me to find where I want to go. Sometimes a site’s url and title aren’t enough to jog my memory however. At some point I wished Firefox would do full-text indexing for me. Then I realized that Google was already doing that, and there might be a way to hijack that power – by remembering what search terms you used to find the site and displaying that in the awesomebar. You can’t really get better than search terms, they put the value a site gives in your own words. Of course, you might find the site valuable for other things after viewing it, then you have no real choice but to manually tag it (or do you?).

I made a quick extension with Jetpack to do just that, implemented in the simplest possible way. It parses the referrer for ‘q=’, and appends that to the page’s user-set title (which is matched on in the awesomebar). It can be very helpful, but it was less helpful than I thought. It would be more helpful if the referrer persisted across link navigation, the referrer didn’t terminate after #, and more sites used ‘q’ to hold the query, but it was an interesting experiment, and I’d love to see more experiments in Firefox inferring tags for webpages.

Jetpack impressions

I enjoyed using the new Jetpack SDK, I’m a big fan. It took more than a couple minutes to get started but the docs were excellent and I love the CommonJS. I had to bust out the Cc but that’s just because the Places API isn’t quite ready yet. I only had to write 42 lines of code. I can confidently say I won’t be making a ‘regular’ addon again.


Get every new post delivered to your Inbox.

Join 29 other followers