mirror of
https://github.com/Foundry376/Mailspring.git
synced 2025-01-15 04:27:39 +08:00
b119b43f82
Summary: This diff adds a timeout parameter to queueMessageForProcessing that can be used to override the CPU-throttled-by-default timeout used by the message processing queue. The FetchMessagesInFolder sync task now overrides with a timeout of 0 when it is queuing specific UIDs that it has downloaded. The thinking here is that if we've requested a specific set of UIDs, it's very important to sync those quickly as this indicates a higher priority (e.g. initial inbox sync, search result syncing, etc). Test Plan: Run locally, verify that initial sync and search syncing run faster Reviewers: spang, evan, juan Reviewed By: juan Differential Revision: https://phab.nylas.com/D4114 |
||
---|---|---|
.. | ||
images | ||
spec | ||
src | ||
stylesheets | ||
main.es6 | ||
package.json | ||
README.md |
Client Sync
This is the mail sync engine that runs within the Nylas Mail client
It is symlinked in as an internal_package
of Nylas Mail via the postinstall
script of the root repo.
Important Usage Notes:
Since this is symlinked in as an internal_package
of Nylas Mail, there are a
handulf of considerations when developing in client-sync. Some common gotchas:
- You MAY use
NylasEnv
,NylasExports
and other injected libraries in the Nylas Mail client environment. - You MAY use any 3rd party library declared in
client-app/package.json
. Since this gets added as a plugin of the Nylas Mail client, you'll have access to all libraries. This works because theclient-app/node_modules
was added to the global require paths. That lets us access client-app plugins without being a file directory decendent of client-app (client-sync is now a sibling of client-app) - You may NOT add "dependencies" to the
client-sync/package.json
. If you need a 3rd party library, add it to the mainclient-app/package.json
. All Nylas Mail plugins (those inside ofinternal_packages
), may no longer declare their own dependencies. - You should be aggressive at moving generic mail methods to
isomorphic-core
. We may eventually want to make large chunks of client-sync work in a cloud environment as well.