Commit graph

3403 commits

Author SHA1 Message Date
Michael James Gratton
eebe498a3e Add missing build aux file for obtaining the git version.
This is needed to make commit e8e7139 work for people that are not me.
2018-01-26 14:41:46 +10:30
Piotr Drąg
9f703466aa Update POTFILES.in 2018-01-26 01:33:58 +01:00
Michael James Gratton
e744c284ab Set the minimum IMAP pool size to something a bit more realistic. 2018-01-26 09:57:01 +10:30
Michael James Gratton
938033f3a4 Rework how the client session manager manages the IMAP session pool.
* src/engine/imap/transport/imap-client-session-manager.vala
  (ClientSessionManager): Use a non-blocking queue for free sessions
  rather than a set of reserved sessions, so we can instantly pick a free
  one when needed and available. Manage establishing new connections from
  one place in check_pool (was adjust_session_pool) rather than in a few
  different places in the class. Greatly simply lock management and
  connection establishment code. Add some doc comments, clean up code
  organisation.
2018-01-26 09:57:01 +10:30
Michael James Gratton
8536ad276f Tidy up how IMAP client sessions are closed by the manager.
* src/engine/imap/transport/imap-client-session-manager.vala
  (ClientSessionManager): Rework close_async() and force_disconnect_all()
  to use the same code for closing all sessions. When a session is closed
  by some other means then simply remove it, rather than going through
  force_disconnect() again. Remove force_disconnect()'s do_disconnect
  param, since all call sites now set it to true, and just always attempt
  to disconnect the session, without waiting for it.
2018-01-26 09:57:01 +10:30
Michael James Gratton
07bc441085 Don't add IMAP connections back to the pool when the account is closing.
This updates the client session manager to close IMAP connections without
waiting when they are released and the account is closing, rather than
adding them back to the pool again. Sessions that are in the Selected
state due to being used by a folder are also simply closed, rather than
attempting to return them to Authenticated (i.e. not selected) state
first.

This means when a folder is closed and releases its session that it does
not block if its session has hung, making application shutdown less
likely to hang as well, helping Bug 745561 along a bit further.
2018-01-26 09:57:01 +10:30
Michael James Gratton
c0501bda19 Tidy up and document lock classes in Geary.Nonblocking.
* src/engine/nonblocking/nonblocking-abstract-semaphore.vala: Renamed to
  nonblocking-lock.vala, rename class from AbstractSemaphore to Lock and
  update subclasses, since it is used as a basis for a number of
  different lock implementations. Make two getter methods into read-only
  properties. Fill out doc comments to be much more comprehensive.

* src/engine/nonblocking/nonblocking-mutex.vala (Mutex): Provide a
  high-level API and update documentation comments.

* src/engine/nonblocking/nonblocking-queue.vala (Queue): Add to doc
  comments.

* src/engine/nonblocking/nonblocking-variants.vala: Actually document
  how each of the variants behave.
2018-01-26 09:57:01 +10:30
Emin Tufan Çetin
7393d7f2b1 Update Turkish translation 2018-01-20 10:19:00 +00:00
Michael James Gratton
cc29024501 Remove obsolete build files. 2018-01-15 16:18:24 +11:00
Michael James Gratton
a0ff57c158 Remove --enabled-deprecated vala warnings, fix a bunch of them. 2018-01-15 16:17:11 +11:00
Michael James Gratton
cbfb7d571d Update dev Makefile to use meson and ninja. 2018-01-15 15:16:57 +11:00
Michael James Gratton
37c218d646 Chase Meson build to use XDG Help spec locations.
* src/client/application/geary-application.vala (Application): Use "help"
  and yelp for showing help, rather than old "ghelp" URI and gnome-help.

* help/CMakeLists.txt: Update CMake build to match Meson
2018-01-15 14:11:24 +11:00
Michael James Gratton
178e18e83a Ensure help figures are installed under Meson build. 2018-01-15 14:03:58 +11:00
Michael James Gratton
f3e2dac20f Ensure translated manual pages are installed under Meson. 2018-01-15 11:57:26 +11:00
Michael James Gratton
e8e7139629 Re-enable reporting git version in Meson dev builds. 2018-01-15 11:57:26 +11:00
Piotr Drąg
c30b7a0ff9 Update Polish translation 2018-01-14 19:09:19 +01:00
Emin Tufan Çetin
5e07e8c5d2 Update Turkish translation 2018-01-13 19:29:18 +00:00
Rafael Fontenelle
6ccc0c7fbd Update Brazilian Portuguese translation 2018-01-13 14:09:35 +00:00
Federico Bruni
173dea94fc help: Ctrl-M shortcut has been removed
See commit 54ba285a
2018-01-13 18:59:15 +11:00
Michael James Gratton
3606bade04 Update flatpak-builder manifest to use meson build. 2018-01-12 18:21:34 +11:00
Michael James Gratton
fad8c46e02 Fix app icons not being installed to the correct directory under Meson. 2018-01-12 18:21:34 +11:00
Michael James Gratton
5456dab49c Tidy up inclusion of libunwind in the Meson build.
* meson.build: Use libunwind and libunwind-generic to avoid having to
  search for the platform-specific lib.

* src/meson.build: Set UNW_LOCAL_ONLY define to get the most optimal
  unwind impl.
