http://redmine.yorba.org/issues/4662, I think this looks nicer since the selection rectangle
does not visually move after an archive operation.
This is an exact revert of commit b11c1af070.
This also closes#5079, which I believe was caused by #4781 (and
could reproduce once isolated).
This commit may also close bug #5189, but need to verify further
on reporter's machine before closing.
These problems are all related to emails lacking a Message-ID in
their header, common with spam and mass-emailers.
This appears to be a timing issue between a message being deleted
and a message arriving at approx. the same time. The new event
handler dealing with incoming mail is not so strict and uses UID
addressing to be more generous in scooping up any new email than
it has in the local store.
*Believe* this to be fixed, but as this is so difficult to repro
and diagnose, there may still be some cases out there.
When an empty folder received a new message, Geary.Conversations
wasn't recognizing it.
Also, if a folder was empty in the database and received a message
when Geary wasn't monitoring it, Geary would not recognize the
new message. This corrects that as well.
Problem would occur when closing the Folder object while it was
still opening the remote folder. This patch cleans that up so
all requests waiting for it to open are properly errored and
the close can continue without waiting.
Assertion removed, replaced with big warning in debug log. Also
only fires signals once all modification has been made to
Conversations state -- potential issue here may be reentrancy.
This rather large patch makes Geary.Conversations now responsible
for reestablishing a connection with the server if it ever drops
due to error. Once reestablished, Conversations will resynchronize
and report any new messages to the client. To the client, it's
invisible.
Working on this revealed problems with session teardown and Folder
state issues, as well as a memory leak. These are all fixed in
the patch.
There remains other connection timeout problems when the network is
unavailable, but will need to be addressed in a separate patch.
Geary.Folder had a handful of Valadoc items that could be removed
and one that I wanted to clean up.
I increased the chunk size of fetching messages to increase the
number of messages returned to the caller at one time. This
should reduce the jitteriness that has been reported when first
opening a folder (seeing messages appear 5 at a time).
Finally, I turned off synchronous mode in the SQLite database.
We did this some time back in Shotwell and enjoyed a performance
boost when writing while sacrificing little in the way of safety.
This makes even more sense for Geary.
This introduces a configure script that automates the basic task
of setting up a CMake build directory. It also uses a top-level
Makefile (which the configure script generates, to prevent running
it until configure has executed) which does the build and copies
the final executables into the root of the source tree.