Commit graph

4935 commits

Author SHA1 Message Date
Michael Gratton
c3fc7c4533 Merge branch 'wip/infinte-filling-redux' into 'mainline'
Make App.ReseedOperation alway check the window for re-filling

See merge request GNOME/geary!291
2019-08-26 03:47:46 +00:00
Michael Gratton
006b4c5ca5 Make App.ReseedOperation alway check the window for re-filling
When the remote re-opens, new messages may have become available that
could be added to the conversation set if the window is not yet full.
Thus always check whether a fill operation should be queued.
2019-08-26 13:32:04 +10:00
Michael Gratton
52f0817116 Fix Geary.Logging.Flag serialisation
Add missing serialisation for CONVERSATION and PERIODIC, shorten all
serialised values to a recognisable abbreviation to reduce verbosity.
2019-08-25 16:45:31 +10:00
Michael Gratton
94a8acad2f Merge branch 'wip/update-duplicate-inbox-hack' into 'mainline'
Update ImapDb.Account hack to remove duplicate inboxes

See merge request GNOME/geary!290
2019-08-25 01:06:05 +00:00
Michael Gratton
a122f334dd Merge branch 'wip/fix-first-run-deadlock' into 'mainline'
Fix a deadlock resulting in no UI being shown on first run

See merge request GNOME/geary!289
2019-08-25 00:50:51 +00:00
Michael Gratton
c6197adce0 Update ImapDb.Account hack to remove duplicate inboxes
Two of my account's databases had duplicate inboxes which were not being
removed by the existing workaroud, this updates it so that they are.

I had removed the duplicate from a third account ages ago and it hasn't
come back since, so maybe the underlying problem is gone, but the
correct fix would be to move this workaround to a migration and add a
uniquness constraint on (parent_id, name).
2019-08-25 10:44:31 +10:00
Michael Gratton
976e989b8c Fix a deadlock resulting in no UI being shown on first run
After switching to DBus activation, we need to ensure that a controller
is present when arbitrary GApplication actions are executed so a
main window also exists. This lead to a deadlock on first run since
when the application was activated, it would be in the middle of
constructing the controller when it showed the Accounts Editor, which
would block since it would also try to construct a controller.

This fixes the deadlock by moving the first-run check to the
application, outside of the lock.
2019-08-25 10:23:16 +10:00
Federico Bruni
2c028a6e03 Update Italian translation 2019-08-24 06:55:24 +00:00
Michael Gratton
93acc93330 Make unread/read shortcut help text same for Ctrl & single keys
See https://mail.gnome.org/archives/gnome-i18n/2019-August/msg00022.html
2019-08-21 21:14:32 +10:00
Daniel Mustieles
318790aa87 Update Spanish translation 2019-08-21 10:18:37 +00:00
Federico Bruni
ba64c429d0 Update Italian translation 2019-08-21 07:31:04 +00:00
Daniel Șerbănescu
c0e13cee22 Update Romanian translation 2019-08-20 18:57:25 +00:00
Jordi Mas
89682e6eca Update Catalan translation 2019-08-18 21:27:11 +02:00
Jiri Grönroos
b3a44d1483 Update Finnish translation 2019-08-18 14:55:14 +00:00
Michael Gratton
e65d45fe74 Merge branch 'wip/search-fixes' into 'mainline'
Search cleanup

Closes #478 and #420

See merge request GNOME/geary!282
2019-08-18 14:38:37 +00:00
Piotr Drąg
1bab91e6cc Update Polish translation 2019-08-18 15:38:28 +02:00
Michael Gratton
724450c661 Minor source code formatting improvements 2019-08-18 22:04:56 +10:00
Michael Gratton
389f31dc96 Fix search including results from spam, trash and drafts
ImapDB.SearchFolder wasn't paying attention to the
Account.folders_special_type signal, hence folders getting promoted to
these were missed.
2019-08-18 22:04:56 +10:00
Michael Gratton
d9c2a96947 Use a list when producing search results to preserve ordering
This along with the last few commits greatly speed up search folder
loading.
2019-08-18 22:04:56 +10:00
Michael Gratton
3786725b2a Bump ConversationMonitor op batch size right up
Small batches take a much longer total time to complete since they
likely involve opening and closing a number of folders.
2019-08-18 22:04:56 +10:00
Michael Gratton
4d18b7b75c Only insert email into the conversation monitor when needed
In InsertOperation, check that more are needed and if not, only insert
if above the last email in the folder window, so we don't blow out the
window size when large inserts coming in (e.g. from the search folder).
2019-08-18 22:04:56 +10:00
Michael Gratton
e56908a728 Append unknown conversations since it may be re-constituted 2019-08-18 22:04:56 +10:00
Michael Gratton
abdcfc8f1d Execute ConversationMonitor ops in batches to avoid UI stalling
When search results are updated in response to a serch query changing,
there can be both very large (up to 1000, the current hard-coded limit)
email and hence converstion inserts and removals in the search folder.

This splits up these large ops that execute multiple times in batches
(currently n=20), so that the main thread has a chance to breathe while
handling the updates.
2019-08-18 22:04:56 +10:00
Michael Gratton
b4a04f828a Use a single RO transaction when removing matches from a search
Make ImapDb.Account::strip_removal_conditions use a single RO txn and
manually load flags from the message row when looking up email to filter
out, to keep overhead as low as possible.
2019-08-18 22:00:40 +10:00
Michael Gratton
f9ba7a0994 Remove unused code 2019-08-18 22:00:40 +10:00
Michael Gratton
983e8ce74e Mark Geary.Account.open_search as async and throwing an error
This lets us make the DB stemmer lookup async when constructing a
search query async and cancellable. Fix call sites.
2019-08-18 22:00:40 +10:00
Michael Gratton
7cf9825701 Make ImapDb.SearchQuery prepare terms at construction time
This allows us to move all search query specific code from
ImapDb.Account to that class.
2019-08-18 22:00:40 +10:00
Michael Gratton
5ad03550c7 Merge branch 'wip/shortcut-conflicts' into 'mainline'
Fix conflicting keyboard shortcuts and update overlay

See merge request GNOME/geary!288
2019-08-18 11:39:09 +00:00
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
52e558f225 Explicitly flag when ConversationMonitor Fill op is done
Flag when out of messages to load on both local and remote, and clear
it when the remote has re-connected.
2019-08-18 18:41:22 +10:00
Michael Gratton
ebc3b992bc Make ConversationMonitor's Fill op use local-only initially
Go local first and only hit the remote when out of local messages.
2019-08-18 18:41:22 +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