Commit graph

1827 commits

Author SHA1 Message Date
Jim Nelson
f1c75fc465 Patch major memory leak due to GMime bindings
Discovered a few binding problems while working on another issue,
in particular gmime_parser_construct_message()'s return object
not being freed, which can hold an entire message (attachments and
all) in memory.
2014-07-30 19:02:11 -07:00
Jim Nelson
9933f2d3fe Stabilize sort of search email identifiers: Bug #733271
Without stabilization, it was possible for multiple emails in search
results with the same INTERNALDATE to be dropped due to the equality.
2014-07-25 13:36:09 -07:00
Jim Nelson
1398cccfb1 Use quoted RFC822 string when autocompleting address: Bug #714956
Autocomplete now uses a properly-quoted RFC822 string when an address
is selected from the drop-down list.  This resolves the most egregious
case of the composer not accepting an email address formatted
[Last, First <mailbox@host>], as autocomplete is heavily relied-upon
and  Geary is presenting an address that can't be used, which is
confusing.

It's still possible for the user to manually enter such an address w/o
quotes (either typing or pasting it in).  However, this seems like a
far less problematic use case.  The ticket remains open due to this,
however.

Finally, some comments have been added to clarify the difference
between RFC822.MailboxAddress.get_full_address() and
to_rfc822_string().  I've also done a code-review to check that both
methods are being used correctly elsewhere in the code.
2014-07-25 13:23:00 -07:00
Marek Černocký
9f6020a627 Updated Czech translation 2014-07-23 13:14:58 +02:00
Robert Schroll
02eca78f64 Set the side of the window buttons in the HeaderBar from the GTK theme
Make two sets of the buttons, one for the start and one for the end of
the HeaderBar, and show one or the other based on the the theme.  Watch
the style context for changes in the theme and update accordingly.  Once
the composer is detached, the default close button is used, so hide both
and stop watching for style updates.  This assumes we never re-attach a
composer.

We also add a bit of space between the separator and the detach button.

https://bugzilla.gnome.org/show_bug.cgi?id=733372
2014-07-22 22:25:50 -04:00
Robert Schroll
b6bcbb9903 Force inline ComposerHeaderbar to have square corners
Also ensure that the main window HeaderBar has square corners when
running with ENABLE_UNITY.

https://bugzilla.gnome.org/show_bug.cgi?id=733374
2014-07-22 22:24:10 -04:00
Daniel Mustieles
d6a800ff2f Updated Spanish translation 2014-07-22 12:28:47 +02:00
Inaki Larranaga Murgoitio
2b18ba88db Added Basque language\nAdded 'eu' (Basque) to LINGUAS 2014-07-21 11:14:02 +02:00
Rafael Ferreira
10d2476b67 Updated Brazilian Portuguese translation 2014-07-20 17:10:32 +00:00
Piotr Drąg
00a04252d8 Updated Polish translation 2014-07-20 16:34:07 +02:00
Robert Schroll
bc29652175 New detach icon for inline composer
https://bugzilla.gnome.org/show_bug.cgi?id=733370
2014-07-19 17:17:23 -04:00
Jim Nelson
ab310a3702 Shift special folder priorities when synchronizing account
This patch solves two issues: (a) sometimes messages stick around in
conversations too long because Geary hasn't synchronized with Trash
(therefore realizing they should be blacklisted), and (b) All Mail can
take a long time to synchronize because of its bulk size.

This patch moves Trash (and Sent Mail) higher up in priority and moves
All Mail and Archive down to reflect these issues.
2014-07-18 16:21:15 -07:00
Jim Nelson
6693560251 Update to version 0.7.0 2014-07-18 14:05:26 -07:00
Robert Schroll
221d8f7400 Use HeaderBars for composers
Move the buttons from the bottom of the composer into the header.  The
draft save text is moved into the composer toolbar, for lack of a better
location.  When it's inline, we insert our own close button, so we can
control what it does.  When it's detached (and not using Unity), we
enable to default close button.

