mirror of
https://github.com/Foundry376/Mailspring.git
synced 2026-02-21 04:23:54 +08:00
💌 A beautiful, fast and fully open source mail client for Mac, Windows and Linux.
Summary: Previously, we were not pripritizing archive sync when getting folders to sync, causing it to be synced almost last. I believe this was causing the issues regarding archived items coming back, because we would optimistically archive in N1, but the changes wouldn't be reflected in K2's database until we synced the archive, causing the data to become out of sync. If for whatever reason we got a delta for any of those messages before the archive was synced, they would pop back in the inbox because in k2, they were still in the inbox. This was exacerbated by the fact that all syncback tasks would interrupt the loop, so we would reach the archive until very late, making this scenario way more likely. This still wont guarantee that it wont happen, because we dont do /any/ optimistic updates in K2, so we could still get deltas before we actually sync the folder, but makes the scenario way less likely. This should be properly fixed with the sync scheduler refactor Test Plan: manual Reviewers: spang, evan, mark Reviewed By: mark Differential Revision: https://phab.nylas.com/D3716 |
||
|---|---|---|
| .ebextensions | ||
| arclib | ||
| 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 repositoriy. 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-toolsbenefit of letting us use subdomains.