mirror of
https://github.com/Foundry376/Mailspring.git
synced 2025-01-11 10:38:11 +08:00
💌 A beautiful, fast and fully open source mail client for Mac, Windows and Linux.
575ff4a73e
Summary: Syncback tasks that move messages to a different folder used to leave those messages without a uid because it was unknown at the moment, and it would only be discovered later on in the sync loop. This had the unwanted effect of not allowing you to perform more than 1 syncback action on the same thread back to back (e.g. undoing an archive, or sending and archiving immediately) This commit makes it so that `SetThreadFolderAndLabels` and `MoveThreadToFolder` runs a new sync task to fetch the new uids for the moved messages. We do this via a new sync task, `FetchNewMessagesInFolder` which /only/ fetches new messages in a folder (no fetching old messages or attribute updates). This is a first step to cleaning up the gigantic `FetchMessagesInFolder` task into smaller parts-- but that will come in a separate diff. For now we want to fix the immediate problem. See D3788 and D3789 for more details Test Plan: manually move threads around, undo moving threads, reply on a thread and immediately archive Reviewers: khamidou, mark, spang, halla, evan Reviewed By: evan Differential Revision: https://phab.nylas.com/D3798 |
||
---|---|---|
.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 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.