The internal Imap.Folder object was not being closed in all code
paths, causing the re-open to fail every time. Solution is to
properly close the object and to distinguish between soft and hard
failures when opening a connection to the server.
ReplayRemoval must be processed in-order with ReplayAppend operations.
By making it local-only, removals could execute before previous append
notifications.
Technically broken (unencoded dot!) "From:" addresses like
=?utf-8?Q?WestLicht.=20Schauplatz=20f=C3=BCr=20Fotografie?= <info@westlicht.com>
were not decoded in Geary's conversation viewer.
Other clients like Gmail and Thunderbird handle the
brokenness, and we should too.
This also closes bgo#714339, "subject contains garbled UTF-8
characters".
https://bugzilla.gnome.org/show_bug.cgi?id=713060https://bugzilla.gnome.org/show_bug.cgi?id=714339
Background synchronizer was keyed to work on ImapEngine.GenericFolders
which are no longer the most basic IMAP folder in the system. This
prevented the account synchronizer from doing any work at all.
We had a bug in our DateTime to time_t conversion logic where all
time_ts would end up in the year 3800. This fixes that, and repopulates
the internaldate_time_t column with the new, correct time_t values.
Closes: bgo #724335
In their hidden state, quotes will be limited in length, with a link to
extend them. Only long quotes will be hidden; short ones will be
displayed in their entirety. Note that the threshold for hiding a quote
is larger than the size of the hidden quote. This ensures that there
will always be a noticable expansion of a quote when it is shown. (This
also accounts for the fact that the height we measure includes padding.)
We can only measure the size of a quote once it is actually shown as
part of the document. Notably, we can't figure out the sizes of quotes
in hidden emails. Therefore, we also decide which quotes in an email
need to be hidden when the email is unhidden. However, showing and then
hiding quotes can lead to content flashing, so we start all quotes off
in the hidden state, and remove this if they turn out to be short
enough.
This looks for some translatable common names for special folders like
Sent Mail, Drafts, Spam and Trash, instead of only relying on the
server's special-use or xlist extensions. If the server doesn't report
special-use/xlist, we look for common folder names, creating them on the
server if necessary, so we always have folders necessary for tasks like
saving drafts or sent mail.
Closes: bgo #713492
The character following the token is found through a look-ahead, to
avoid consuming the opening of the next token. (There should be
newlines separating tokens, but in some poorly understood circumstances,
this doesn't happen.) We don't use a look-behind at the beginning, so
that the second consecutive token doesn't insert a second newline
between the two. (The first of the pair already gave us one.)
Closes: bgo #723742
The "enabled" property is no longer used, so removing.
If the flag watcher is cancelled (because the folder has been closed),
the watcher was still rescheduling another polling loop. This patch
prevents that.
If compiled with the GDK binding fix in Vala 0.23.2 (bgo#713240), this
patch fixes the accelerator problem.
Tip o' the hat to Charles, who pointed out the accelerators.ui file.