Commit graph

438 commits

Author SHA1 Message Date
Matthew Pirocchi
7c0f7b8dc1 Don't fail when Geary fails to save the password to the keyring: Closes #5256 2012-05-24 11:15:20 -07:00
Matthew Pirocchi
883e45577b Warn user before exiting if composer window has unsent text: Closes #5279
YorbaApplication's 'exiting' signal now allows callbacks to cancel the
edit. GearyController now keeps a list of all open ComposerWindows, and
listens for YorbaApplication's 'exiting' signal. When the signal is
received, GearyController warns the user about each open ComposerWindow
with unsent text. If the user cancels the closing of any of these
ComposerWindows, GearyController cancels the edit.
2012-05-24 11:00:03 -07:00
Jim Nelson
9a64661f2c Add time to debug log: Closes #5196
In addition, the log handler was moved to Geary.Logging, so other
applications can use it too.
2012-05-23 19:45:36 -07:00
Jim Nelson
619974e286 Debug statements to log connection drop/reset problems: #5241
This patch adds additional logging and debug statements regarding
connection drops and resets and attempts by Geary.Conversations
to reestablish a connection.  There's also some small changes
to simplify the disconnect code.
2012-05-23 16:23:15 -07:00
Jim Nelson
f459a937c5 Optimize fetching local previews: Closes bug #4977
This speeds up fetching local previews by adding a call for the
client to fetch a lot of previews at once rather than one at a
time.
2012-05-22 14:26:50 -07:00
Nate Lillich
cb2f78748b Closes #3773. Moving and copying emails between folders is now supported. 2012-05-22 13:44:57 -07:00
Eric Gregory
026f048672 Closes #5269 Left grip can now resize indepedently of right grip 2012-05-18 13:02:19 -07:00
Jim Nelson
550e584424 Internal cleanup of GenericImapFolder
The list and fetch variants were starting to get unruly over time,
so this cleans up how the deal with parameter checking.
2012-05-17 19:55:00 -07:00
Jim Nelson
5df92a6278 Simplified normalization when message appended
Prior work on fixing #5114 included using UID ranges when a new
message came in to avoid a perceived one-off problem.  This returns
to the old way of doing things (using positional addressing), which
means not having to access the database to determine what messages
to fetch.
2012-05-17 19:53:19 -07:00
Jim Nelson
f9212ee950 Geary fails to report newly arrived email: Closes #5114
This appears to solve the problem entirely.  The Conversations
object was maintaining extra refs to Conversation objects which
had been previously removed (archived) and reporting them as gone
to the client.  But, when new messages came in for that old
conversation, it mistakenly associated them and reported them as
added, which the client silently ignored (it couldn't find the
conversation in its own list).
2012-05-17 19:36:49 -07:00
Christian Dywan
1aedc81290 Closes #5268 Pre-populate real name in login dialog 2012-05-17 11:56:36 -07:00
Nate Lillich
1b81abc5a6 Fixes #5238. BCC headers will no longer be sent to anyone. 2012-05-17 10:48:44 -07:00
Jim Nelson
4eaf5f5bd9 No more replay queue errors when closing a folder: Closes #5271
This patch fixes two bugs causing #5271.  First, the ReplayQueue
wouldn't close due to the is_closed flag being set before submitting
the internal operation that flushes the queue.  Second, the
retooled fetch_email_async() wasn't checking if the folder was
opened, causing problems with the flag watcher and prefetcher.

