Commit graph

18 commits

Author SHA1 Message Date
Charles Lindsay
910e1c3d0b Update copyright headers; fix #6195
Also removing the erroneous space that had crept in at the end of the
line in most of our header comments.
2013-04-12 12:32:39 -07:00
Charles Lindsay
842e390ed1 Rough draft full conversations; fix #4293
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.
2013-03-08 17:41:33 -08:00
Jim Nelson
826e9d5f3a Memory leak and lost reference tracking: Refs #5306
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.
2013-03-07 18:08:50 -08:00
Charles Lindsay
81e3896c07 Add message search API; fix #6366
With the new prefetcher, this will let us grab messages outside of the
current folder and insert them in conversations.
2013-02-26 11:09:02 -08:00
Jim Nelson
f54f805501 Prefetch mail in background according to age of message: Closes #6365
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.
2013-02-25 20:18:37 -08:00
Eric Gregory
5ee4a55dc1 Closes #4647 Closes #5685 Spam/unspam 2013-02-21 14:57:59 -08:00
Eric Gregory
0350a8fe0f Closes #6286 Delete accounts
Squashed commit of the following:

commit 1b045edd6c28e3f837107577726b61c839816bc2
Author: Eric Gregory <eric@yorba.org>
Date:   Mon Feb 4 19:25:36 2013 -0800

    Changes from code review

commit bcd52b9f571de316eda39bd181df121bc4753c40
Author: Eric Gregory <eric@yorba.org>
Date:   Mon Feb 4 18:21:53 2013 -0800

    Removed cancellable check

commit 1cc528ca39555233cd5e851229a242fc118c11ae
Author: Eric Gregory <eric@yorba.org>
Date:   Mon Feb 4 18:17:42 2013 -0800

    Delete account (2nd branch)
2013-02-04 19:26:48 -08:00
Charles Lindsay
3308189ece Load and display multiple accounts; fix #6230
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.
2013-01-31 15:19:12 -08:00
Charles Lindsay
13b804eca0 Add folder avail. signals to Account; closes #6208
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
2013-01-17 12:50:30 -08:00
Jim Nelson
126378d85c Separate IMAP and SMTP credentials: Closes #5635, Closes #5208
This rather large patch allows separate IMAP and SMTP credentials
and separates the user's credential username from their email
address.  Additional work in this patch includes fixing some minor
protocol bugs in the SMTP stack to work with Postfix, refactoring
the Geary.Engine interface to stop issuing plain strings for
account names, and removing the Geary.EngineAccount abstract class
which was growing unnecessary with each passing day.
2012-08-27 12:11:26 -07:00
Matthew Pirocchi
f9d4c7cb9e Autocomplete addresses in To, CC, BCC fields: Closes #4284. 2012-08-16 16:07:43 -07:00
Christian Dywan
2c0a210656 New mail notification: Closes #3828
Adds new mail notification via libnotify for new previously-unseen
messages.  Various minor bugs fixed in here as well that were
relevant to this operation (including notifying of locally
appended messages during folder normalization and reusing Folder
objects inside Account).
2012-06-14 16:47:54 -07:00
Eric Gregory
6963063fd5 Send outgoing messages via Outbox folder: Closes #4569
Squashed commit of many patches that merged Eric's outbox patch
as well as additional changes to upgrade the database rather than
require it be wiped and some refactoring suggested by the Outbox
implementation.  Also updated Outbox to be fully atomic via
Transactions.
2012-06-13 11:54:20 -07:00
Adam Dingle
281f29bc77 Updated copyrights to 2012. Closes #4564 2012-01-10 10:40:34 -08:00
Eric Gregory
d9129b5ff4 Report login failure to user. Closes #3811 2011-12-22 12:31:06 -08:00
Jim Nelson
7f293f9a6f No longer crashes when running for the first time: #3798
Problem was that the client fetches folder objects for the special folders (Inbox, Drafts, etc.) prior to fetching the full folder list and the Engine's fetch_folder_async() call wasn't prepared to handle fetches for folders not located in the local database.
2011-07-04 13:54:00 -07:00
Jim Nelson
0273b78005 Folder heirarchies: #3788
Now supporting folder heirarchies.  The client will now descend looking for subfolders.  This task now opens up multiple outstanding requests to the Engine as well as exercises the database schema.

Closing this ticket opens the door to finishing #3692.
2011-07-01 15:40:20 -07:00
Jim Nelson
41faa36103 New file naming scheme and organization for the Engine.
The code base is growing much faster than expected, faster than Shotwell it seems (not necessarily line count, but files and necessary organization of the library vs. Shotwell's initial flat directory).  After some thought decided to move to a more standard Vala/GTK naming scheme of all lowercase with dashes for spaces starting with namespace (minus the "geary-", unless the class was in the topmost namespace).  Three motivations:

1. Often confusing when working on code to see three "Folder.vala" in the gedit tabs: one IMAP, one SQLite, and one the interface definition.
2. This paves the way for waf integration, as right now we're held up using it because it barfs on projects with two files of the same name in different directories.
3. I find the CamelCase in the file browser becoming hard on the eyes, and this scheme seems a little more browsable.
2011-06-27 11:24:39 -07:00
Renamed from src/engine/api/Account.vala (Browse further)