One in GearyController is to assist when looking for reasons why
for log messages, otherwise multiple accounts could be difficult to
determine which database is causing the problem.
* The composer correctly sets its returned From address based on the
selection of the account dropdown
* New MAIL FROM SMTP command argument required when sending, to separate
the message contents from the SMTP-level sending a bit more
This adds a certain set of emails existing conversations, so you can see
your own replies inline, etc. It's not perfect, and has many
limitations, but it's a good first start.
This patch solves the following memory/resource leak problems:
(a) Gee.TreeSet doesn't drop references when destroyed. Fixed by
using a subclass that clears the set when destroyed (exactly same
as patch made to Gee, however that won't be in distribution for
awhile.)
(b) Imap.ClientSession was holding refs to CommandResponses after
they'd been completed. They're now dropped.
(c) Imap.ClientSessionManager now has an open/close_async() (called
by Imap.Account.open/close_async()) that drops all ClientSessions.
(d) All classes in Engine (and some in the client) use Geary.BaseObject,
which uses a static map to track outstanding held references to
it. The table is dumped when Geary exits. Must be enabled with a
./configure flag.
Two outstanding memory leaks persist (one for Imap.ResponseCodes and
another when messages are selected/deselected), so this doesn't close
the ticket, but testing and use has shown these changes to make a huge
improvement on memory usage and reducing crashes.
* "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"
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.
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.
Lots has been changed here. See the bug report
<http://redmine.yorba.org/issues/6230> for some of the discussion about
it.
This also fixes#6274. I'll cut the list of revisions off after a
while, because this branch has been outstanding for a couple weeks.
Squashed commit of the following:
commit ae505d89e87e63e0d8949bfd901913706a9d3b73
Merge: 81ef002 e18bef9
Author: Charles Lindsay <chaz@yorba.org>
Date: Thu Jan 31 15:16:17 2013 -0800
Merge branch 'master' into multiple-accounts
commit 81ef002f5ff486b9c28f5663a0ba1e7392b8489c
Author: Charles Lindsay <chaz@yorba.org>
Date: Thu Jan 31 15:15:51 2013 -0800
Fix final round of code review
commit 6935b1e7892b9b356bf5006b89e0b2a4e6a8ad16
Merge: c9ed434 a9dc52b
Author: Charles Lindsay <chaz@yorba.org>
Date: Thu Jan 31 14:45:46 2013 -0800
Merge branch 'master' into multiple-accounts
commit c9ed434fe936e6aed735baef222ae615364c2513
Author: Charles Lindsay <chaz@yorba.org>
Date: Thu Jan 31 14:31:02 2013 -0800
Simplify folder comparator
commit 28ac020cfd9135c6eb4ed05574c82b92f99c4a40
Author: Charles Lindsay <chaz@yorba.org>
Date: Thu Jan 31 14:06:55 2013 -0800
Bump up declaration to conform to guidelines
commit 0a8167bdaebd5fac1c3ca791de5f2cc233c13cb9
Author: Charles Lindsay <chaz@yorba.org>
Date: Thu Jan 31 13:54:03 2013 -0800
Rename back to list_*folders
commit 31457f60298052bdddba8e426db27f93d7c72529
Author: Charles Lindsay <chaz@yorba.org>
Date: Thu Jan 31 12:36:15 2013 -0800
Fix spacing, brevity issues
commit ecd30c203d80c21c1ca1234b8911b57efcb68294
Author: Charles Lindsay <chaz@yorba.org>
Date: Wed Jan 30 17:56:29 2013 -0800
Fix nits before review
commit 85b51d71e83115991cd9a54d491b4d45b71f2f9b
Merge: b29abce d538bf0
Author: Charles Lindsay <chaz@yorba.org>
Date: Wed Jan 30 17:46:19 2013 -0800
Merge branch 'master' into multiple-accounts
commit b29abceeaea84f226ab9bcd22266a511691d8005
Author: Charles Lindsay <chaz@yorba.org>
Date: Wed Jan 30 17:22:28 2013 -0800
Fix notifications
commit c26d975fb0859d807ddb7f7c10632605c3b6fb1c
Author: Charles Lindsay <chaz@yorba.org>
Date: Wed Jan 30 13:01:03 2013 -0800
Only show current acct. folders in copy/move menus
commit 9a5b57db1229a079f11f518c53f5762a3670b83f
Author: Charles Lindsay <chaz@yorba.org>
Date: Wed Jan 30 11:48:05 2013 -0800
Fix issue where wrong mail would show in folders
commit 3b05d18843584c2aff7472708eea30ce24068043
Author: Charles Lindsay <chaz@yorba.org>
Date: Wed Jan 30 11:18:38 2013 -0800
Fix ordering of folders in side bar
commit b228967b6a74c16698d593e53e65d66c69ffb974
Author: Charles Lindsay <chaz@yorba.org>
Date: Wed Jan 30 11:07:32 2013 -0800
Add icon to accounts in sidebar
commit dd05d2c987a46f0b6699d743c339297e06829e4f
Author: Charles Lindsay <chaz@yorba.org>
Date: Tue Jan 29 19:04:52 2013 -0800
Fix Labels icon
commit b5254fe8f6ef37df48d41167d0f52f3cd88d1966
Author: Charles Lindsay <chaz@yorba.org>
Date: Tue Jan 29 18:43:45 2013 -0800
Initial stab at new FolderList; fix compile errors
commit ff591810ee4312acce208dfa36d993069bc4c7d2
Merge: 2b9dbb9 ff5f9fa
Author: Charles Lindsay <chaz@yorba.org>
Date: Mon Jan 28 17:42:34 2013 -0800
Merge branch 'master' into multiple-accounts
commit 2b9dbb9b6963b1d52b2b90300bcea277b01d2094
Merge: 7583241 fcfb460
Author: Charles Lindsay <chaz@yorba.org>
Date: Mon Jan 28 17:21:49 2013 -0800
Merge branch 'master' into multiple-accounts
Conflicts:
src/client/geary-controller.vala
commit 75832412cc806c956848e32ef20052af36d4f64d
Author: Charles Lindsay <chaz@yorba.org>
Date: Mon Jan 28 16:37:15 2013 -0800
Fix IMAP sess. mgr. to recover from bad passwords
commit 8868b4be5c3f5c97246d35c6170531c6f543abe1
Author: Charles Lindsay <chaz@yorba.org>
Date: Mon Jan 28 12:06:21 2013 -0800
Typo
commit 3f909054502d31ca48e11f7948fd22118afe7514
Author: Charles Lindsay <chaz@yorba.org>
Date: Mon Jan 28 10:54:51 2013 -0800
Clean up interface a little
commit 3bfb526fe8801f8234127944be8594a960ccf7e7
Merge: 5e84e93 e971275
Author: Charles Lindsay <chaz@yorba.org>
Date: Fri Jan 25 16:23:52 2013 -0800
Merge branch 'master' into multiple-accounts
Conflicts:
src/client/geary-application.vala
src/engine/api/geary-engine.vala
commit 5e84e9375a655567a3bc4eb7ebaacab2d218be40
Merge: 35cc46b 9167aeb
Author: Charles Lindsay <chaz@yorba.org>
Date: Fri Jan 25 16:17:00 2013 -0800
Merge branch 'pluggable-auth' into multiple-accounts
Conflicts:
src/engine/api/geary-engine.vala
commit 9167aeb56be6789d49a3e7cdba2a21d2b015e40d
Author: Charles Lindsay <chaz@yorba.org>
Date: Fri Jan 25 16:11:20 2013 -0800
Fix for code guidelines
commit 35cc46bc99f44f1597c609bfeaa72dd503333a17
Merge: 9675f47 7612a7d
Author: Charles Lindsay <chaz@yorba.org>
Date: Fri Jan 25 15:44:18 2013 -0800
Merge branch 'pluggable-auth' into multiple-accounts
Conflicts:
src/client/geary-application.vala
commit 7612a7ddc3df14ef207b9e74ee32fa23710e1ce9
Author: Charles Lindsay <chaz@yorba.org>
Date: Fri Jan 25 15:26:48 2013 -0800
Fix code review issues
commit 46635544c98df7a8b6c76f028715814907274389
Merge: 30b611e 6de36ae
Author: Charles Lindsay <chaz@yorba.org>
Date: Fri Jan 25 12:54:03 2013 -0800
Merge branch 'master' into pluggable-auth
commit 9675f473e77d0d581cf73a33012981e6a4f44943
Author: Charles Lindsay <chaz@yorba.org>
Date: Fri Jan 25 12:53:18 2013 -0800
Try to make Folder know about its Account
commit 5d9af43e53199a616490cf6ff98bd3c613b4e5f2
Merge: 335480e 6de36ae
Author: Charles Lindsay <chaz@yorba.org>
Date: Fri Jan 25 12:12:21 2013 -0800
Merge branch 'master' into multiple-accounts
commit 335480e2dd0261c8fb82f1c6296f5b8c76f3ac02
Author: Charles Lindsay <chaz@yorba.org>
Date: Fri Jan 25 12:11:18 2013 -0800
Work on multiple accounts; fix compilation errors
commit 808e65d55798e3f08b4c70992718cc11befbb45c
Author: Charles Lindsay <chaz@yorba.org>
Date: Thu Jan 24 19:28:12 2013 -0800
Fix application logic for multiple accounts
You get the idea.
Squashed commit of the following:
commit e7af3b721314513fc6ea2eb57d10086e4f1e148b
Author: Eric Gregory <eric@yorba.org>
Date: Mon Jan 28 16:53:56 2013 -0800
Account dialog is back to being modal
commit cdd214070e67dc735c819df06c46a1d128ef20d2
Author: Eric Gregory <eric@yorba.org>
Date: Fri Jan 25 18:14:17 2013 -0800
Fix for password issue
commit 847da391373357bbca90ef6d8028ea8ff85458f1
Author: Eric Gregory <eric@yorba.org>
Date: Fri Jan 25 17:20:12 2013 -0800
Merging in changes
commit 7745ac1426fb8560624fed752de0ee162f97bd9e
Author: Eric Gregory <eric@yorba.org>
Date: Fri Jan 25 15:53:49 2013 -0800
Changes from code review
commit d7727544aaeacceb5c9b0ac3444a6db0311929db
Author: Eric Gregory <eric@yorba.org>
Date: Thu Jan 24 17:10:18 2013 -0800
Account editing, various account management bug fixes
Although a duplicate of #4639, where we decided not to implement this
feature in lieu of implementing #5137 (compress collapsed read messages),
since we don't know when that will be ready, this is a good stop-gap,
as current behavior is annoying with long conversations. Andrea's
code is cleanly delineated from the other code, and should be easily
removed if/when the time comes.
Squashed commit of the following:
commit 42968d6060a0952525a8d6cc831e6d8b2968f414
Author: Jim Nelson <jim@yorba.org>
Date: Thu Jan 17 15:04:48 2013 -0800
Final piece of Robert's patch that I missed
These changes make it so the message can be marked as unread
by the user and then won't get marked read again if the user scrolls.
commit d4f35121ec7956da30655642dfb4db1b92fb2133
Author: Jim Nelson <jim@yorba.org>
Date: Wed Jan 16 17:09:53 2013 -0800
Removed CSS and animation code from patch.
There have been some questions about the animation and CSS changes
internally, so I'd like to break that change out into a separate
ticket. Additionally, there's enough change here to get this right
that I'd like to minimize the final merged code.
commit 838af3835c0eabee1d10587280f793a9f40a149b
Author: Jim Nelson <jim@yorba.org>
Date: Wed Jan 16 17:04:49 2013 -0800
Merge of Robert Schroll's last two patches in #5352.
Squashed commit of the following:
commit 3b133030800699c2106bfb30a104cd58710cf245
Author: Charles Lindsay <chaz@yorba.org>
Date: Thu Jan 17 12:06:11 2013 -0800
Clean up state on close; ref #6208
commit a4637a49277740b64ac198fa057eb52556c80efa
Author: Charles Lindsay <chaz@yorba.org>
Date: Thu Jan 17 11:58:22 2013 -0800
Simplify build_folder; ref #6208
commit e9afa248ce525f0496220cfbb0d8529e38cbceae
Author: Charles Lindsay <chaz@yorba.org>
Date: Wed Jan 16 18:10:00 2013 -0800
Cleanup; ref #6208
commit 95ee3a2c6fcfd4b9b7e10aae1100fe7a8697c25a
Author: Charles Lindsay <chaz@yorba.org>
Date: Wed Jan 16 18:02:02 2013 -0800
Aggregate building folders; ref #6208
commit 28ee5df718e08c0121b26b1934b619a409fb451a
Author: Charles Lindsay <chaz@yorba.org>
Date: Wed Jan 16 16:49:17 2013 -0800
Make local-only folders available; ref #6208
This also slightly cleans up the special-casing of local-only folders.
commit 19c48fe657fca989fe0b519d39833dd8e0d95cfe
Author: Charles Lindsay <chaz@yorba.org>
Date: Wed Jan 16 15:44:55 2013 -0800
Use new interface; ref #6208
commit f64f82f9362a0081a3e4f7a21dc401f3d4ca320f
Author: Charles Lindsay <chaz@yorba.org>
Date: Mon Jan 14 17:11:04 2013 -0800
Try new interface in Account; ref #6208
Better instructions for translates to receive credit in the About
dialog (#5911) and includes strings in the Preferences dialog in
the .pot file. Also removes unneeded Translations.cmake file
(Gettext.cmake has all that we need) and fixes a problem in a late
release update for generating the POT file.
Complete refactoring of dropdown menu toolbar buttons. This uses
a better approach toward using customized widgets for the toggle
buttons and a more centralized approach toward maintaining the
dropdown menu.
In additional, Geary.FolderPath is now a Comparable, and should be
used as such in the future.
It's believed this patch will also fix ticket #5831.
When another folder is selected, the Inbox folder is still open
for monitoring and notifications. However, its ConversationMonitor
is destroyed when the folder selection changes, which is the
mechanism that performs connection re-establishment if the connection
dies. Thus, if the Inbox connection dies while another folder is
selected, new Inbox messages are not received.
This fixes that problem by maintaining an Inbox ConversationMonitor
at all times.