- Further work on bug 2066 (WIP attached).
- Brainstormed the best way to cover up the awkward pause between clicking a chat in awesometab and the new tab showing up. For now, made the IRC joinChat method create a new conversation and then send the JOIN message to the server.
- Various improvements, see commits on BitBucket.
- Created patches for followup bugs 2051, 2065. New patch on bug 2055 as well, addressing feedback comments.
Thursday, July 25, 2013
Tuesday, July 23, 2013
I've mostly been working on adding functionality to get lists of chat rooms for accounts while the patch for bug 2055 awaits review - in particular IRC's LIST. Here's a progress report:
- Added the necessary additions to imIAccount.idl (an interface that represents chat rooms, and a method in prplIAccount that returns a list of rooms).
- Added implementations for these additions in jsProtoHelper.
- Consumers can now ask IRC accounts for LIST data, which will be returned asynchronously via a callback.
- Created an implementation of PossibleConversation - PossibleChat - to use with these chat rooms. These are now filtered and returned in getFilteredConvs, along with contacts. New conversation tabs can use these to create list elements and open conversations.
- Proper data management for the chat room lists that stats service receives.
- Performance improvements, which will likely be helped by:
- Add ability to return list data in batches (Freenode for example has way too many channels to return all of them at once).
- UI improvements for MUC items.
Monday, July 22, 2013
- Made a lot of modifications to the patch for bug 2055 to address the feedback I got for the first one.
- There are now multiple instances of PossibleConversation (PossibleContact, ExistingConversation, PossibleChat to come). The contacts are maintained in one list (as of now) and UI convs are injected into it before filtering.
- Did a lot of refactoring in the newtab binding with clearer naming and future requirements in mind.
- Existing conversations (both already in a tab and on hold) are now displayed in newtabs.
- Fixed a few follow up bugs (bugs 2041, 2045, 2047, 2063).
Tuesday, July 16, 2013
- Today I added support for conversations on hold in Awesometab.
- This took most of my day. I spent more time than I'd have liked to while figuring out how the blist window manages convs on hold and how to extract the data I need from the [showing-]ui-conversation[-hidden] observer notifications.
- I've attached a patch on bug 2055 and requested feedback on it.
- I still need to make it display open conversations (but not on hold).
- I plan to do this and have a complete patch with comments ready tomorrow.
The past week:
- The buddy list tab is merged
- Quite a few changes were done in order to address more review comments Florian before the merge.
- Lots of followup bugs have been filed (bugs 2041, 2043-9). I have WIPs for most of them, and patches submitted for a few.
- Did research on the account interfaces for adding methods to return MUC lists (and a bit of experimental code - I was able to open IRC channels from awesometab)
- Display conversations on hold in awesometab.
- Add the new function(s) in the account interface to get MUC lists.
- Implement this in particular for IRC LIST.
- Display IRC channels in awesometab.
- Also while doing this, address followup bugs to bug 2015 (including the ones mentioned above)
Wednesday, July 10, 2013
I call this "pseudo-weekly" because it's been a week since my last report :(. I was afk for a few days at the end of last week (literally didn't open my laptop :( ) so progress has been a bit slow.
- More review iterations on the buddy list in a tab bug (but 2015)
- Created a new interface ("ibIPossibleConversation") that will encapsulate both contacts as well as non-contacts like MUCs and people on IRC who haven't been added to the buddy list.
- The stats service and newtab binding now work with PossibleConversations instead of imIContacts.
Wednesday, July 3, 2013
Monday, July 1st:
- Mainly a bunch of UI tweaks. This took a while. The new fonts are much cleaner looking, and some icon alignment issues are fixed. Also included the aero version of tag.png.
- Fixed a few bugs relating to key events.
- Looked at the implementation of the LIST command on IRC to get some idea of what kind of data I would have to process for MUCs in Awesometab.
- Moved all of the data management code from awesometab.xml to a new service (ConvStatsService) that will in the future manage contact statistics and sorting for Awesometabs.
- Learned quite a bit about services and interfaces (particularly about writing IDL files!) on the way.
- The buddy list tab now uses the service and is fully functional.