Commit graph

4905 commits

Author SHA1 Message Date
Michael Gratton
2f36221b7a Fix conflicting keyboard shortcuts and update overlay
This fixes search/star and archive/select all conflicting, cleans up
mark read/unread conform to the HIG, and updates the help overlay and
fix some problems with it.
2019-08-18 21:18:15 +10:00
Michael Gratton
90016b8ae6 Merge branch 'wip/coc' into 'mainline'
Add Contributor Covenant Code of Conduct

See merge request GNOME/geary!287
2019-08-17 07:06:45 +00:00
Michael Gratton
adc5c0fbcf Merge branch 'wip/537-send-on-invalid-cc' into 'mainline'
Composer: Only enable send if CC/BCC/Reply-To are empty or valid

Closes #537

See merge request GNOME/geary!286
2019-08-17 06:56:26 +00:00
Michael Gratton
71d74933ce Add Contributor Covenant Code of Conduct, re-sync READMEs 2019-08-17 16:48:45 +10:00
Michael Gratton
840494b2fa Composer: Only enable send if CC/BCC/Reply-To are empty or valid
Fixes #537
2019-08-17 16:33:29 +10:00
Michael Gratton
3a2a8c0c7c Merge branch 'wip/538-crash-changing-from' into 'mainline'
Fix crash when changing composer From address

Closes #538

See merge request GNOME/geary!285
2019-08-17 06:15:36 +00:00
Michael Gratton
a52ff36454 Fix crash when changing composer From address
Fixes #538
2019-08-17 15:55:35 +10:00
Michael Gratton
5aa2a0679f Merge branch 'wip/ricotz/criticals' into 'mainline'
Add missing generic arguments in engine tests to fix valac criticals

See merge request GNOME/geary!283
2019-08-15 08:46:11 +00:00
Michael Gratton
779c3e0ac6 Merge branch 'wip/workaround-fedora-folks-ci-ftb' into 'mainline'
Disable Fedora CI build due to rawhide packing bug

See merge request GNOME/geary!284
2019-08-15 08:42:01 +00:00
Michael Gratton
24ec88a7bd Disable Fedora CI build due to rawhide packing bug
See https://bugzilla.redhat.com/show_bug.cgi?id=1740958
2019-08-15 18:21:02 +10:00
Rico Tzschichholz
5c909334b7 Add missing generic arguments in engine tests to fix valac criticals
See https://gitlab.gnome.org/GNOME/vala/issues/835
2019-08-15 08:36:46 +02:00
Michael Gratton
9365e8ee46 Fix IDLE command not being cancelled if it has not yet been sent
Using a spin lock meant that if an IDLE was cancelled while it was being
sent it wouldn't actually be cancelled until something else came along.
This would commonly cause a deadlock, since higher level code would be
waiting for the command that was queued that caused the IDLE to be
cancelled in the first place.
2019-08-14 07:34:42 +10:00
Michael Gratton
794de77776 Fix wrong service being reported for account sync problems 2019-08-14 07:34:09 +10:00
Jordi Mas
7ab7d5f628 Update Catalan translation 2019-08-12 21:28:23 +02:00
Michael Gratton
659a23f4e6 Merge branch 'wip/empty-folder-errors' into 'mainline'
Errors on emptying folders

See merge request GNOME/geary!280
2019-08-11 23:02:06 +00:00
Michael Gratton
1a58157ceb Merge branch 'wip/replay-queue-wedging' into 'mainline'
Fix various replay queue wedges

Closes #385 and #215

See merge request GNOME/geary!277
2019-08-11 22:31:09 +00:00
Michael Gratton
ca7873274d Fix error emptying trash/junk folders
Add a ReplayQueue checkpoint after queing the empty op to keep the
folder open long enought that all flag updates and expunge notifies are
received and processed.
2019-08-11 21:40:29 +10:00
Michael Gratton
9fd6c8c695 Add replay queue notification flush and checkpoint methods
To support more deterministic folder synchronisation, add means to
flush all pending server notifications and a checkpoint operation to
be able to determine when they have been processed.
2019-08-11 18:12:10 +10:00
Michael Gratton
4c895e99fb Merge branch 'wip/logging-output-fixes' into 'mainline'
Logging output fixes

See merge request GNOME/geary!278
2019-08-10 02:26:02 +00:00
Michael Gratton
bf2781f5be Fix missing structured fields in extended Geary.Logging calls 2019-08-10 11:56:07 +10:00
Michael Gratton
90d7d69c57 Fix tuncated formatting of extended Geary.Logging calls 2019-08-10 11:55:56 +10:00
Michael Gratton
cfbe618220 Use brief Imap.Command string representations in debug logs 2019-08-10 08:57:51 +10:00
Michael Gratton
e2077984ec Rework how Imap.Command handles being cancelled
When a command is cancelled due to a disconnect, throwing a
GLib.IOError.CANCELLED is ambigouous, since it could have also been
because the API client cancelled sending the command. Instead, ensure
an ImapError.DISCONNECTED is thrown instead.

This fixes ImapEngine.ReplayQueue not retrying ops on disconnect.
2019-08-10 08:57:51 +10:00
Michael Gratton
4a8f5ec45a Minor code cleanup
Imap.ClientSession doesn't automaticaly enter IDLE after doing a SELECT,
so there's no need to guard against it.
2019-08-10 08:57:51 +10:00
Michael Gratton
31497cff86 Make Imap.CientSession::enable_idle non-async
It doesn't actually do any async calls, so simplify.
2019-08-10 08:57:51 +10:00
Michael Gratton
05c8236ea8 Fix replay queue not letting remote ops execute when closing
If remote ops cannot obtain a remote session when the queue is closing
(but not yet fully closed), they can't every be successfully flushed.
2019-08-10 08:57:51 +10:00
Michael Gratton
b103b038b6 Merge branch 'wip/350-folks-fuzzy-match-workaround-brown-paper-bag' into 'mainline'
Brown-paper-bag fix for wrong folks individual being used

