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.
This commit fixes a number of issues with traversing, showing, and
opening subfolders, especially on systems that don't use the
forward slash as a separator.
This caps the search results at 1000 emails, due to our unfortunate
requirement of constructing an object for each search result. A better
way to proceed here would be to do the search only as items were loaded
in the SearchFolder, but that gets complicated when the search phrase
gets updated.
Gregg's server is quoting the header fields in a BODY return
parameter, which caused Geary to not associate the response with
the request. This fixes that problem.
Some mailboxes cannot be SELECTED or EXAMINED, but ClientSession
was not handling the NO response properly. Also cleaned up some
other state change handling in there.
This adds an async queue processor in the background of the conversation
monitor to handle work items serially. Instead of the conversation
monitor directly running its operations, which would have the potential
to overlap, this ensures they happen in the correct order without
trampling on each other. This way, one operation isn't adding emails
that a prior operation had already removed the conversations for, for
example.
Won't close this quite yet because this workaround shouldn't be
necessary, and introduces a memory copy when dealing with message
headers and bodies, which we'd like to avoid.
There was a bug before where our Nonblocking.Mailbox's priority queue
wasn't actually being created correctly. This fixes that. Sounds like
this might affect lots of things, especially the order in which the
background fetcher syncs folders.