💌 A beautiful, fast and fully open source mail client for Mac, Windows and Linux.
Find a file
Juan Tejada 3bbb76902f [client-app] Add basic rate limiting to Sentry
Summary:
This commit adds a new option to the `reportError` interface to allow
to rate limit specific kinds of errors that are known to be reported a
lot if they fall in a loop for example.

For now, it only allows to impose a fixed reporting rate per hour for a specific
error, and will not report any errors past that rate before an hour has
passed.

Depends on D4099

Test Plan:
manually check that it reports and does not report errors based on the rate
limit data passed

Reviewers: khamidou, mark, evan, halla, spang

Reviewed By: evan, halla, spang

Differential Revision: https://phab.nylas.com/D4100
2017-03-06 10:56:20 -08:00
.ebextensions
arclib
packages [client-app] Add basic rate limiting to Sentry 2017-03-06 10:56:20 -08:00
scripts [*] increase loglevel for lerna bootstrap 2017-03-06 12:17:30 -05:00
.arcconfig
.arclint [*] Temporary fix for coffee linter in arc lint 2017-02-17 16:21:47 -08:00
.babelrc [client-app] symlink in babelrc and resolve links 2017-02-21 16:08:59 -05:00
.dockerignore [*] Make sure cloud deploy can access .babelrc 2017-02-22 12:09:14 -08:00
.eslintrc [none] Update .eslintrc 2017-03-01 16:57:03 -08:00
.gitignore [*] Change the symlink location for the isomorphic-core specs 2017-03-02 10:56:03 -08:00
.travis.yml [*] add travis_wait to build 2017-03-06 11:37:01 -05:00
appveyor.yml [client-app] update appveyor 2017-03-03 14:22:38 -08:00
deploy-it [none] Make deploy-it support -h/--help 2017-02-28 15:42:23 -08:00
Dockerfile [dev, cloud-*] make Docker run plain npm install and conslidate deps 2017-02-21 14:33:00 -05:00
lerna.json [*] move to monorepo 2017-02-16 18:46:26 -08:00
package.json [isomorphic-core] move devDependencies from iso-core to repo root 2017-03-03 14:17:39 -08:00
README.md [*] update and add READMEs to each package 2017-02-17 17:28:09 -08:00

Nylas Mail

This is a collection of all components required to run Nylas Mail.

  1. Isomorphic Core: Shared code across local client and cloud servers
  2. Client App: The main Electron app for Nylas Mail mirrored to open source repo.
  3. Client Sync: The local mailsync engine integreated in Nylas Mail
  4. Client Private Plugins: Private Nylas Mail plugins (like SFDC)
  5. Cloud API: The cloud-based auth and metadata APIs for N1
  6. Cloud Core: Shared code used in all remote cloud services
  7. Cloud Workers: Cloud workers for services like send later

See /packages for the separate pieces. Each folder in /packages is designed to be its own stand-alone repository. 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 & Redis brew install nvm redis
  3. Install Node 6 via NVM: nvm install 6

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.

Running Nylas Mail

  1. npm install (Only on fresh install and new packages)
  2. npm run start-client: Starts Electron app client
  3. npm run start-cloud: Starts cloud API locally