mirror of
https://github.com/Foundry376/Mailspring.git
synced 2025-01-15 12:39:28 +08:00
💌 A beautiful, fast and fully open source mail client for Mac, Windows and Linux.
c1ecd045d7
Summary: We had previously ripped send tasks outside the sync loop to make them run faster, but they run fast enough inside the loop. This commit will also fix the scenario where if you closed the app in the middle of a send task, the task would just hang forever and never succeed or fail (T7818); given that it was excluded from the loop, we also had to exclude it from the cleanup step to mark any INPROGRESS tasks as failed at the beginning of each loop, which caused send tasks in progress to never get cleaned. Putting them back inside the loop allows us to fix this without adding more messy logic, and it cleans up ugly duplicated code. Additionally, it will prevent more duplicated code for upcoming diffs that will improve syncback task reliability when the app is closed or window is restarted in the middle of a task. Depends on D3893 Test Plan: manually test sending, it still works, it's still fast. Restarted window in the middle of send task, task fails. Reviewers: mark, spang, halla, evan Reviewed By: spang, halla, evan Differential Revision: https://phab.nylas.com/D3894 |
||
---|---|---|
.ebextensions | ||
arclib | ||
migrations | ||
packages | ||
scripts | ||
.arcconfig | ||
.arclint | ||
.babelrc | ||
.dockerignore | ||
.eslintrc | ||
.gitignore | ||
.tern-project | ||
Dockerfile | ||
lerna.json | ||
package.json | ||
pm2-debug-cloud-api.yml | ||
pm2-dev.yml | ||
pm2-prod-api.yml | ||
pm2-prod-workers.yml | ||
README.md | ||
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.
- Cloud API: The cloud-based auth and metadata APIs for N1
- Cloud Core: Shared code used in all remote cloud services
- Cloud Workers: Cloud workers for services like send later
- Isomorphic Core: Shared code across local client and cloud servers
- 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 repository. They are all bundled here
for the ease of source control management.
Initial Setup for All Local & Cloud Services:
New Computer (Mac):
- Install Homebrew
- Install NVM
brew install nvm
- Install Node 6 via NVM:
nvm install 6
- Install Redis locally
brew install redis
New Computer (Linux - Debian/Ubuntu):
- Install Node 6+ via NodeSource (trusted):
curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
sudo apt-get install -y nodejs
- Install Redis locally
sudo apt-get install -y redis-server redis-tools
benefit of letting us use subdomains.