Additionally, debug logging was improved here, which helped debug
this problem.
2012-05-17 10:15:05 -07:00
Jim Nelson
8a1543fb03 Geary fails to report newly arrived email: Closes #5114
Prior commit failed to solve this problem.  Further study leads me
to believe that the two separate replay queues (send, recv) allow
for subtle timing holes.  There is now a single replay queue that
manages both types of operations, meaning each one is executing
atomically without an operation on another queue changing state
out from underneath it.
2012-05-16 18:40:14 -07:00
Jim Nelson
1f636af133 Retooling geary-mailer
This patch changes geary-mailer to make it more usable from the
command-line (for scripting and such).  Not perfect (yet), but a
start.  Important additions for later is being able to specify
subject and message body.
2012-05-16 17:13:44 -07:00
Jim Nelson
9615f2cd9b Fixes assertion failure in GenericImapFolder.fetch_email_async: Closes #5265
fetch_email_async() should be throwing an exception (as per its
contract) when a message is not located in the folder.
2012-05-16 11:31:39 -07:00
Jim Nelson
21c0e6bf3f Better debug in Geary.StateMachine
Eric once reported a triggered assertion inside Geary.StateMachine
that was unreproducible.  This change means that if it happens
again better information will be logged to try and debug and/or
reproduce it.
2012-05-15 12:03:14 -07:00
Jim Nelson
8e28950aea Fixes bug added in last commit 2012-05-15 11:55:46 -07:00
Jim Nelson
9711d3f502 Added additional debug to the SendReplayOperations
Also found a small optimization in FetchEmail.
2012-05-15 11:40:28 -07:00
Jim Nelson
ce73f610dc More efficient use of network resources
Previously, Geary could sometimes request elements of an email
message it already had in the database.  Often this was due to
the client requesting information already present as well as one
additional field; the old implementation required all the requested
fields be pulled down.

Now Geary will work out on a message-by-message basis what is
present and what is not and request only missing fields for each
one.  It will cluster messages missing the same fields into the
same request and it submits all requests simultaneously, to take
advantage of IMAP pipelining.

This work has some orthogonal benefits toward #5224, better
Dovecot support, by making the upper layers able to merge an email
using both locally-fetched data and remotely-fetched data.
2012-05-14 17:55:06 -07:00
Nate Lillich
0e1437ef27 Fixes #5215. Quoted printable headers that are erroneously encoded will be properly decoded. 2012-05-14 17:13:57 -07:00
Nate Lillich
b4b32a9ea7 Fixes #5229. The BCC field is now displayed whenever present. 2012-05-11 10:58:55 -07:00
Jim Nelson
38abcac7a4 Only recurse folders when children are available
Gmail supports the CHILDREN extension, which means that labels
with children are marked as such.  This information can be used
to prevent unnecessary recursion when loading the folder list
(which speeds startup).
2012-05-10 20:28:42 -07:00
Jim Nelson
0d71975c0d Support heirarchical labels: Closes #4696
Bugs in engine and client were preventing heirarchical labels from
appearing in Geary.  Fixed with an assist by Bruno Girin
<brunogirin@gmail.com>.
2012-05-10 19:10:48 -07:00
Eric Gregory
7a7a86e81c Closes #5022 Linkify outgoing messages 2012-05-10 18:15:55 -07:00
Jim Nelson
ba3ef2a35a Fixes assertions when message has no Date: field
In my Yahoo! account was an email with no Date: field in the
header (spam).  This triggered a lot of assertions in Geary, both
the engine and the client.  This fixes them.
2012-05-09 18:18:33 -07:00
Jim Nelson
9e95b43b97 Cannot delete Yahoo emails: Fixes #5189
The problem is solved by using UID EXPUNGE rather than plain-vanilla
EXPUNGE.
2012-05-09 17:34:15 -07:00
Eric Gregory
3cf0d7b49b Version is now 0.1.0+trunk 2012-05-07 12:03:04 -07:00
Eric Gregory
14089f0fc1 GEARY 0.1 IS HERE! Closes #5200 Package automation 2012-05-04 17:53:26 -07:00
Nate Lillich
6ae00e391f Fixes #5177. The help documentation is now at help/C instead of just help. 2012-05-04 17:21:28 -07:00
Laura Khalil
21f4347ca5 Help Documentation for Geary 0.1 2012-05-04 16:54:14 -07:00
Nate Lillich
bb50cc85c6 Fix for #4809. The message list will now stick to the top. 2012-05-04 13:01:04 -07:00
Adam Dingle
c89255bbc4 Autoselect the older of two adjacent messages after archiving.  As mentioned in a comment on
http://redmine.yorba.org/issues/4662, I think this looks nicer since the selection rectangle
does not visually move after an archive operation.

