Thunderbird/Students/StatusUpdates/2010-01-29

This week’s Random Notes

Status Updates

Zach Church
Tim Miller

So I woke up on Saturday and headed in to school, set on having a productive, useful day and make some progress on my bug.

However, I could not get Thunderbird to compile. The error was related to a data type defined in the Windows 7 SDK, and was in a file i had not modified. So I began my quest to resolve it.

One of the first things I did was to check the SDK version windows was set to use. It was set to v6.0A. I have no idea why it was set to that, but it was wrong so I fixed it. Still didn't compile though.

Fast forward six hours. Still not compiling and I'm pulling what's left of my hair out in frustration. I was talking to sid0 on irc though and he mentioned a useful bit of information. The console checked the SDK version on startup, so it had to be restarted if the version was changed. Which I did six hours ago. Sure enough, restarted the console and it worked.

So pretty much my whole Saturday was wasted on a something that took a total of 30 seconds to fix. I hope I get more time to work on this this week.

Marcel Guzman
Kefu Zhao
Lindauson Hazell
Evan Stratford
Wei Xian Woo

Still working on bug 408338. I think I made pretty good progress this week.

For my first patch, I intended only to support periodically saving session state so that we can restore a user's session in the event TB crashed and deferred the other requested features to subsequent patches. However, I ended up finishing off supporting saving of session state for multiple 3-pane windows as well. Details:

  • For context, the 3-pane window is the "what you think of when you think of Thunderbird" window.
  • Prior to this, we only supported persisting the state of the last 3-pane window that was still active at the time Thunderbird shuts down CLEANLY. If TB crashed, we feel bad and start up cleanly next time for the user.
  • Firefox restores state for all windows only if Firefox crashed. On a clean shut down, state is persisted only for the last window.
  • In an effort to keep the same behaviour across Mozilla apps, I implemented TB's new Session Restore Manager to imitate the session saving/restoring behaviour in Firefox.

So, what's next?

  • Tests for patch 1!!!
  • Richer state!
  • Support other window types!

What happened to that Python script I said I was going to post on my blog?

  • I stopped blogging when I came to Waterloo, so I don't actually own a blog anymore. For the past week, I have been working on a Wordpress theme for my new blog. I expect the script to be posted by the end of next week. Sorry for the delays!

Who’s writing the blog post this week?

Tim Miller