Mailspring/packages/isomorphic-core/src
Christine Spang 4a1dde8830 [client-sync] Deduplicate UID downloads across sync loop interruptions
Summary:
Since we only persist updates to fetchedmin/fetchedmax at the end of a
batch, and a batch can contain many messages, if the sync loop is
getting interrupted often we will download the same messages over and
over again and not make much progress in downloading the message
backlog. This patch keeps a set of already downloaded messages in memory
for each batch and skips downloading UIDs we've processed in interrupted
sync loops.

Messages may still be redownloaded across app restarts.

Fixes T7798

Test Plan: manual

Reviewers: juan, mark

Reviewed By: juan, mark

Maniphest Tasks: T7798

Differential Revision: https://phab.nylas.com/D4040
2017-02-23 15:23:28 -08:00
..
migrations [💄] fix eslint issues before they get overwhelming 2016-12-01 15:37:48 -08:00
models [iso-core] Fix Office365 sending from the mail app 2017-02-21 15:59:12 -08:00
auth-helpers.js [iso-core] Fix Office365 sending from the mail app 2017-02-21 15:59:12 -08:00
backoff-schedulers.es6 [*] Move BackoffSchedulers into isomorphic-core 2017-02-17 10:11:35 -08:00
database-types.js [local-sync] Report folder syncState to N1 2016-12-15 11:08:20 -08:00
delta-stream-builder.js [cloud-api] DONT Timeout streaming API connections every 15 minutes anymore 2017-02-23 11:56:31 -08:00
env-helpers.es6 [*] metrics(Part 1) Add env-helpers to iso core 2017-02-17 13:34:07 -08:00
errors.js [iso-core] fix error toJSON in node environments 2017-02-17 17:31:36 -08:00
hook-increment-version-on-save.js [*] fix(deltas): Cloud-API not filtering deltas at all, refactor a few things 2016-12-01 18:41:46 -08:00
hook-transaction-log.js [local-sync] Sync draft flag from provider to K2 & exclude drafts from Edgehill 2017-01-23 20:58:32 -08:00
imap-box.js [local-sync] Correctly close imap connections when downloading files 2017-01-26 15:27:56 -08:00
imap-connection.es6 [client-sync] Deduplicate UID downloads across sync loop interruptions 2017-02-23 15:23:28 -08:00
imap-errors.js [iso-core] Fix imap error detection! 2017-02-22 17:51:56 -08:00
imap-pool.es6 [client-sync] Add per-Account IMAP connection pooling 2017-02-21 14:00:08 -08:00
load-models.js [local-sync] add attachments 2017-01-05 16:33:38 -08:00
metrics-reporter.es6 [*] Fixup MetricsReporter 2017-02-22 16:36:29 -08:00
promise-utils.js [💄] fix eslint issues before they get overwhelming 2016-12-01 15:37:48 -08:00
sendmail-client.es6 [client-sync] Refresh SMTP client when auth credentials change 2017-02-21 16:24:24 -08:00