Commit graph

563 commits

Author SHA1 Message Date
Nathan Follens
963ac79d0e Update Dutch translation 2018-04-17 20:52:26 +00:00
Jordi Mas
4740ffa724 Update Catalan translation 2018-04-17 07:08:27 +02:00
Stas Solovey
8c5d170c1d Update Russian translation 2018-04-12 20:03:12 +00:00
Stas Solovey
27a5c05197 Update Russian translation
(cherry picked from commit 1e93d4366d8b1f5f154c461210ec51f60e824c08)
2018-04-12 19:49:36 +00:00
Dušan Kazik
d0c611d48e Update Slovak translation 2018-03-18 20:56:20 +00:00
Kukuh Syafaat
fa87133fdd Update Indonesian translation 2018-03-16 03:40:09 +00:00
Balázs Meskó
f401037581 Update Hungarian translation 2018-03-15 14:14:08 +00:00
Alan Mortensen
23d9214cd7 Updated Danish translation 2018-03-12 11:58:46 +01:00
Rafael Fontenelle
3235ecb0ff Update Brazilian Portuguese translation 2018-03-11 05:29:26 +00:00
Michael James Gratton
c9b53863e8 Further improvements handling unreliable/offline networks. Bug 789924.
Re-merge branch 'wip/789924-network-transition-redux'.
2018-03-05 23:15:41 +11:00
Michael James Gratton
cf86d07b54 Make ConversationMonitor more robust with no/changing connectivity.
Conversation monitor was built around older assumptions of how a folder's
remote connections work - that once a folder opens it will likely also
eventually establish a remote connection, that once the connection is up
it will hang around, and so on.

This patch removes any public notion of (re)seeding, since it can't be
relied to actually happen over the course of the session, ensures that
all folder operations are local-only when the folder does not have a
working remote connection so it doesn't block, and take the opportunity
to reorganise and clean up the monitor API and documentation comments.

* src/engine/app/app-conversation-monitor.vala (ConversationMonitor):
  Remove seed signals, and don't bother running an initial reseed if the
  folder is already open, since the fill operation will cause any locally
  incomplete messages to be filled out from the report. Manage and use an
  internal Cancellable for cancelling internal operations when shutting
  down. Construct a queue only when starting to monitor conversations,
  delete it when stopping. Move as much operation-specific code into the
  operations themselves as reasonably possible, making some methods
  internal so thy can be accessed from the ops. Ensure all folder listing
  operations specify LOCAL_ONLY when the remote is not open. Removed
  LocalLoadOperation since that is now redundant. Update the API for
  accessing conversations to match Gee conventions and update call
  sites. Update documentation comments. Hook back up to locally-complete
  signals so we don't miss emails being filled out by the prefetcher, for
  now.

* src/engine/app/conversation-monitor/app-conversation-set.vala
  (ConversationSet): Rename conversations property to match Gee
  conventions, update call sites.

* src/engine/app/conversation-monitor/app-conversation-operation.vala
  (ConversationOperation): Allow operations to specify if they should
  allow duplicates, and allow the execution method to throw errors, so
  they can be handled in a uniform way.

* src/engine/app/conversation-monitor/app-conversation-operation-queue.vala
  (ConversationOperationQueue): Accept progress monitor property as a
  ctor arg rather than constructing on itself, so it is tied to the
  life-cycle of the ConversationMonitor rather than the queue. Add a
  signal for notifying of errors thrown when running operations, and use
  the new operation-independent support for determining if duplicates
  should be queued.

* src/engine/app/conversation-monitor/app-fill-window-operation.vala
  (FillWindowOperation): Enforce a maximum window size as well as minimum
  to keep loading large windows semi-responsive. Remove code to handle
  inserts now that they are handled by their own op.

* src/engine/app/conversation-monitor/app-insert-operation.vala
  (InsertOperation): New operation to manage inserts, handle it them by
  simply adding them to the conversation if they are newer than the
  oldest message, rather that relisting all loaded messages.
2018-03-04 23:36:12 +11:00
Claude Paroz
2fde941b94 Update French translation 2018-03-01 22:01:37 +00:00
GNOME Translation Robot
0d501196eb Update Dutch translation 2018-02-26 20:43:57 +00:00
Daniel Mustieles
7ca4b1a05f Updated Spanish translation 2018-02-22 14:02:30 +01:00
Mario Blättermann
2419d89b26 Update German translation 2018-02-18 15:34:09 +00:00
Marek Cernocky
77c419c124 Updated Czech translation 2018-02-10 17:46:40 +01:00
Michael James Gratton
875bf46238 Merge branch 'wip/789924-network-transition-redux'. Bug 789924. 2018-02-08 09:59:52 +11:00
Piotr Drąg
0ea6d212b8 Update Polish translation 2018-02-04 17:05:47 +01:00
Michael James Gratton
1a9377db40 Ensure MinimalFolder's properties are correctly updated by the remote's.
* src/engine/imap-engine/imap-engine-minimal-folder.vala
  (MinimalFolder): Ensure remote properties are added to and removed from
  the folder's aggregate props when the session is opened or
  disconnected, rather when the folder is opened or disconnected. Rather
  than scheduling a call to close_remote_session via the replay queue
  when it is disconnects, do it immediately since it's a race to re-open
  it again, and if the disconnect op loses the race it can't close the
  old disconnected session.

* src/engine/imap-engine/replay-ops/imap-engine-replay-disconnect.vala:
  Removed, since it is no longer used.
