This adds the ability for Geary to push sent mail up to the account's
Sent Mail folder (if available). There's an accompanying account option
that defaults to on (meaning: push sent mail).
The current implementation will leave messages in the Outbox (though
they won't be sent again) if they fail to be pushed to Sent Mail. This
isn't the best solution, but it at least means you have a way of seeing
the problem and hopefully copying the data elsewhere manually if you
need to save it.
Note that Geary might not always recognize an account's Sent Mail
folder. This is the case for any "Other" accounts that don't support
the "special use" or "xlist" IMAP extensions. In this case, Geary will
either throw an error and leave messages in the Outbox, or erase the
message from the Outbox when it's sent, depending on the value of the
account's save sent mail option. Better support for detecting the Sent
Mail folder in every case is coming soon.
Closes: bgo #713263
This deals with both the star and unread icon, so both are good now.
Need to clean up the rest of the conversation list's selection probs,
bgo#723265. Also would like to reduce the intensity of the icons,
bgo#720771.
I noticed recently that when composing a draft message, if the
connection to the Drafts folder was dropped by the server, Geary
would enter a fast reconnect loop. The problem was that, even if
Imap.Folder signals "disconnect", it's close_async() must be called.
This adds that logic to the background reestablishment code.
User's server was returning a status code that indicates an invalid
password, when in fact it was simply indicating that it didn't
support the AUTH type (even though it advertised it in its connect
capabilities). This removes the error-checking by SMTP value and
simply attempts all chosed AUTH types.
This patch is a grab-bag of fixes to get mail onto the screen faster
and report new mail waiting on the server more quickly.
In a nutshell:
* Adds a NO_DELAY flag to Folder.open_async which indicates that
background remote connections should initiate ASAP rather than
wait for a local request that requires remote information.
* Reduce creation of ImapDB.Folders (which, previously, were
generated as though "cheap"), which means caching server
information. ImapDB now relies on ImapEngine to refresh that
information on its own.
* The background search table update is delayed to allow startup
database tasks priority.
* Rather than delay selection of a folder 100ms to prevent the user
from holding down a key or clicking madly, the initial selection
goes right through, but subsequent ones are delayed. This may
also help resolve bug #713468.
* And the big one: ImapEngine.Account doesn't load local and remote
folders in parallel at startup, but rather local first, reports
them to the user, and then loads the remote and pairs the two.
This gets the UI up and going much more quickly.
* Remove details section
* Fix plural problem
* Remove unnecessary labels
* Only allow to prompt for one password at a time, which was true in
practice already, but the code is cleaner making that a requirement
Closes: bgo #720779
This approach immediately updates the remote_count when an upcall
is received, as that math is important for determining positional
addressing if another one immediately follows it. However, the
async calls only deal in the remote count *at the time the upcall
arrived*, in effect allowing for the upcall to be serially processed
using async blocking calls.
Fix involved wider cleanup of Message processing code. In particular,
RFC822Message.get_body() can allow or disallow the inline image
replacer to be the only part of the message depending on if get_body()
is in "fallback" mode or not.
This should get Geary ready to be integrated into l10n.gnome.org,
GNOME's Damned Lies translation project. The biggest change is that we
no longer track a .pot file, but we set it up so that translators can
generate their own using intltool-update --pot.
Closes: bgo #713827
Archive shows up as its own button for any account that supports
archiving (currently only Gmail). Trash or delete shows up as one
button, depending on what the folder supports and whether you've got the
shift key held down. Future work will extend supporting archive to
other account types and getting the trash special folder recognized in
more accounts.
Closes: bgo #714212
Vala 0.23.1 introduced a change to how array .length property is
evaluated when transferring ownership to a method. See
bgno#721001 for more information.