Bugzilla Tweaks getting some attention again!

I have good news for you!  A while ago, Shawn convinced me to move the source code to the Bugzilla Tweaks add-on to bitbucket.  I did that, and lo and behold!  We now have two contributors to the add-on!  Steve Fink, and Heather Arthur, are the two wonderful people who sent me emails out of the blue and told me that they want to improve the add-on!  And they were not kidding!  Thanks to their efforts, I now have something which I’m happy to call Bugzilla Tweaks 1.7.

Heather hacked the add-on to make it compatible with the new Add-on SDK.  Steve taught it how to work on landfill as well as bmo, and made it redirect you to the bug’s page after changing a bug (to make it session-restore friendly).  And then, as if all of that wasn’t enough for a release, he decided to amaze me by making it easier to file bugs in the same product or component as the bug you’re viewing.

All this caused me to feel ashamed of myself for not having any cool ideas on what to do, so I decided to do the obvious (remove the "Assign to me" button which is now obsolete by the "take" link next to the assignee field.  And then I remembered that a while ago, Dan Veditz had suggested that I should copy Jesse‘s "bug attachment source" greasemonkey script.  So I thought that would be a cool feature to add myself so that I can continue to pretend to be cool.  So I did.

Then, I packed all of this awesomeness, put it in an XPI file, and submitted it to AMO.  Bugzilla Tweaks 1.7, the mundanely named new release, will be available for your enjoyment as soon as the AMO gods deem it appropriate for you.  If you have the previous version, 1.6, installed, then you should sit there and do nothing, and Firefox will magically upgrade you to the new version (yes, without restarting!) at a time of its convenience.  If you don’t have it installed, and you use bugzilla more than a few minutes per month, then you need to be kinder to yourself, and install this add-on.  If you really want to live on the edge, then you should go ahead and install it by pressing the scary yellow button on this page.

Now let me share a vision of the future (and my pathetic Gimp skills) with you.

Bugzilla Tweaks 1.7 screenshot

Update: I disabled the redirection and switched to using history.replaceState as suggested in the comments.  I’ve pushed another update to the add-on, version 1.8, which implements this.

Posted in Blog Tagged with:
38 comments on “Bugzilla Tweaks getting some attention again!
  1. Ed says:

    Ehsan will have already got the bugmail – but for anyone else reading this and wants to follow, the bug has been filed as https://bugzilla.mozilla.org/show_bug.cgi?id=639626

  2. Ehsan Akhgari says:

    Is there a comprehensive list of features (no matter whether they apply to the Redhat instance, the MoFo instance, etc) available, so that I can try to figure out which features I should pull?  It’s kind of tricky to reverse engineer everything from the source code/config jsons.

    Also, do you have a list of features implemented in Bugzilla Tweaks that you’d like to see on other bugzilla instances?

  3. Ehsan Akhgari says:

    Thanks, I’ll try to review them as soon as posible.

  4. Matěj Cepl says:

    there are some functionality which is limited to RH bugzilla, but there are also some other things which are switched on in your JSON file (my current configuration is at http://matej.ceplovi.cz/progs/data/RH_Data-packages.json).

    Good night!
    (… to be continued on Monday)

  5. Matěj Cepl says:

    This http://mcepl.fedorapeople.org/tmp/bugzilla-triage-tweaking.xpi is just very brutal hack stiching everything together, but it seems to do something good on b.m.o page (with http://mcepl.fedorapeople.org/scripts/Config_mozilla.json configuration file; set the URL in the “Triage configuration” link on the bottom of the page and restart Firefox).

    The code is bugzillatweaks branch of http://gitorious.org/addon-sdk/bugzilla-triage-scripts git repo.

    What do you think?


    P.S.: BTW, your new stylesheet looks pretty cool :)

  6. Ehsan Akhgari says:

    I gave it a shot.  I didn’t really figure out how to get to any of the functionalities.  I just noticed that it doesn’t work very well with Bugzilla Tweaks side by side (i.e., it changes the bug number in the title in a seemingly bogus fashion, and it adds an extra "(new)" link next to the product and component drop-down lists.  Also, I noticed that it seems to turn the background of the comments by the reporter of the bug yellow (which is pretty cool and useful!).

    Other than that, I couldn’t figure out how to use it.  Judging from the JSON, I should see some comment templates somewhere, right?

  7. Matěj Cepl says:

    Yes, you probably should use testing profile without your bugzilla-tweaks package (they will probably stomp on each other’s feet).

    I have blogged about previous incarnation of the bugzilla.mozilla.org instance at http://mcepl.blogspot.com/2010/07/fixed-bugzillamozillaorg-compatibility.html … it is basically the same in terms of functionality, i.e. aside from yellow background for reporters (how many times somebody else then reporter answered your needinfo?) there is only drop down box with available actions.

  8. Matěj Cepl says:

    And yes, it can wait, I will probably leave this branch as it is for now, until I’ll get some comments from you.

  9. Matěj Cepl says:

    OK, thank you for kind response to my angry rant, and I’ll try to be positive.

    ad 1) Did you ask? I am hanging on #jetpack all the time (as I think you know), you have my email address.

    I can try to look at your code (which I did to some extent and I believe I have previously included some of your ideas/features), but could you make a list of features requested against my script, or just list features of your script you would like to see? Either here, in email to me, or on my tracker (https://fedorahosted.org/bugzilla-triage-scripts/, although I will probably switch to some distributed issue tracker soon, I will take care that no issue is left behind).

    ad 2) I made a lot of care that my script works with any reasonable bugzilla out there (and some less reasonable) … officially I support bugzilla.redhat.com, bugzilla.mozilla.org, bugzilla.gnome.org, and I try my best with bugzilla.maemo.org. I think it should work with bugs.freedesktop.org, but I haven’t tested it thoroughly. And yes, I don’t have enough ACLs on bmo to test some of your internal tweaks … either find out how can I get these rights, or test yourself and let me know what breaks (see above for issue tracking options).

    ad 3) No, that isn’t correct … exactly given my plan to have it non-RH-specific as much as possible, all personal configurations are stored in a separate JSON … it is enough to set bugzilla-triage.setting.JSONURL configuration to any arbitrary URL you store your JSON at, and my scripts could be very very much configured. I have even prepared a limited configuration file for BMO (https://fedorahosted.org/released/bugzilla-triage-scripts/Config_mozilla.json). By setting configData.downloadJSON you can any download arbitrary JSONs for your own purposes (with additional data, I do it for some analysis of Xorg.0.log logs). And in case you need special Javascript functions which won’t be incldued in data/bzpage.js, I would happily make you special Javascript file which you can comaintain. But I will try to accommodate in normal scripts any reasonable request (again, I have my data/rhbzpage.js which can serve as an example of what’s possible).

    Concerning my effort on unification of projects. Frankly, given the zero reaction I’ve got so far, I would like to see some (at least small) commitment from the other side. I have prepared (IMHO) useful framework, I have created some hooks for others, I am willing to help with investigating the code, but frankly unless I see at least reaction to point ad 1) of this comment, I won’t be pouring more endless hours to it. Give me something to work and I will help.

    Concerning logsistcs. The code is now on http://gitorious.org/addon-sdk/bugzilla-triage-scripts/ (git://gitorious.org/addon-sdk/bugzilla-triage-scripts.git). Master branch is more or less stable, but tested to work only with Jetpack 0.8 and Firefox 3.6.something. All my work now is on pageMod branch, where I am doing almost rewrite to be e18n compatible when it happens. So, I have switched to pageMods and trying to do proper content scripts. It is now in the Alpha stage, i.e., I have been using it myself for all my work in the last week or so, but it is certainly not for non-developers consumption (if you want to jump in, I think it is in consumable state, and it might be the best state to make some substantial changes would they be required).

    I had also a presentation about my scripts at the last year GUADEC. Slides for the presentation are on http://matej.ceplovi.cz/clanky/GUADEC2010/bugzilla-scripts-Guadec-presentation.html (unfortunately, most of the interesting stuff was in demo). Raw unedited video stream which includes my presentation is on http://demosite.ondemand.flumotion.com/demosite/ondemand/guadec/output-disker/guadec3-20100728-113649.webm, and I am just uploading cut version to blip.tv (when it is ready, I will post a link here; do you know about any better video hosting site?).

  10. Matěj Cepl says:

    http://blip.tv/file/4798396 (it’s just WebM, but that should be good enough for a Mozillian, right? ;))

  11. Matěj Cepl says:

    ??? I wrote a long reply to your reply. I would be sorry if it got lost.

  12. Ehsan Akhgari says:

    The stupid spam detector marked it as spam, sorry.  It should appear fine now.

  13. Matěj Cepl says:


    in repository on gitorious (http://gitorious.org/addon-sdk/bugzilla-triage-scripts/commits/next), tag 0.90, there is now version which works on BMO (tested with FF4b12).

    I haven’t done anything on incorporating bugzillatweaks yet, but from the first looks it should be doable. That list of requested features would be really really helpful.


  14. Ehsan Akhgari says:

    Matěj, I think we should talk about this more after the Firefox 4 release, when I would (hopefully) have some free time to spend on this.  I’ll ping you, and will read your add-on’s code more closely and will also watch the presentation so that I’m fully up to speed.  :-)

  15. Ehsan Akhgari says:

    I think you should file a bug in Core::XPConnect with this information and CC me on this.  The add-on should not be able to leak memory this way.  Also, try asking for help on #jsapi to see if somebody knows how you should go about debugging the leak…

    It should also be possible to trim down the extension code to determine the pattern which is causing the leak.

  16. Ed says:

    I’ve been having severe memory leaks (if that’s the correct term for the about:memory stat ‘memory in use’ always going up and never freeing, even after waiting for GC); the last week or so – which I’ve spent quite a bit of time trying to track down, but don’t yet have a definitive answer.

    General STR…
    1) Open 60 BMO bug tabs
    2) Right click any tab, use “bookmark all tabs” (to speed up later testing)
    3) Close all tabs except one
    4) Open the same 60 tabs again, using middle mouse click on the bookmark folder created at step 2
    5) Repeat steps 3-4 several (eg four/five) times
    6) When done, close all tabs except one
    7) Let Fx idle for 5 mins
    8) Navigate to about:memory in the only tab left open and observe ‘memory in use’ value

    – Memory in use on about:memory to be a ‘reasonable’ value. ie: not as low as at Fx start, since obviously diskcache and stuff going to change that, but say at least <200MB, since only one tab open.

    – Memory in use = 600-1000MB

    With no addons enabled, the issue did not occur, so I disabled addons one at a time, testing after each. My latest test run narrowed down the problem to one/a combination of the following addons:
    – Bugzilla tweaks
    – Adblock Plus
    – NoScript

    I run the test again with just Bugzilla tweaks; and the problem, whilst not as severe as when ABP/Noscript were installed, seemed to still exist.

    I was going to report on bugzilla, but:
    (a) Invalid, since due to an addon; unless of course there is an underlying bug in Fx?
    (b) I need to re-run the testing with a clean profile and get more specific numbers first.

    However in the meantime, I was curious if anyone else had been experiencing anything like this?

    Also, any ideas for any leak testing tools (for Win7) that I can use to work out what is happening?


  17. jlebar says:

    Sounds like history.replaceState is just what the doctor ordered.

    Bugzilla trunk actually contains this replaceState call, although who knows how long until we see it on bmo.


  18. Ehsan Akhgari says:

    That sounds like an excellent idea.  I’ll try to get to it soon, but if you feel that you can get a patch working sooner, I’d love to merge your change in.  :-)

  19. Matěj Cepl says:

    Oh well, so you have decided to ignore me completely in the end. All what you describe (like skipping process_bug.cgi, showing the source of attachment) I have either done in my bugzilla-triaging scripts (http://gitorious.org/addon-sdk/bugzilla-triage-scripts) long time ago, or it could be done (like new bug creation) in few lines of code. But apparently, nothing good could come outside of Mozilla and bugs triaging world is so waste that we need to have two parallel projects.

    And of course, I am not bitter. By any means.


  20. Ehsan Akhgari says:

    Matěj, actually I have not ignored you at all.  I’ve looked into incorporating your changes into Bugzilla Tweaks, but it’s not trivial because of three reasons:

    1. The code base is really different, so incorporating individual features requires quite a bit of time in reading the code on my part, trying to understand how it works, and trying to figure out what exactly would I need in order to pull in the feature, etc.
    2. The focus of the two projects seems to be different.  I’ve only made sure that Bugzilla Tweaks continues to work with Mozilla’s Bugzilla installation.  We have a set of customizations in effect in this installation, and I’m not familiar with the exact details myself, so Bugzilla Tweaks should be tested against differnet installations to make sure that all of my assumptions validate against those installations as well.
    3. Figuring out what the per-user customization would look like.  In your project, it seems that the customizations (as encoded in the various json files in the repo) are all hardcoded in the add-on code.  While they may satisfy the needs of the projects you’re focusing on, I don’t think that those hard-coded customizations can be usefull to everyone working on Mozilla.  Therefore I think we need to figure out how to let users customize those features to their liking (similar to the way that Bugzilla core allows users to have saved searches for queries interesting only to them, and to share those searches among similar interest groups.

    As you can see, it mostly boils down to the very little amount of free time I have on my hands.  I have barely been able to work on the add-on more than 3-4 hours in the past ~5 months, so attempting to incorporate any of the features of your add-on into Bugzilla Tweaks looks like a huge project to me at this point…

    Do you think you’re going to have more free time to spend on the unification of our projects?

  21. […] Bugzilla Tweaks getting some attention again! | Ehsan Akhgari 5 Days to Clickbank Profits Sign up today and start learning how you can become the next Clickbank Superstar Name:  […]

  22. Axel Hecht says:

    Hi Ehsan,

    one thing that I find useful is the list of people that actually got bugmail, or would get bugmail. This might be a niche use-case, but for l10n components, it’s not at all clear that the localizers actually watch their bug components, so checking the mails is a good thing to do.

    Any idea on how to keep track of that despite the redirect?

  23. Ehsan Akhgari says:

    I just pushed an update which disables redirection, and just uses history.replaceState to modify the page URL in place.  This should also address your needs.

  24. Matěj Cepl says:

    I have in my script for the same reason just a notification which pops up with the information snatched out from process_bug.cgi page.

  25. Ehsan Akhgari says:

    I just pushed an update which uses history.replaceState!

  26. It’s nice that the add-ons puts inline history changes between comments, but it would be even nicer if those that weren’t attached to an existing comment were tagged with their own timestamps. I’m sure I’m not the only one who likes to know when something happened, in addition to what it was.

  27. Ehsan Akhgari says:

    The timestamps are available as a tooltip on the person’s name.  I agree that it’s not ideal, but it makes the interface a lot less cluttered, and the timestamps are only one hover away!

    Does this address your needs?

  28. Matěj Cepl says:

    https://fedorahosted.org/released/bugzilla-triage-scripts/bugzilla-triage-0.90.xpi … no updates yet or other fancy stuff, but seems to work (and of course, it is alpha).

  29. Ehsan Akhgari says:

    Is this based on the gitorious repository?

  30. Oh, I didn’t even realize. Because the name is usually linked to an e-mail address, I would never think to hover over in. In fact, even when you told me, I was still reluctant to hover over it, because I fear mailto: links. :)

    Definitely not ideal, but at least I know it’s there when I need it. (I’d still recommend trying to come up with a better way to display the information. Why not just do exactly what a comment does, with that gray bar?)

  31. Ehsan Akhgari says:

    The main reason that I didn’t do that was to conserve space (as it gets hard to read bugs with lots of inter-comment history.  If you have any space efficient suggestions, I’m all ears.  :-)

  32. I would imagine that “space” was one of the main reasons that such history isn’t included by default in the first place. I don’t think those who want it care much about space. But maybe that’s just me….

  33. Ehsan Akhgari says:

    Well, I had negative feedback on the very early versions which showed the date explicitly in the inter-comment blocks…

  34. Interesting… is it possible to pref it?

  35. Ehsan Akhgari says:

    Of course!

    Which brings me to another point.  Are you willing to write the patch?  :-)  It’s really easy (a few lines of code) and I can help you get started.  If you’re interested, let me know!

  36. Matěj Cepl says:

    Yes, of course.

1 Pings/Trackbacks for "Bugzilla Tweaks getting some attention again!"
  1. […] script in the same moment FF4 would be released. However, then something happened … Ehsan Akhgari continued to work on his (mostly b.m.o targetting) scripts, and this time I have managed to get into contact with […]