2018-02-04 10:52:28 +10:30
Michael James Gratton
ea891a39cd Only create IMAP account and folder sessions when ready, not otherwise.
This commit makes the Imap.Account and Imap.Folder classes work somewhat
more like Imap.ClientSession, in that they have become higher-level
wrappers around ClientSession which come and go as the client session
does (i.e. as the connection to the IMAP server comes and goes). Further,
partly decouple account session lifecycle in ImapEngine.GenericAccount
and the folder session in ImapEngine.MinimalFolder from those objects
being opened/closed, so that sessions are created only when open /and/
the IMAP server is available, and disconnected on close /or/ when the
underlying connection goes away.

As a result, GenericAccount and MinimalFolder no longer claims a client
session on open and try to keep it forever. Instead if needed, they wait
for the server to become contactable.

This makes Geary much more robust in the face of changing network
connections - when working offline, resuming after sleep, and so on.
2018-02-04 10:50:31 +10:30
Anders Jonsson
dbc8982e2d Update Swedish translation 2018-02-01 22:27:09 +00:00
Federico Bruni
5025a7894f Update Italian translation
(cherry picked from commit 13d920dc391171b8f1b11d7eefbd04df2f81b006)
2018-01-28 12:38:46 +00:00
Jiri Grönroos
8a88d17ead Update Finnish translation 2018-01-27 19:15:25 +00:00
Piotr Drąg
9f703466aa Update POTFILES.in 2018-01-26 01:33:58 +01:00
Emin Tufan Çetin
7393d7f2b1 Update Turkish translation 2018-01-20 10:19:00 +00: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
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
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
b24c554f51 Add an operations queue to GenericAccount for server operations.
This generalises the approach used to execute the flag watcher and
background sync, provides a high-level means of managing local and remote
operations, and provides a means of compartmentalising operation-specific
code.

* src/engine/imap-engine/imap-engine-account-operation.vala
  (AccountProcessor): Interface for denoting classes that implements some
  account-specific operation.

* src/engine/imap-engine/imap-engine-account-processor.vala
  (AccountProcessor): Class to manage the operation queue and execute
  operations.

* src/engine/imap-engine/imap-engine-generic-account.vala
  (GenericAccount): Create and manage an instance of AccountProcessor,
  add queue_operation method to allow operations to be queued.
2017-12-19 09:41:50 +11:00
Michael James Gratton
9a83e95b89 Rename Geary.Nonblocking.Mailbox to Queue, make constructed type explicit.
Mailbox would produce a FIFO or priority queue depending on if you pass
in a comparator or not. This adds additional constructors to make that
explicit, and also now allows the FIFO to have its own equality
function. Renames the class to something less confusing for an email
library.

Also adds doc comments for all public members.

* src/engine/nonblocking/nonblocking-queue.vala: Renamed from
  nonblocking-mailbox.vala, rename class from Mailbox to Queue, rename
  recv_async to just 'receive'. Provide full documentation
  comments. Update call sites.
2017-12-19 09:41:50 +11:00
Kukuh Syafaat
a12b9a66f0 Update Indonesian translation 2017-12-19 09:41:50 +11:00
Emin Tufan Çetin
e6aa0a8562 Update Turkish translation 2017-12-18 17:06:30 +00:00
Piotr Drąg
df887170c0 Update Polish translation 2017-12-17 17:51:53 +01:00
Kukuh Syafaat
9eaeec9e93 Update Indonesian translation 2017-12-17 08:07:13 +00:00
Stas Solovey
ad2c4854a6 Update Russian translation
(cherry picked from commit 31069b3fcd6608fe6270dc77bf0556e554a62f2f)
2017-12-15 10:48:33 +00:00
Carlos Abel Córdova Sáenz
385e86a106 Update Spanish translation 2017-12-13 14:24:33 +00:00
Niels De Graef
01c13f726f Port build system to Meson. Bug 777044.
Some remarks:

* Note that Meson adds a hard dependency on Python 3.

* All dependencies and defines are now listed together.

* Some build files were put in their respective subdirectories, e.g. the Geary
  engine library will be built from the Meson file in `src/engine`.

* `--fatal-warnings` is no longer an explicit flag, as Meson provides
  `-Dwerror=true` for this.

* An explicit resource file needs to be used. The issue to support this from
  Meson itself can be found at https://github.com/mesonbuild/meson/issues/706 .

* The `gnome.yelp()` function parses a LINGUAS file so we no longer need to keep
  track of all languages in our build system.

* There are no Debian scripts defined in the meson.build files to keep them
  clean, but they can be kept as separate scripts in `build-aux`.

* Left out the `dist` target as there is now `ninja dist`

* `geary-docs` is disabled by default, as valadoc-0.38.3 returns errors.

https://bugzilla.gnome.org/show_bug.cgi?id=777044
2017-12-12 00:27:46 +01:00
Kukuh Syafaat
735c53085c Update Indonesian translation 2017-12-03 08:41:20 +00:00
Daniel Mustieles
d8d4af7eda Update Spanish translation 2017-11-20 15:50:26 +00:00
Marek Cernocky
e050ecbfd1 Updated Czech translation 2017-11-20 07:55:37 +01:00
Emin Tufan Çetin
14e415bef2 Update Turkish translation 2017-11-20 06:38:53 +00:00
Piotr Drąg
dde4fd2210 Update Polish translation 2017-11-19 20:05:39 +01:00
Michael James Gratton
d1d8d6411e Merge branch 'wip/713006-better-error-reporting'. Fixes Bug 713006. 2017-11-19 18:35:06 +11:00
Mario Blättermann
a226d0cebf Update German translation 2017-11-18 20:06:55 +00:00
Frank Brütting
0a52791685 Update German translation 2017-11-18 19:25:34 +00:00
Marek Cernocky
6939894d2e Updated Czech translation 2017-11-18 19:17:35 +01:00