Mailspring/packages
Mark Hahnenberg 47f57a6c02 [client-sync] Gracefully handle large amounts of unknown UIDs from search
Summary:
Previously if we got back a huge number of unknown UIDs from IMAP search
we would try to sync all of them at once. This could lead to hanging the sync
loop trying to download tons of messages. This diff limits the UIDs we're
willing to sync per task to 500 and splits each task up into chunks of 25
messages so that we don't try to download all of them at once. If we need
to sync more than 500 uids then at the end of the syncback task it will
queue another task to run the next time the sync loop rolls back around.

Test Plan:
Run locally, verify that we gracefully handle various situations
including cancelling during the syncback task, cancelling between syncback
tasks, huge numbers of results, etc

Reviewers: evan, spang, juan

Reviewed By: juan

Differential Revision: https://phab.nylas.com/D4142
2017-03-09 11:47:18 -08:00
..
client-app [client-sync] Gracefully handle large amounts of unknown UIDs from search 2017-03-09 11:47:18 -08:00
client-sync [client-sync] Gracefully handle large amounts of unknown UIDs from search 2017-03-09 11:47:18 -08:00
isomorphic-core [client-app] Handle errors when opening imap box correctly 2017-03-08 11:17:28 -08:00
README.md [*] Rename postinstall.js -> postinstall.es6 2017-02-21 15:55:08 -08:00

Monorepo Packages

Each folder here is designed to act as its own repository. For development convenience, they are all included here in one monorepo. This allows us to grep across multiple codebases, not use submodules, and keep a unified commit history.

We use Lerna to manage the monorepo and tie them all together with the main nylas-mail-all/scripts/postinstall.es6 script, which in turn, calls lerna bootstrap