💌 A beautiful, fast and fully open source mail client for Mac, Windows and Linux.
Find a file
Juan Tejada fda7fe18cc [local-sync] Ensure order correct order when running syncback requests
When running syncback requests, if a task is meant to change the UID of
a message (e.g. move it to a new folder), that task should be run after
other tasks that don't affect the UID. Otherwise, when trying to run the
other tasks, they would reference a UID that is no longer valid.

This commit will make sure that we run any tasks that will change message uids last,
/and/ make sure that we don't run more than 1 task that will affect the uids of
the same messages in a row (i.e. without running a sync loop in between)
2016-12-06 15:45:34 -08:00
packages [local-sync] Ensure order correct order when running syncback requests 2016-12-06 15:45:34 -08:00
.arcconfig [fix] Fix transaction creation for contacts 2016-12-05 15:37:17 -08:00
.dockerignore Dockerfile successfully building ping endpoint 2016-07-07 12:10:01 -07:00
.eslintrc Fix linter issues 2016-11-21 14:00:35 -08:00
.gitignore [fix] Fix transaction creation for contacts 2016-12-05 15:37:17 -08:00
Dockerfile [cloud] fix(eb): Oops 2016-11-22 13:25:58 -08:00
lerna.json Upgrade lerna 2016-07-06 13:51:17 -07:00
package.json [cloud-api] add npm start for pm2 launch 2016-12-01 16:33:05 -05:00
pm2-dev.yml [cloud-api] New honeycomb ingestion endpoint 2016-12-01 11:21:28 -08:00
pm2-prod-api.yml [cloud] fix(eb): Oops 2016-11-22 13:25:58 -08:00
pm2-prod-workers.yml Pull in cloud packages 2016-11-22 10:58:27 -08:00
README.md Readme updates 2016-11-28 14:13:23 -08:00
test_accounts.txt First step to getting persistent id in K2 2016-12-01 11:15:13 -08:00

K2 - Local Sync Engine & Cloud Services for Nylas N1

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 N1

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.