Well, Summer of Code 2013 is officially over. My project has pretty much met what was in my proposal – the stats and ranking patch is r+ (though awaiting Florian’s approval) and should land soon.
There are a few leftover bugs that I’ll be working on when I have time (I’ve been pretty busy with my coursework lately). Many of them are small (and possibly quick to fix): bugs 2046, 2048, 2069, 2081, 2116, 2076, 2145, 2146, 2184, 2185.
Here’s a broad overview of my work over the summer:
- Modified the tabbrowser to accept generic tabs (bug 426).
- As an example usage of the new tabbrowser changes, made it possible to open about:* pages in a tab (bug 2002).
- Wrote the initial new conversation tab, with a list of contacts and a filter box (bug 2015).
- Added support for existing conversations in the new conversation tab and moved the management of possible conversation data to a new ConversationStatsService (bug 2055).
- Wrote an API to request protocol plugins for chat room lists, and implemented it for JS-IRC. Made the stats service use this API to display IRC channels in the new conversation tab (bug 2066).
- Experimented with IndexedDb to store conversation stats. Dropped it in favor of a JSON cache until we migrate to a more sophisticated database from which we can query possible conversations on the fly (and possibly incorporate log indexing?). Wrote code to store these conversation statistics and use them to sort possible conversations. Adapted Florian’s log sweeper code to parse JSON logs for stats (bug 2143).
A huge thanks to my mentor Benedikt Pfeifer, and the Instantbird team for all their help over the past three to four months, they’ve been a pleasure to work with! Be on the lookout for Instantbird 1.5, it’s going to be pretty awesome (:P).
You can download a change log of my project from here, or if you have the source, you can generate one yourself using
$hg export `hg log -b default -u nhnt11 | grep changeset | cut -f3 -d ":"`