This simplifies some code, including ImapEngine.AccountSynchronizer,
which previously had to use the position field to "walk" backward
through the folder looking for the email of the appropriate epoch.
Now, a single SEARCH command gets the necessary information.
Assertion is incorrect here because it's possible for the data
not to be returned for valid reasons -- usually a command response
failure (i.e. "NO"). Still want to log it for debugging purposes,
but don't crash when it happens.
Note that this patch also won't return the email if it doesn't
fulfill all the fields.
A recent commit made Geary.Folder's FolderProperties a property
(rather than available via a getter). This commit makes its
FolderPath and SpecialFolderType also properties.
More significant problem is that new symbol (from #6428) requires
GTK 3.6, so moved requirements up for it and Vala, plus couple
more than should've been updated a while back.
Conflicts:
sql/version-010.sql
src/client/folder-list/folder-list-folder-entry.vala
src/engine/rfc822/rfc822-message.vala
Also, I had to manually fix some compile errors introduced due to
interfaces changing on master.
This introduces synchronized literals into the IMAP stack. This
work also includes a new Memory.Buffer interface (replacing the old
Memory.AbstractBuffer classes) which is more flexible and has more
potential for avoid buffer copies. Some work in RFC822 and Db use
these new unowned buffer capabilities.
This opens the door for saving drafts (#6992). It also fixes issues
people have reported using UTF-8 usernames and passwords with IMAP.
Due to #5327, whenever you're on a folder with lots of conversations and
you're viewing one in the conversation viewer, if you then select a
different folder, you get many "conversation selected" signals. This
fixes a bug where each one of those would trigger some background work
that wouldn't get cancelled, leading to many spurious messages showing
up in the conversation viewer as a result, instead of clearing the
viewer as expected.