Background prefetcher introduced open/close counts to allow the
same Folders to be opened and closed by multiple users. However,
open_count shouldn't be respected when forcing a Folder closed due
to remote error.
This was causing a bug where the connection would die but the Folder
would not close, leaving the program in a bad state.
This introduces a background account synchronizer into Geary that
prefetches email folder-by-folder to a user-configurable epoch. The
current default is 15 days.
Additional work to make this user-visible is coming, in particular with
The primary purpose for this feature is to allow "full" conversations
(#4293), which needs more of the mailbox stored locally to do searching.
Previously, we were taking folder names as they came off the wire.
Turns out IMAP specifies that folder names with 8 bit code points are
encoded in a crazy scheme unique to IMAP. Now, we properly decode that
scheme to the correct UTF-8 folder names to be displayed to the user.
There's also now a database upgrade path that converts all existing
mailboxes to the decoded version, so your existing database should just
keep working.
This doesn't solve #6205, as other unknown responses can cause this
problem as well, but it does fix this for the most-commonly reported
cause of this issue, MYRIGHTS.
We were presenting the main window with an erroneous timestamp, which
was causing composer windows to be created with an incorrect z order.
This presents the window without a timestamp, so there's no room for
error.
In some window managers, windows that display dialogs aren't
automatically presented. This manually presents the window before it
pops up the dialog, to keep behavior consistent.
* "Reply To" now labelled "Reply"
* Toolbar overflow menu labels no longer say "translated"
* .desktop file contains keywords
* For generic servers, "Remember password" now says "Remember passwords"
Ticket #6227 looks like a single problem, but in fact Tiago identified
it as two. Before this patch, the ComposerWindow assumed all prefilled
messages were either replies or forwards and prepended whitespace to
separate the user's message from the replied-to/forwarded one. This
is not the case with mailto: body's, which should be entered as-is to
a newly composed message.
There still exists #6227's issue with newlines not being inserted from
a mailto: link. That's enough of a side case we're committing this
now, as it's more common.
There's now a list of inboxes at the top of the sidebar if you have more
than one account. It gets the default selection if possible, so you
never have to see all the folders of your accounts if you work entirely
out of your inbox.
Some of the less-frequently used special folders have moved into a new
"More" grouping above "Labels". This keeps down the clutter for people
with lots of accounts.
Squashed commit of the following:
commit 647795e03e8b4d88df0f629b15416ff574fcda4a
Merge: 72515c2 4d2d304
Author: Charles Lindsay <chaz@yorba.org>
Date: Tue Feb 12 18:13:10 2013 -0800
Merge branch 'master' into special-subfolders
commit 72515c29ad8e1b1cc0bd653292fc9cf7a8665b27
Author: Charles Lindsay <chaz@yorba.org>
Date: Tue Feb 12 18:11:17 2013 -0800
Clean up
commit 8549a5d69b65969fc5d4d515f55f44cb98597b71
Author: Charles Lindsay <chaz@yorba.org>
Date: Tue Feb 12 12:02:49 2013 -0800
Add "More" grouping to sidebar
Squashed commit of the following:
commit d1f485ef349128ac33915e12622efb3d9d849659
Author: Eric Gregory <eric@yorba.org>
Date: Fri Feb 8 14:54:03 2013 -0800
Replaced AccountInformation.pretty_print() with AccountInformation.get_mailbox_address()
We now use a small timer when you click a folder before we actually kick
off a network connection. This effectively rate-limits how many
connections we make without significantly degrading the user experience.
Also we know that the folder selection function is not safely reentrant,
so that logic happens inside a mutex lock now.
The rate-limiting folder selection part is not an ideal solution, but
it's close to what we want (ideally, local results would be shown
immediately). However, the mutex lock is just a bandaid over the larger
problem of how much global state we juggle in the controller.
Squashed commit of the following:
commit 44e46663bb9b513970e11a62428834668987bf33
Author: Charles Lindsay <chaz@yorba.org>
Date: Wed Feb 6 17:29:22 2013 -0800
Comment our mutex lock
commit d951204aa163c73ed60b51368fa900ad6414046c
Author: Charles Lindsay <chaz@yorba.org>
Date: Wed Feb 6 16:59:32 2013 -0800
Select folders only after a small timeout
commit 012097139bfbaa76967667b8fcdd324634cc2506
Author: Charles Lindsay <chaz@yorba.org>
Date: Wed Feb 6 11:11:30 2013 -0800
Fix reentrancy issues using mutex
This adds an account property to the composer window. We had been using
the current account, which was problematic if you opened the window,
switched to a folder on a different account, then hit send.