💌 A beautiful, fast and fully open source mail client for Mac, Windows and Linux.
Go to file
Mark Hahnenberg ac6ad38296 [local-sync] Throttle message processing when on battery
Summary:
We don't want to run message processing full tilt when a user isn't plugged in.
This diff adds some detection logic that causes message processing to be
throttled/unthrottled when a user unplugs/plugs in their computer.

Test Plan: Run locally unplugged and plugged in, verify that CPU use goes up/down

Reviewers: evan, juan

Reviewed By: juan

Differential Revision: https://phab.nylas.com/D3759
2017-01-23 18:31:35 -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] Throttle message processing when on battery 2017-01-23 18:31:35 -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 Fix linter issues 2016-11-21 14:00:35 -08:00
.gitignore [*] Add basic babel toolchain 2016-12-16 13:08:21 -05:00
.tern-project Enable nodejs completion with tern 2016-12-07 07:25:48 -08:00
Dockerfile [*] Add basic babel toolchain 2016-12-16 13:08:21 -05:00
lerna.json [*] update lerna to 2.0.0-beta.30 2016-12-06 16:03:31 -08:00
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 First step to getting persistent id in K2 2016-12-01 11:15:13 -08:00

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.