https://bugzilla.gnome.org/show_bug.cgi?id=731537
2014-07-18 12:05:24 -04:00
Rafael Ferreira
6064dbda7e Updated Brazilian Portuguese translation 2014-07-15 01:19:54 +00:00
Federico Bruni
eacca159b7 Updated Italian translation 2014-07-12 15:59:42 +00:00
Piotr Drąg
a0f12f0373 Updated Polish translation 2014-07-11 14:25:13 +02:00
Robert Schroll
35a7e9ff81 Avoid critical errors when addresses is null
https://bugzilla.gnome.org/show_bug.cgi?id=732982
2014-07-10 23:32:07 -04:00
Marek Černocký
5040347ad8 Updated Czech translation 2014-07-10 16:01:40 +02:00
Jim Nelson
1f6528b695 Object being passed for string in printf-style statement
Newest version of Vala apparently catches this (older versions
compiled w/o complaint).  Caught by GNOME Continuous.
2014-07-08 15:40:16 -07:00
Yosef Or Boczko
302a0bf040 Updated Hebrew translation 2014-07-09 01:06:54 +03:00
Robert Schroll
7c6aa35f95 Add tooltip to compact composer header
https://bugzilla.gnome.org/show_bug.cgi?id=732647
2014-07-08 17:49:47 -04:00
Jim Nelson
21bad376fa Strip and lowercase email addrs for Gravatar: Bug #732718
As per Gravatar's spec.
2014-07-08 14:18:23 -07:00
Jim Nelson
f5d52ebfc7 Update to Geary 0.6.1 2014-07-01 15:26:48 -07:00
Balázs Úr
60e0bcc4fa Updated Hungarian translation 2014-07-01 18:50:57 +02:00
Piotr Drąg
8f99cc5d96 Updated Polish translation 2014-07-01 14:53:07 +02:00
Jim Nelson
e5157d00d3 Prevent losing emails during move operation: Bug #731561
Move operation could lose emails if the copy destination doesn't
exist (or quota reached, etc.)  This de-pipelines the move operation
into a copy and a delete, guaranteeing the delete only occurs if the
copy succeeds.
2014-06-30 15:29:46 -07:00
Yosef Or Boczko
1c2a6431d2 Updated Hebrew translation 2014-06-26 23:46:39 +03:00
Yosef Or Boczko
38d492ef52 Updated Hebrew translation 2014-06-26 23:43:02 +03:00
Mohamed Ibrahim
6783c2ce63 Start notifying of new mail at session startup: Bug #714644
Geary can now be configured to notify of new mail at startup.  When
the user logs in, Geary will autostart with a hidden window and
notify of new mail as usual.  When Geary is formally executed by
the user the Geary window simply appears.

In this mode, if the user closes the window Geary will return to its
hidden state.  Quit must be used to close the process.
2014-06-26 13:31:43 -07:00
Marek Černocký
e07f2ad1ed Updated Czech translation 2014-06-23 23:08:51 +02:00
Cheng-Chia Tseng
4d13c3701e Updated Chinese (Taiwan) translation 2014-06-22 09:30:58 +00:00
Robert Schroll
38957303cb Remove trailing whitespace before wrapping plain text
Trailing spaces will inadvertently cause the line to be flowed into the
next.

