Andrei Alexandrescu wrote:
Step 2 is another huge reason of annoyance with both Thunderbird and Opera. As far as I can tell, if they are downloading headers in the background, user actions have bottom priority. I want to see a message, I click, and then I wait and wait and wait. It's like a worker who can't tend to an urgent task because of doing drawer cleanup! The right behavior is to pause everything that's going on if that would slow down the user.
I agree with your complaint. The whole point of multithreading is so that the app will appear to be very responsive to user input. Things that don't show to the user get put in background threads.
Yesterday I exited Opera before having downloaded all headers. Today I started it and it seems to be in an infinite loop. The status bar says "Connecting", then "Authenticating", then "Fetching Groups". It has done so for ten minutes and is not making any progress in terms of loading headers.
This is totally unacceptable for any program that reads stuff over a network. It must update its local database in a transactional, restartable manner, so that it transparently recovers from random network outages.