Thunderbird/Students/StatusUpdates/2010-02-19
Contents
This week’s Random Notes
Status Updates
Zach Church
I've done most of what was recommended in the feedback (https://bugzilla.mozilla.org/show_bug.cgi?id=504122) for my first patch. Right now, I'm just working on adding some more Mozmill tests. I hope to submit the patch again (hopefully) by the end of next week.
Tim Miller
I've been plugging away on my getting my build to compile again. I spent several hours sorting through numerous compiler errors, which were a bit difficult to sort out.
I did learn something useful though. You can use 'make -s' to hide all the commands that make is processing and only show you the results. That means no more pages full of entering directories, processing commands, and leaving directories. You just get the files it compiles and a few other messages. It is MUCH easier to spot and read errors this way.
Also, for anyone who doesn't know, you can run 'make' in your object directory where you have made changes and it will compile files in that directory recursively. This is about the fastest way to rebuild after making changes.
I was getting errors about my new interface causing the class it was included in to be an abstract class because the function I defined was abstract. Meaning somewhere in the compile process it was not recognizing that I had written a definition for that function. Not surprisingly, I was also getting an error saying the concrete definition of my function had no declaration and was not a member of the class I was defining it in.
After searching through ~5 different files for several hours, checking includes, checking makefiles, looking at declarations with a microscope, searching http://mxr.mozilla.org/comm-central/ for any references to similar functions that would give me a clue and studying documention on https://developer.mozilla.org/ to try to understand what was going wrong with the compile process, I finally decided to revert all my changes, nuke the object directory, and do a clean build.
It finally built, but then would not run, saying it was already running when there were clearly no other processes of it running. >.< Probably need a restart.
Edit: restart didn't help. May banging my face against it will. I'll get back to you on that.
Edit 2: Banging face did not help. However, I found the lock file in the AppData/Roaming/Thunderbird folder and removed that and it worked.
I have decided to approach my problem slightly differently this time. I realized I could declare my function in another interface file that is already working correctly. It should avoid this most recent problem I've had, although It may be less obvious how to use the function.
Marcel Guzman
Kefu Zhao
This week I started to work on my first patch to Bug 461669. Actually, this bug regards to the fact that TB still can't select the correct identity as the "from" address in "reply to list" mode.
I added some code to handle "reply to list" case in getIdentityForHeader() in mailCommand.js. Basically, what I did was that I called out the mimeParser when "reply to list" mode is triggered. Then, I loaded all the "Delivered-To" headers (from the least recent to the most recent) to the "hintForIdentity", which is going to be passed to getBestIdentity() to help better decide which identity should be used as the "from" address. In getBestIdentity(), I am going to add some code to parse the "hintForIdentity" to find the last occurrence of the registered identity (if any).
In this way, I hope this bug can be solved.
BTW, in the patch that Bryan Clark posted, I found a bug that the "from" address cannot be selected from identities correctly in normal "reply" mode. I am investigating this as a side task.
Next I am going to debug my code and get it work. Then I can post it and start writing some test for it.
Lindauson Hazell
I deliver my senior science seminar presentation next week. I should be able to continue working on bugs next week.
Evan Stratford
I've been overseas for Reading Week, and therefore (again) less than productive.
Wei Xian Woo
So, I finally submitted my first patch for bug 408338. This week was spent working through and revising the Mozmill test cases, and doing minor touch ups here and there.
What's next? On to patch 2 while I wait for feedback on patch 1. For patch 2, I plan to make the saved state richer (i.e. keeping track of more things, such as those requested in the bug).
Who’s writing the blog post this week?
Lindauson Hazell