2018-01-12 18:21:26 +11:00
Michael James Gratton
d7ed670fe4 Fix valadoc errors after merging wip/778276-better-flag-updates. 2018-01-12 12:49:07 +11:00
Michael James Gratton
3aefeb0783 Update meson build after merging wip/778276-better-flag-updates. 2018-01-12 12:25:33 +11:00
Michael James Gratton
5acf0e7ace Update sources in POFILES.in. 2018-01-12 12:06:17 +11:00
Michael James Gratton
6c5a7d5868 Merge branch 'wip/778276-better-flag-updates'. Fixes Bug 778276. 2018-01-12 11:56:57 +11:00
Michael James Gratton
4cb9f2fbba Retry an account operation after a network error. 2018-01-12 11:39:44 +11:00
Michael James Gratton
7d1de0d9c0 Fix some issues opening mailboxes from Bug 789924 / commit fddf609.
* src/engine/imap-engine/imap-engine-minimal-folder.vala
  (MinimalFolder.start_open_remote): Don't check to see if the timer is
  running before opening the remote, just do it since this method is only
  called when the remote should be opened.
  (MinimalFolder.on_remote_ready): Only start opening the remote if
  actually needed.
2018-01-11 15:36:32 +11:00
Michael James Gratton
f913d18364 Fix some issues opening mailboxes from Bug 789924 / commit fddf609.
* src/engine/imap-engine/imap-engine-minimal-folder.vala
  (MinimalFolder.start_open_remote): Don't check to see if the timer is
  running before opening the remote, just do it since this method is only
  called when the remote should be opened.
  (MinimalFolder.on_remote_ready): Only start opening the remote if
  actually needed.
2018-01-11 15:35:22 +11:00
Michael James Gratton
66648a6a94 Ensure gnome-control-centre knows in advance Geary uses notifications.
* desktop/org.gnome.Geary.desktop.in: Add X-GNOME-UsesNotifications=true
  to desktop file per:
  https://wiki.gnome.org/Initiatives/GnomeGoals/NotificationSource
2018-01-11 03:22:55 +11:00
Michael James Gratton
e6ecefd827 Remove composer pref text in the online manual, it no longer exists. 2018-01-11 03:13:58 +11:00
Michael James Gratton
8b42ceda1a Update start-notification preferences text, tooltip, and user manual.
Fixes Bug 742244, again.
2018-01-11 03:13:54 +11:00
Michael James Gratton
f9fc4c7e25 Fix typos in descriptions of main-window-info-bar.vala. Bug 792359.
Patch courtesy Rafael Fontenelle <rafaelff@gnome.org>.
2018-01-10 18:39:07 +11:00
Michael James Gratton
49963daf05 Use the correct plural form when controller is closing composers.
Fixes Bug 730607.
2018-01-10 18:33:15 +11:00
Michael James Gratton
b47ce0732f Refine text of composer confirm close dialogs.
Per discussion in Bug 748555.
2018-01-10 18:32:08 +11:00
Michael James Gratton
1675f2dc25 Fix copy pasta error in schema description. Bug 792356. 2018-01-09 20:25:37 +11:00
Gautier Pelloux-Prayer
ff95fb819f Do not show "Labels" folders entry in sidemenu if there are none. Bug 754802 2018-01-09 18:35:07 +11:00
Michael James Gratton
acba774839 Fix valadoc warnings, generate internal docs rather than docs for deps.
This lets valadoc build Geary's engine docs again as long as patches for
valadoc Bug 736483 and Bug 646982 are applied (which will hopefully be
merged for vala 0.40). Once Bug 792349 is also fixed, we'll be able to
generate private docs as well.
2018-01-09 18:28:29 +11:00
Piotr Drąg
802c6b9095 Update Polish translation 2017-12-24 17:17:15 +01:00
Kristjan SCHMIDT
2ca4a4d5b4 Update Esperanto translation 2017-12-23 01:48:35 +00:00
Dušan Kazik
e334fa44f8 Update Slovak translation 2017-12-21 19:52:21 +00:00
Michael James Gratton
3a47017ee4 Stop the flag watcher running periodically.
Since we are now noticing unsolicited FETCH data when open, we don't need
to periodically run the flag watcher — it only needs to be run when first
opening a folder, so do it then.

* src/engine/imap-engine/imap-engine-minimal-folder.vala (MinimalFolder):
  Move main flag watcher operation here, call it once the folder's remote
  has opened. Remove use of EmailFlagWatcher.

* src/engine/imap-engine/imap-engine-email-flag-watcher.vala: Removed, no
  longer used.
2017-12-20 21:10:10 +10:30
Michael James Gratton
f63f7352cf Minor GenericAccount debug and comment updates. 2017-12-20 21:03:58 +10:30
Michael James Gratton
5446cc25f4 Turn some debug logging down a bit. 2017-12-20 21:02:18 +10:30
Michael James Gratton
22f20e163f Convert the account synchronizer's work into account operations.
* src/engine/imap-engine/imap-engine-account-synchronizer.vala: Replace
  the account synchronizer's queue and operations with two account
  operations, one for simply refreshing folders and one for extanding the
  vector back to the prefetch epoch.
2017-12-20 21:01:34 +10:30
Michael James Gratton
70e7ae279f Prevent the email prefetcher running multiple times.
* src/engine/imap-engine/imap-engine-minimal-folder.vala (MinimalFolder):
  Tell the prefetcher we've opened once the open count as incremented,
  rather than when the remote is connected, so it isn't signalled
  multiple times and hence doesn't add multiple listeners.
2017-12-20 20:54:32 +10:30
Michael James Gratton
9e93062d6f Create and use a common FolderOperation account operation class. 2017-12-20 20:24:30 +10:30
Michael James Gratton
8827bc2a09 Add a mock Account object. 2017-12-19 10:47:36 +11:00
Michael James Gratton
dcdbcbeef9 Add some useful Engine API mock objects. 2017-12-19 10:23:47 +11:00
Michael James Gratton
904d78f77c Minor doc comment update. 2017-12-19 09:41:51 +11:00