Thunderbird/Students/StatusUpdates/2010-03-19

From MozillaWiki
Jump to: navigation, search

This week’s Random Notes

Status Updates

Zach Church

Sorry I've been MIA for a couple weeks... camping for spring break, and there were no internets. I've completed all of the changes Blake suggested when I submitted my patch, but I need to write more tests. However, I'm having a hard time getting the Mozmill tests to pass, even without my patch applied, so I need to figure that out. Once that's done, writing the tests that I need to write shouldn't be a problem.

Tim Miller
Marcel Guzman
Kefu Zhao

This week I spent most of the time on writing tests and finally delivered my first patch with test included.

As for test, I have tried two ways to add multiple identites to an account. Firstly, I tried user_pref() based on the advices I heard from irc. However, it doesn't work because (I think) all these identity/account related settings are already set at the beginning of the test (in runtest.py). All I get by using this method is that I can only revise the only one identity in the default account instead of adding multiple identites.

Then, as an atternative, I refered to several IDLs and tried to use acctMgr = Cc["@mozilla.org/messenger/account-manager;1"] .getService(Ci.nsIMsgAccountManager) to programatically create multiple identites. It works pretty well. :)

Basically, the following is the basic flow of my test:

1. add one account 2. add multiple identities to that account 3. add a message with multiple delivered-to headers to that account 4. select that message and click "reply to list" 5. verify the From address

For this week, hopefully I can get some feedback from Blake and make some enhancement.

Lindauson Hazell

Firstly, I apologize for missing last week's post, I moved international to St. Kitts (Leeward Islands, Caribbean).

I was puzzled for some time about the the code that impacted the menu overlay settings. I had been told at the beginning, in the bug definition that all I needed to do is insert the missing control elements into the mailWindowOverlay.xul.

Well, that should have been simple, but its been this long and I'm still not done. Primarily because I've been on a wild goose chase (well sorta). Apparently there are multiple mailWindowOverlay.xul files. I was simply editing the wrong one.

So, my changes are at least impacting the ui, but just not in the way that I expect it to. For example, disabling a menu object in code dosen't necessarily disable the on-status of that object at runtime, but removing the initialization somehow does.

Gonna keep working on this. I'm a little slower than most at this, but I think I'm close.


Lin

Evan Stratford

Writing the vCard export patch turned out to be a good idea! Testing it revealed a bug in vCard import: according to the vCard specification, the type markers are case-insensitive; this includes BEGIN and END, which were expected in uppercase by the importer but written to file lowercase by the exporter. As a result, the importer was unable to import vCard files produced by the exporter - a very inconsistent state of affairs. I fixed this bug in vCard import, and added some extra code to vCard export to remove extra newlines between the serialized vCard objects; these newlines confused some parsers. With that changed, I uploaded the vCard export patch for review.

Wei Xian Woo

My work on supporting additional window types is currently suspended. After Blake's 2nd review of my first patch, I made a few minor changes he suggested and submitted the patch again for a 3rd review -- this time by Andrew Sutherland. Andrew pointed out a number of things and I spent the week making some of these changes. They include:

  • Listening to the "quit-application" event, which is essential to handling the "File -> Quit" case. It was apparent from Andrew's very first comment about my patch that I made a false assumption.
  • Renaming some functions so their names would be slightly more descriptive. For example, |getState| vs |getWindowStateForSessionPersistence| in the 3-pane window class.
  • Making the interaction between the session store manager and the 3-pane window more natural. By trying to preserve existing logic made things seem somewhat awkward.
  • Adding detail to some comments. For example, "the last state string" vs "the JSON stringified representation of the last saved state".

I expect to submit a revised patch before the end of the coming week.

Who’s writing the blog post this week?

Tim Miller