https://bugzilla.gnome.org/show_bug.cgi?id=731746
2014-06-19 15:49:28 -04:00
Jim Nelson
2a35b7750c Don't allow copy/move message to save folder: Bug #731879
The Folder implementation returns with no error if attempted and the
folder menu item is disabled in the drop-down copy/move menus.
2014-06-18 13:12:59 -07:00
Jim Nelson
bab71fe0da Stop search progress monitor from flashing at startup 2014-06-17 13:46:44 -07:00
Robert Schroll
64b1818e7f Fix GtkHeaderBar button placement under GTK 3.12: Bug #731111 2014-06-17 12:52:24 -07:00
Adolfo Jayme Barrientos
0c1c095a8b Updated Spanish Translation 2014-06-16 17:55:51 +02:00
MarMav
79ce497189 Updated Greek translation 2014-06-13 11:46:37 +00:00
Jim Nelson
06e5c037c6 Fix infinite busy spinner: Bug #730655
Spinner didn't stop during certain Account.open_async() operations.
It's worth considering making all ProgressMonitors reentrant.
2014-06-12 13:02:46 -07:00
Robert Schroll
1909f8a5cb Debugging statements for creation and destruction of composers: Refs bug #731491 2014-06-12 13:04:58 -04:00
Daniel Mustieles
e054e9b714 Updated Spanish translation 2014-06-12 17:57:08 +02:00
Jim Nelson
28629ce6e2 Reduce database pauses: Refs bug #725929
Although not completely solved, this reduces database pauses
(along with prior commit improving parallelization of database) by
how ImapDB.Folder accesses the database.  In particular, one code
path required an INNER JOIN that simply took too long (~8s) on large
databases, locking the entire db in the process.  Tests and hacking
showed that, annoyingly, manually performing the INNER JOIN by
intersecting the results of two SQL transactions was more efficient.

In addition, creating/merging emails into the database is done in
chunks with a small pause between each chunk to allow other tasks
the opportunity to get to the database.  Create/merge is one of the
most expensive operations on the database.
2014-06-11 17:48:23 -07:00
Jim Nelson
9efbf64f3e Improved Folder connection retry
Folder now checks the open_count (as well as other details) to
determine if it should retry a closed connection; this prevents
certain race conditions where the Folder will continue to be reopened
even though it was legitimately closed by the caller.
2014-06-11 17:35:23 -07:00
Jim Nelson
bb09a2f3af Prevent AccountSynchronizer from deadlock
Occassionally the EmailPrefetcher would not signal its work was
completed, causing the AccountSynchronizer to deadlock (it waits
until the EmailPrefetcher completes before closing the Folder and
moving on to the next one).  The problem was due to the
EmailPrefetcher not clearing a timeout id, making other code think
other work was outstanding when it was in fact completed.
2014-06-11 17:27:14 -07:00
Jim Nelson
c0607fcccc Synchronize with Sent Mail immed. after sending one: Refs bug #714450
This doesn't completely solve bug #714450 but it does display a reply
or forwarded message more quickly in a conversation (rather than wait
for the Account object to signal that a Folder's contents has changed,
which is polled and may take minutes to notice).

This also slightly rearranges the priority order for background
synchronization, recognizing that some Folders (Drafts, Sent Mail) are
as active as All Mail but quicker to synchronize with (i.e. don't wait
for All Mail to complete synchronization before checking those).
2014-06-11 17:18:35 -07:00
Jim Nelson
8dec339f2e Improve database parallelization
Prior attempts to use multiple threads to access the SQLite database
failed due to locking reasons.  This re-attempt fixes this, alloc'ing
four threads per database and slightly changing the locking strategy
for read-write transactions.

Part of the prior issues may have been an attempt to use a connection
pool (this patch simply opens a new connection for each transaction,
which for our purposes seems fine).  The read-write strategy of
deferring locking until the write portion of the transaction was also
too optimistic, causing transactions to stall in the middle of their
operations.
2014-06-11 17:05:54 -07:00
Robert Schroll
ef984d8eca Make zooming conversation view work with smooth scrolling
Often, we get smooth scrolling events on WebViews, but the zooming code
looks only for non-smooth scroll events.  This handles both.

https://bugzilla.gnome.org/show_bug.cgi?id=731500
2014-06-11 16:01:34 -04:00
Gustavo Rubio
34deaf76ce Don't forget signature when "Sign emails" is unchecked: Bug #730965 2014-06-11 12:24:03 -07:00
Gustavo Rubio
2cdec72b50 Only add signature to draft once: Bug #731177 2014-06-10 12:38:34 -07:00
Mattias Eriksson
ee03aaa2c0 Updated Swedish translation 2014-06-08 21:16:50 +00:00