💌 A beautiful, fast and fully open source mail client for Mac, Windows and Linux.
Find a file
Juan Tejada f09bc902a0 [local-sync] Add a few improvements to error management
Summary:
In the sync worker:
- Move the backoff logic inside `scheduleNextSync`, where all logic to schedule the next sync loop now lives
- If we've retried a RetryableError a bunch of times, show the error to the user, otherwise the user might think the app is not working for no reason
- Clean up logging

In the message processor:
- Report message processing errors to sentry!

Sync Process Manager:
- Listen to new `Actions.debugSync` to show the Activity Window and open dev tools

Test Plan: manual

Reviewers: khamidou, evan

Reviewed By: khamidou, evan

Differential Revision: https://phab.nylas.com/D3736
2017-01-19 10:52:21 -08:00
.ebextensions Fixes to Docker and better docs/debugging 2017-01-03 09:32:08 -08:00
arclib [local-private] move old edgehill src/pro into packages/local-private 2016-12-12 10:09:58 -05:00
packages [local-sync] Add a few improvements to error management 2017-01-19 10:52:21 -08:00
scripts [*] Add basic babel toolchain 2016-12-16 13:08:21 -05:00
.arcconfig [local-private] move old edgehill src/pro into packages/local-private 2016-12-12 10:09:58 -05:00
.arclint [local-private] move old edgehill src/pro into packages/local-private 2016-12-12 10:09:58 -05:00
.babelrc [*] Add basic babel toolchain 2016-12-16 13:08:21 -05:00
.dockerignore Fixes to Docker and better docs/debugging 2017-01-03 09:32:08 -08:00
.eslintrc
.gitignore [*] Add basic babel toolchain 2016-12-16 13:08:21 -05:00
.tern-project
Dockerfile [*] Add basic babel toolchain 2016-12-16 13:08:21 -05:00
lerna.json
package.json Update Nylas N1 to Nylas Mail 2017-01-12 11:25:39 -08:00
pm2-debug-cloud-api.yml Add ability to debug with chrome dev tools in cloud-api 2017-01-10 17:31:51 -08:00
pm2-dev.yml [cloud-core] make DB_NAME an environment variable 2017-01-16 10:56:46 -08:00
pm2-prod-api.yml [*] Add basic babel toolchain 2016-12-16 13:08:21 -05:00
pm2-prod-workers.yml [*] Add basic babel toolchain 2016-12-16 13:08:21 -05:00
README.md Update Nylas N1 to Nylas Mail 2017-01-12 11:25:39 -08:00
test_accounts.txt

K2 - Local Sync Engine & Cloud Services for Nylas Mail

This is a collection of all sync and cloud components required to run N1.

  1. Cloud API: The cloud-based auth and metadata APIs for N1
  2. Cloud Core: Shared code used in all remote cloud services
  3. Cloud Workers: Cloud workers for services like send later
  4. Isomorphic Core: Shared code across local client and cloud servers
  5. Local Sync: The local mailsync engine integreated in Nylas Mail

See /packages for the separate pieces. Each folder in /packages is designed to be its own stand-alone repositoriy. They are all bundled here for the ease of source control management.

Initial Setup for All Local & Cloud Services:

New Computer (Mac):

  1. Install Homebrew
  2. Install NVM brew install nvm
  3. Install Node 6 via NVM: nvm install 6
  4. Install Redis locally brew install redis

New Computer (Linux - Debian/Ubuntu):

  1. Install Node 6+ via NodeSource (trusted):
  2. curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
  3. sudo apt-get install -y nodejs
  4. Install Redis locally sudo apt-get install -y redis-server redis-tools benefit of letting us use subdomains.