Status.FAILED was only being used by CreateEmailOperation, and even
then it was being used inappropriately. ReplayOperations should throw
an Error on failure.
This change does two things: (a) Only activate the search index
progress monitor if indexing has actually started (i.e. doesn't
display if no work is to be done), and (b) better estimates the amount
of work to be performed so the progress bar doesn't "jump" at the very
end.
SELECT within a SELECT can be deadly with SQLite and we've coded them
out of other places to improve database performance. The initial
search table scan at startup also used a SELECT within a SELECT, and
so refactoring it to manually perform the UNION operation improves
performance. The normal case (no rows must be indexed) is completed
almost instantaneously now.
This disables SSLv3 in GnuTLS (and therefore WebKit) to avoid
susceptibility to the POODLE attack vector. This is an extremely
unlikely vector for Geary as Javascript is disabled for all WebKit
views.
If the Welcome dialog (used to create the initial account) is visible
and Geary was re-run, an empty main window would appear. This is due
to the Welcome dialog hiding the main window until the first account
is created. Now, if Geary is re-run the Welcome dialog is presented
to the user.
This may possibly solve bug #737811.
Inline images with a Content-ID were being processed by the inline
image replacer but post-processing code would then drop the IMG tag
and replace it with the full-sized unrotated image data URI. This
corrects that problem by noting when an image with a Content-ID has
been replaced.
Inline images are rotated and scaled when displayed in the
conversation viewer for speed reasons (as well as to make extremely
large images manageable for the user to view). They were converted
to PNG during this operation.
Saving the image was, in turn, saving the rotated/scaled PNG although
the filename remained the original name (i.e. .jpg, usually), causing
issues for other tools who detect image type from the extension.
This patch solves this problem by maintaining the original image
buffer in memory. When the user goes to save the image, the original
buffer is saved, not the rotated and scaled PNG.
GtkTreeView's binding for Ctrl+N to "move cursor to next item"
conflicted with Geary's Ctrl+N binding for New Message. This removes
GtkTreeView's binding.
Prior RFC822 code treated In-Reply-To as only capable of listing a
single Message-ID parent. The spec does allow for multiple parent
messages, so this change reflects that.
This potentially can also fix bugs where messages were not included
in conversations, but this would be an edge case, as that would
require the MUA not listing the In-Reply-To Message-IDs in the
References list, which Geary does properly parse.
Discovered some messages that were not being incorporated into their
conversations properly due to their Message-IDs not being bracketed.
This change makes the parsing a bit more liberal when parsing but
stricter when stored in memory to ensure that hash() and equal_to()
work every time.
Old algorithm did internal-word searching which triggers false
positives. This introduces full-word matching (as well as suffix
matching of document file extensions, which the old algorithm got
for free) and a wider vocabulary of words to search for.
We lost "cover letter" due to limitations of this algorithm.
Previously, the code waited for the engine to report that a message
was manually marked as read to add the state it would need to avoid
marking the message as read when scrolling. Now that state is set
before submitting the op to the engine, meaning continued scrolling
doesn't trigger more mark operations.
When bottom posting, we need to place it between the quote and the
signature. Rather than trying to smoosh guess about where it should go,
we mark the spot explicitly when adding (or not adding) the signature.
https://bugzilla.gnome.org/show_bug.cgi?id=712912
This happens only if it's not changing the reply type. This helps in
the case where you are switching the reply and haven't de-selected text
that was previously quoted.
https://bugzilla.gnome.org/show_bug.cgi?id=712912
If part of a message is selected, that will be the replied-to message.
If parts of multiple messages are selected, or nothing is selected, the
last email will be replied to.
https://bugzilla.gnome.org/show_bug.cgi?id=712912
Two sets of close/detach buttons are added to the inline composer to
place them according to theme layout. For whatever reason, under
3.14 this call needs to be made when the widget is realized, whereas
before it was being called earlier.
Archive button now loads and miscellaneous icons (including close icon
used in viewer pane) are scaled properly.
Spam icon remains too small under GTK+ 3.14. That will be fixed with
bug #737862.
Latest build of Vala catches these. if block is a logic change, but
harmless as (a) it fixes a bug that (b) is never exercised by the
application, as it does not logout of IMAP sessions.