💌 A beautiful, fast and fully open source mail client for Mac, Windows and Linux.
Find a file
Karim Hamidou 47e0683cac First step to getting persistent id in K2
Summary:
This diff adds persistent unique ids for messages and contacts. For messages, we just take a hash of the headers. For contacts, we hash the contact's email address.

This diff bundles a couple of tiny fixes too, like always trying to restart an account's sync, even after an exception.

Note that since there's no reliable way to have persistent ids for threads, we'll have to change our code to use message ids instead. Alas, that's a story for another (massive) diff.

Test Plan: Tested manually.

Reviewers: bengotow

Reviewed By: bengotow

Differential Revision: https://phab.nylas.com/D3468
2016-12-01 11:15:13 -08:00
packages First step to getting persistent id in K2 2016-12-01 11:15:13 -08:00
.arcconfig Basic structure changes to run K2 in N1 2016-11-22 14:23:16 -08:00
.dockerignore Dockerfile successfully building ping endpoint 2016-07-07 12:10:01 -07:00
.env Commit .env to fix dev environment 2016-06-27 13:29:13 -07:00
.eslintrc Fix linter issues 2016-11-21 14:00:35 -08:00
.gitignore Flesh out skeleton. 2016-11-22 12:25:27 -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 Add better-sqlite3 2016-11-23 10:18:47 -08:00
pm2-dev.yml Pull in cloud packages 2016-11-22 10:58:27 -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.