I had some time today to commit the changes in Bug 378785 that would re-enable Growl support on trunk. Sadly, XULRunner didn’t like my patch, so I ended up burning the tinderbox for a while. The most annoying part is that I didn’t catch that I was burning (it started very quickly after I checked in), and after I thought everything was OK (two or three hours after checking in), I went to take a nap. I awoke to several messages to people informing me that I broke XULRunner on the mac. :(
Well, Growl didn’t make a4 after all. It turns out that we were crashing in static builds if Growl was installed. It was determined that compiling statically was dropping code needed from within the Growl code, causing our crash.
It was a sad day, but the good news is that I have at least one fix! I’m about to attach it to Bug 378785, which is the bug opened for the crashes in the first place. It makes the nsIAlertsService code and the Growl code into dynamic libraries. We (Colin and myself) would like to get it working with static nsIAlertsService code and dynamic Growl code. It should make it into a5!
I recently got CVS access to Mozilla’s CVS repository, and my first checkin was completed. Bug 282185 is now fixed. Next to be checked in was Bug 362685. Yey! We now have Growl support on trunk builds! The last five months of my Mozilla work has come to an end (sorta, I have at least one follow up bug to deal with, but I already know how to deal with it because of the Growl extension for Firefox/Thunderbird 2.0). Mozilla is becoming more and more Mac friendly!
Well, I recently checked in the fix for the previously mentioned bug. It was a big pain, but I finally figured out and implemented (the implementation was the hard part) the fix. I had a few stupid code errors (like not indicating that my class supports nsIObserver, when it needed to) that caused me to take a lot more time than necessary to get this fixed. Now that that is all done, I’ll be writing up a doc on how to write your own code to hook into this extension so everyone can easily use Growl within Mozilla code!
It should be noted that this version of the extension includes basic support for Chatzilla. I plan on working with Gijs to get more in the future, but I think what we have now is a solid start.
I just got the last r+ needed to get Growl support checked into Mozilla CVS trunk, which is a huge personal accomplishment if I do say so myself. That means it’ll be available in Firefox 3.0, and most likely the Alpha 4 build due out soon. Somehow, I managed to get it done on schedule it seems (I probably just jinxed it though). I’m about to submit the final patch after giving it a good look-over once more. It’s been about five months since I started working on this – and am I glad that it is almost done! I’ll have at least one follow-up bug to do once this lands (dealing with localization), but it works as it stands now!
For those interested in keeping track with the bug, cc yourself to Bug 362685.