Commit graph

1239 commits

Author SHA1 Message Date
Avi Levy
6867987074 Non-image inline attachments not shown in client: Closes #5748
This processes existing email for inline attachments and adds them
to the attachments table, doing the same for new mail as it arrives.
2013-07-19 16:28:56 -07:00
Jim Nelson
14b9343da3 Smarter account synchronization at startup: Closes #7228
Also removes one annoying debug line from my last commit.
2013-07-17 17:30:49 -07:00
Jim Nelson
da8c95c29a Remove positional listing operations from Geary.Folder: Closes #7249
This simplifies the various Folder implementations, removes one (large)
replay queue operation, makes vector expansion _much_ simpler, and
generally makes the Geary API a bit cleaner.

Because the code affected included some of the proposed fixes for
operation.  That plus the vector expansion changes may have some
affect on that ticket.
2013-07-17 16:53:34 -07:00
Jim Nelson
3270edb1fa SMTP buffers not completely written: Closes #7248
The recent fix to support dotstuffing (#7173) introduced a regression
where it was possible for incomplete SMTP buffers (i.e. the message)
to be delivered.

The SMTP layer now deals in Memory.Buffer objects, which required
some small changes to the Authentication interface.  Also, some
missing error-handling in RFC822.Message was introduced.
2013-07-16 14:59:48 -07:00
Jim Nelson
3f43d683e0 Remove assertions when converting FetchedData to Geary API objects: Closes #6682
a couple of assertions in the code could cause a similar problem, so this removes
them and replaces them with log messages.  Later code in the code path deals with
this problem in a more sane manner.

More specifically, I believe the IMAP rework deals with the problems of certain
servers returning the preview information out-of-order and in separate server data
lines properly.
2013-07-11 16:00:46 -07:00
Jim Nelson
ec3dcb8e7c SmtpOutboxEmailIdentifier needs FolderPath: Closes #7114 2013-07-11 15:51:49 -07:00
Eric Gregory
99b02890f9 Closes #7231 Adds upgrade dialog to install list 2013-07-11 15:05:37 -07:00
Eric Gregory
9068d6330b Closes #4644 Spinner fix 2013-07-11 12:50:19 -07:00
Charles Lindsay
1054b99264 Fix EmailIdentifier's equal_to; fix #7220
I had mistakenly used == to compare FolderPaths, which have their own
equal_to method.

Also, this cleans up a bit of the ConversationSet logic that wasn't
needed since EmailIdentifiers take folder_path into account in their
hash and equal_to methods.
2013-07-11 11:42:13 -07:00
Jim Nelson
1c0017b63b Improved ImapEngine.EmailPrefetcher
The prior ImapEngine.EmailPrefetcher pulled messages one at a time to
prevent hogging the connection with lots of data (when a lot of new mail is
detected).  This patch simplifies some of the preparation code and
pulls the mail down in 128K batches, meaning multiple small messages are
pulled at once, meaning quicker availability without blocking the connection
entirely.
2013-07-10 18:58:32 -07:00
Charles Lindsay
aebfadea70 Update search folder on new mail; fix #7132
Also disables the search folder when it is hidden, so we aren't doing
background I/O.
2013-07-10 16:06:08 -07:00
Robert Schroll
d07f342af3 Fixes #7176 Extra close() call 2013-07-10 11:37:13 -07:00
Eric Gregory
d3773f992e Closes #7176 Find bar assertion 2013-07-09 15:39:17 -07:00
Charles Lindsay
a9fc3adb30 Add new external email to conversations; fix #6498
This accomplishes a few things:
* Adds some signals to the Account that aggregate various Folder
  signals, so anyone can find out when mail has been appended to any
  folder, for example.
* Refactors the ConversationMonitor further.  The conversation grouping
  logic has been split out into a ConversationSet, and
  ConversationMonitor proper is now just the folder interaction.
* The new ConversationSet tracks duplicate emails better using
  Message-IDs, so if you get an email in multiple folders we can figure
  out whether we should actually add it as a new email or not.
* Using all of that, we now kick off a full-conversations update
  whenever new mail comes in on any folder, so your conversations update
  as you're looking at them when Geary sees new mail, regardless of
  folder.
2013-07-09 13:48:47 -07:00
Yosef Or Boczko
bff2070f68 Avoid conflict with Gtk.Window.close: Closes #7196
This doesn't affect Vala 0.20.1, but this will be a problem with
GTK 3.9.7 and the patch does not introduce any backward compatability
problems.
2013-07-09 12:15:23 -07:00
Charles Lindsay
02a23c4747 Don't assert when switching folders; fix #7141 2013-07-09 11:06:46 -07:00
Eric Gregory
40c28c305f Closes #7174 Fix for account deletion 2013-07-08 17:56:30 -07:00
Jim Nelson
fe98878a67 Don't display warnings about unknown IMAP response codes: Closes #7179
Since IMAP's response codes are open-ended and subject to further
additions, this also reworks the ResponseCodeType to be more
flexible in what it represents (any atom rather than a fixed enum
of values).
2013-07-08 14:56:04 -07:00
Eric Gregory
ffa642f458 Closes #7154 DB upgrade dialog 2013-07-08 14:22:23 -07:00
Jim Nelson
a2f6ad8c38 Fixes failure to archive multiple conversations
This is something I've noticed rarely but finally figured it out.
Occassionally my first archive operation will involve multiple
conversations.  In that case, current_conversation and last_deleted_conversation
will both be null, causing the "don't archive last archived conversation"
check to succeed.  This works around this problem.
2013-07-07 14:14:37 -07:00
Jim Nelson
5b0d493ff0 Prevent flag watcher from looping forever
Bruno Girin on the mailing list noticed Geary churning constantly.
Some investigation and I was able to repro it -- an off-by-one
error was causing the flag watcher to forever pull the oldest
email's flags.  This catches that as well as spaces out the
timeout so the next round of fetching happens a full timeout
sequence after the last flags are pulled (rather than starting at
regular intervals, which can come in close on low-powered machines).
2013-07-06 20:21:14 -07:00
Jim Nelson
2cb8954779 Fixes bug where emails with empty Subject: are not fully fetched 2013-07-06 19:46:47 -07:00
Robert Schroll
5ce720a2cc "Display message preview" -> "Display conversation preview": Closes #7202 2013-07-05 15:38:54 -07:00
Jim Nelson
a60c8bb99e Minor bug that could cause the ReplayQueue to start even though Folder didn't open 2013-07-03 19:49:01 -07:00
Jim Nelson
b9997464bf Turn on SQLite synchronous mode: Closes #7197 2013-07-03 19:15:07 -07:00
Robert Schroll
0d95d362c7 Closes #7193 Conversation viewer cleanup 2013-07-03 19:00:15 -07:00
Jim Nelson
44dd2303b9 Re-synchronize folders when oldest email date changes: Closes #7185 2013-07-01 18:12:12 -07:00
Jim Nelson
b08134a2ea Remove position field from Geary.Email: Closes #6920
This simplifies some code, including ImapEngine.AccountSynchronizer,
which previously had to use the position field to "walk" backward
through the folder looking for the email of the appropriate epoch.
Now, a single SEARCH command gets the necessary information.
2013-07-01 17:41:36 -07:00
Jim Nelson
83fbc7d131 Don't crashed on FetchedData assertion: Closes #7146
Assertion is incorrect here because it's possible for the data
not to be returned for valid reasons -- usually a command response
failure (i.e. "NO").  Still want to log it for debugging purposes,
but don't crash when it happens.

Note that this patch also won't return the email if it doesn't
fulfill all the fields.
2013-07-01 15:28:16 -07:00
Eric Gregory
9717d77850 Closes #7176 Find bar escape key issue fixed 2013-07-01 15:25:43 -07:00
Jim Nelson
c4b32c15a8 Added some debug for reasons why GenericFolder might not open 2013-06-29 10:31:12 -07:00
Eric Gregory
3a15634c2d Closes #7127 Update local unread count 2013-06-28 17:13:50 -07:00
Eric Gregory
cc0cee25e9 Closes #7177 Adding edit icon to install 2013-06-28 11:38:06 -07:00
Eric Gregory
b7f48c2418 Closes #7100 Fixes search folder tooltip 2013-06-27 18:03:19 -07:00
Jim Nelson
bc8fc2ed4a Fixes Valadoc errors. 2013-06-27 17:42:09 -07:00
Jim Nelson
f83fd64601 Implement IMAP SEARCH: Closes #7172
This implements the basics of the SEARCH command and response in
the IMAP stack and exposes it up to Imap.Folder.
2013-06-27 17:21:55 -07:00
Jim Nelson
a11838e40b Perform SMTP dot-stuffing: Closes #7173
Ensures dot-stuffing occurs one way or another before transmitting
SMTP data.  Also clears up native/CRLF linefeed issues with
RFC822.Message.
2013-06-27 15:27:09 -07:00
Jim Nelson
668ced74eb Make FolderPath and SpecialFolderType properties of Geary.Folder
A recent commit made Geary.Folder's FolderProperties a property
(rather than available via a getter).  This commit makes its
FolderPath and SpecialFolderType also properties.
2013-06-26 15:03:55 -07:00
Charles Lindsay
0198c24a65 Avoid potential memory leak in conv. monitor 2013-06-26 14:41:35 -07:00
Avi Levy
15cd770310 Different background color for sent mail: Closes #6371 2013-06-26 14:38:34 -07:00
Charles Lindsay
4c296ad5cc Split up conversation monitor code; fix #7047 2013-06-26 14:34:47 -07:00
Jim Nelson
85dd41aa94 Can't build with Vala 0.18: Closes #7161
More significant problem is that new symbol (from #6428) requires
GTK 3.6, so moved requirements up for it and Vala, plus couple
more than should've been updated a while back.
2013-06-25 17:51:12 -07:00
Charles Lindsay
ad0deb9eb5 Add new SQL files to install list; fix #7160 2013-06-25 16:49:59 -07:00
Eric Gregory
ea3e291615 Closes #7148 Search highlighting fixes 2013-06-25 16:33:29 -07:00
Eric Gregory
7d741fb696 # results for search (also fixes spelling error) 2013-06-25 15:49:25 -07:00
Charles Lindsay
df74c6e286 Merge branch 'feature/search'; fix #3766
Conflicts:
	src/client/ui/main-toolbar.vala
2013-06-25 15:11:45 -07:00
Charles Lindsay
903e6f0f7c Nice background search table population; fix #7152 2013-06-25 14:53:14 -07:00
Avi Levy
98edb6e02c Even friendlier dates in conversation list: Closes #7118
This is a follow-up to #7051.
2013-06-25 14:23:51 -07:00
Avi Levy
6785460869 Show keyboard accelerators in menus: Closes #6428 2013-06-25 14:16:39 -07:00
Jim Nelson
08a363ee1e Reduce maximum width of search box: Closes #7093, Closes #7149
I went with 32 characters instead of 40, which seemed about right
to my eye.  By making the filler expandable, this also solved
2013-06-25 13:41:17 -07:00