This is an exact revert of commit b11c1af070.
2012-05-04 12:14:15 -07:00
Jim Nelson
c62553007b FETCH decoding fails, causing various problems: Closes #4781
This also closes #5079, which I believe was caused by #4781 (and
could reproduce once isolated).

This commit may also close bug #5189, but need to verify further
on reporter's machine before closing.

These problems are all related to emails lacking a Message-ID in
their header, common with spam and mass-emailers.
2012-05-03 20:27:12 -07:00
Eric Gregory
85d378701f Closes #5060 Fixes #3698 Packaging and install, news, and readme files 2012-05-03 19:09:34 -07:00
Nate Lillich
406746190f Fix for #5192. The icon for the archive/delete button is now themeable based on the account's personality. 2012-05-03 18:04:07 -07:00
Nate Lillich
960cd56254 Fix for #5052. The mark menu now has a text label and generic menu down arrow. 2012-05-03 18:03:12 -07:00
Nate Lillich
b361fd8ead Fix for #5010. This adds a new remove formatting icon, custom made for us. 2012-05-03 18:01:31 -07:00
Jim Nelson
75188b353d Fixes assertion caused by a connection aborting early
I encountered this this morning when a TLS connection failed to
set up.  Although I can't reproduce this, I believe this patch
will solve the problem.
2012-05-03 17:23:11 -07:00
Eric Gregory
1b7d7cc98f Closes #4836 Always scroll to top when new conversation selected 2012-05-03 16:13:13 -07:00
Eric Gregory
d17d46499c Closes #5190 Prevent errors when user cancels after entering invalid password 2012-05-03 15:39:59 -07:00
Jim Nelson
5a2a371e01 Geary fails to report newly arrived email: Closes #5114
This appears to be a timing issue between a message being deleted
and a message arriving at approx. the same time.  The new event
handler dealing with incoming mail is not so strict and uses UID
addressing to be more generous in scooping up any new email than
it has in the local store.

*Believe* this to be fixed, but as this is so difficult to repro
and diagnose, there may still be some cases out there.
2012-05-02 21:22:52 -07:00
Jim Nelson
47b87f6417 Geary works properly with empty folders: Closes #5032
When an empty folder received a new message, Geary.Conversations
wasn't recognizing it.

Also, if a folder was empty in the database and received a message
when Geary wasn't monitoring it, Geary would not recognize the
new message.  This corrects that as well.
2012-05-02 17:35:31 -07:00
Eric Gregory
873ef9a105 Dist tarball now in xz format 2012-05-02 16:01:52 -07:00
Jim Nelson
bf6bd4caeb De-emphasized IMAP error when connection to Yahoo!: Closes #5145
The message is benign, but useful for developers.  Reduced urgency
of message from message() to debug() and changed wording to soothe
users' fears.
2012-05-02 15:45:32 -07:00
Eric Gregory
b5d78fa795 Make dist target 2012-05-02 15:34:51 -07:00
Eric Gregory
9c6370424a Added gitattributes for packaging purposes 2012-05-02 15:34:51 -07:00
Jim Nelson
53b42f5108 Switching folders no longer causes Geary to stop displaying msgs: Closes #5184
Problem would occur when closing the Folder object while it was
still opening the remote folder.  This patch cleans that up so
all requests waiting for it to open are properly errored and
the close can continue without waiting.
2012-05-02 15:06:52 -07:00
Jim Nelson
82b141275c Fixes assertion failure in Geary.Conversations: Closes #5186
Assertion removed, replaced with big warning in debug log.  Also
only fires signals once all modification has been made to
Conversations state -- potential issue here may be reentrancy.
2012-05-02 13:36:39 -07:00
Jim Nelson
4b6ac96a7d Reestablish dropped connections: Closes #4568
This rather large patch makes Geary.Conversations now responsible
for reestablishing a connection with the server if it ever drops
due to error.  Once reestablished, Conversations will resynchronize
and report any new messages to the client.  To the client, it's
invisible.

Working on this revealed problems with session teardown and Folder
state issues, as well as a memory leak.  These are all fixed in
the patch.

There remains other connection timeout problems when the network is
unavailable, but will need to be addressed in a separate patch.
2012-05-01 20:36:35 -07:00