November Bug Squash Month: GJS

Here’s what happened during November Bug Squash Month in GJS.

First off, I didn’t really get on the ball to promote Bug Squash Month and I didn’t take pictures of any bug squashing activity… which I regret. I hope this post can make up for some of that.

During November I finally took the leap and offered to become a maintainer of GJS. My employer Endless has been sponsoring work on bugs 742249 and 751252, porting GJS’s Javascript engine from SpiderMonkey 24 to SpiderMonkey 31. But aside from that I had been getting interested in contributing more to it, and outside of work I did a bunch of maintenance work modernizing the Autotools scripts and getting it to compile without warnings. From there it was a small step to officially volunteering.

With not much of November remaining and a holiday and family visit coming up (life always is more important than bug squashing!) I decided to start out my bug-squashing campaign with what would get me the most results for the time spent: going through GJS’s bug tracker and closing obsolete or invalid bugs. This I managed to do, closing about 1/4 of all open bugs!

Then I made a list of all open bugs with attached patches and intended to review them to see if they still applied and why they hadn’t been committed yet. I got through a few, and had the dubious distinction of fixing up and committing patches from a 7 year old bug yesterday. But as you can see in the list, there are still 54 remaining. A good to-do list for the next Bug Squash Month, or whenever I feel like working on GJS but don’t know what to work on!

Did you know Bugzilla could generate graphs? I didn’t! Here’s a graph of the total bug count in GJS during November Bug Squash Month:

chart

The clunkiness of this chart kills me though…

My plans now that Bug Squash Month is over are to concentrate on fixing things that make it more pleasant to use and contribute to GJS:

  • Find an active co-maintainer so that we can review each other’s patches (could this be you?)
  • Make ES6 Promises available (this work is also being sponsored by Endless)
  • Rework the test suite to use an embedded copy of Jasmine so that writing automated tests becomes less of a pain
  • Find ways to bring in some of the conveniences that Node developers are used to

I’ve also decided to try an experiment: I’ve just made the Trello board public on which I keep track of what I’m working on and what I’d like to work on. Let me know if this is interesting to you and what features you might like to see on there! (It’s made possible by a Chrome extension, Bug 2 Trello.)

All in all November Bug Squash Month was a success, though next time I will get started earlier in the month. Come join me next time!

gnome_bugsquash_nov_2016

 

5 thoughts on “November Bug Squash Month: GJS

  1. What exactly do you mean by “Find ways to bring in some of the conveniences that Node developers are used to”? Could you detail that part a bit more? Node packages? I have been recently investigating using node modules in a GTK app, but it turned out it is almost impossible, if GJS would give some support, I would surely hop on the train.

    • One thing I’m impressed by in Node is that you can just type, e.g. “npm install –save-dev jshint” and get linter support for your app. I’m not convinced that going full NPM is the way to do it, but I’d like to at least have an equivalent for such things. For dev tools it would be easier than for libraries, but many Node libraries anyway already have equivalents in the Gnome stack. (For an example of a dev tool ported from Node, see my port of the Jasmine test runner: https://github.com/ptomato/jasmine-gjs)

      One thing I’m thinking might be useful is to have a “Node shim” mode that provides implementations of process, fs, require, and other common Node APIs. That way, it would be easier to reuse packages from Node, though I’m hesitating about endorsing require since it conflicts with my goal of eventually having ES6 modules in GJS.

      Short answer, I’m still trying to figure out what it means…

  2. But what *is* GJS? Your blog post doesn’t say, its links don’t help. I read it on Planet Gnome and am mystified. To quote my blog post on this pet peeve: “The second sentence of every announcement and blog post HAS to be a summary of what your project does. It’s a good exercise to come up with a crisp meaningful one-sentence overview and no one will begrudge you the repetition.”

    Cheers. (I figured it out.)
    http://www.skierpage.com/blog/2010/10/open-source-you-are-the-marketing-department/

    • Thanks for the feedback. Sorry to hear this activated your pet peeve.

      But surely there are hundreds of posts on Planet Gnome and the other blog aggregators you mentioned, that are just too obscure or not interesting to you, that you just skip past? I know I do.

      I’ll see what I can do to improve for next time, and probably a more general post on this topic to attract users and contributors would be a good idea. I could even link back to that and/or quote it in future posts! But of course, the higher the threshold, the less likely I am to actually sit down and write that post… 😛

  3. Pingback: Javascript news from GNOME 3.24 | The Mad Scientist Review

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.