Closes #530

See merge request GNOME/geary!275
2019-08-07 09:01:28 +00:00
Michael Gratton
2025aa24e1 Merge branch 'rfc822-cpu-bug' into 'mainline'
Fix 100% CPU usage on mismatch utf escapes in rfc822 string

Closes #333, #347, #299, #156, and Teams/Translation/pl#2

See merge request GNOME/geary!274
2019-08-07 00:50:44 +00:00
Joe Barnett
15e0d18dd6 Fix 100% CPU usage on mismatch utf escapes in rfc822 string
Since we're adding 2 to the index_of return value, we can't
compare to -1.

See issue #504
2019-08-06 17:06:44 -07:00
Michael Gratton
340081fc76 Brown-paper-bag fix for wrong folks individual being used
Fixes #530, follow up for #499
2019-08-07 09:41:29 +10:00
Michael Gratton
5331f34135 Merge branch 'wip/misc-cleanup' into 'mainline'
Misc cleanup

See merge request GNOME/geary!273
2019-08-06 12:35:07 +00:00
Michael Gratton
a3cf3894fc Merge branch 'wip/draft-management' into 'mainline'
Draft and composer management fixes

Closes #290, #170, #72, and #36

See merge request GNOME/geary!270
2019-08-06 12:22:58 +00:00
Michael Gratton
5256fd9fe3 Hide composer save button if an error occurs opening draft mgr
See bgo 775263
2019-08-06 22:03:09 +10:00
Michael Gratton
f68970ac86 Fix composers that open detached having a visible detach button 2019-08-06 22:03:09 +10:00
Michael Gratton
0ab18a3800 Don't clobber in-window composers on conversation count change
Check there aren't any open composers first before updating the main
window's UI on conversation count change.

See #170
2019-08-06 22:03:09 +10:00
Michael Gratton
e037342583 Fix double-clicking on a draft in the conversation list
Along with commit 070e2f52, by avoiding checking if we need to close
open composers on the second/third clicks of a double/triple click,
ensures that double-clicks on drafts in the conversation list works
correctly.

See #72
2019-08-06 22:03:09 +10:00
Michael Gratton
b4f4cbbe08 Infer draft status from composer's draft_id property
This lets remove the `is_draft` flag from a bunch of places, simplifying
logic at a number of call sites.
2019-08-06 22:03:09 +10:00
Michael Gratton
fdb35426c4 Clean up async parts of loading the composer
Construct new composer widgets synchronously so we have some guarantees
of when the widget will be added to the main window. Only load referred
message from the store and into the composer asynchronously.
2019-08-06 22:03:09 +10:00
Michael Gratton
daa01c3d13 Rework how managing composers works when switching conversations
Move responsibility for managing composers when switching conversations
from the controller to the main window.

Removes Application.Controller::should_create_new_composer and
::can_switch_conversation_view, moving half the code to
::create_compose_widget_async since it was only used there, and moving
the rest to a new MainWindow::close_composer method, where it belongs.
Add new MainWindow::has_composers property, and convert call sites of
removed methods to use these instead.

Update ConversationViewer to clean up composer management code a bit and
add a ::current_composer property, and add a new ComposerWidget:close
method to support the above changes.
2019-08-06 22:03:09 +10:00
Michael Gratton
51ac4b7310 Don't reopen drafts that are already open in a composer
See #72
2019-08-06 22:00:28 +10:00
Michael Gratton
c6d4887b9e Restore and show reply-to and bcc headers if present in draft
See #36
2019-08-06 22:00:28 +10:00
Michael Gratton
4e513e3967 Allow saving drafts when closing composer due to view change
Use the composer's built-in confirm dialog when deciding to close
inline composers due to a new folder/conversation being selected.

See #290
2019-08-06 22:00:28 +10:00
Michael Gratton
230127237a Add Db.Statement.get_expanded_sql
Useful for debugging.
2019-08-06 21:42:19 +10:00
Michael Gratton
6646328d6e Remove Db.Statement.raw private field
This can never get used, so just remove it.
2019-08-06 21:38:52 +10:00
Michael Gratton
329d0380e9 Add some minor unit tests 2019-08-06 21:37:39 +10:00
Michael Gratton
514fc0f670 Fix valadoc error 2019-08-06 21:37:27 +10:00
Piotr Drąg
c5ffdb464d Update Polish translation 2019-08-04 15:45:02 +02:00
Michael Gratton
dd1b816958 Merge branch 'wip/279-convo-list-context-labels' into 'mainline'
Conversation list context menu fixes

Closes #279

See merge request GNOME/geary!272
2019-08-04 03:11:20 +00:00
Michael Gratton
c5d0561c00 Update other trash/delete menu items for consistency 2019-08-04 12:51:41 +10:00
Michael Gratton
e7372ea1cb Fix shift-to-delete stuck on ConversationList context menu
Use a GTK popover rather than regular menu so evenr processing continues
when the menu is visible, and hence if Shift is released the main
toolbar reverts back to showing Trash rather than Delete.
2019-08-04 12:49:16 +10:00