💌 A beautiful, fast and fully open source mail client for Mac, Windows and Linux.
Find a file
Ben Gotow 68ab8e22c9 fix(drafts): Lock drafts when they're deleted so they can't be revived by deltas
Summary:
When we delete drafts, they can sometimes come back because we receive deltas about them,
find that they're not in the cache, and re-save them.

This diff fixes that by permanently incrementing the optimistic change count, which was also do
to prevent deltas from changing threads while we're in the middle of a request that will change
them further. (This may not actually be necessary anymore, because we'd ignore the delta anyway
due to it's out-of-date version?)

Test Plan: Run a couple new tests

Reviewers: drew, juan

Reviewed By: juan

Differential Revision: https://phab.nylas.com/D2665
2016-03-03 12:09:16 -08:00
apm refactor(env): new NylasEnv global 2015-11-17 16:41:20 -08:00
build fix(startup): remove beta references 2016-03-02 17:47:47 -08:00
docs rm(Nilas-contact-elements): Remove unused package 2016-02-01 19:12:06 -08:00
dot-nylas feat(keymap): add new <KeymapHandlers /> 2015-11-06 11:47:06 -08:00
examples rm(mispelled): Stranded package.json file 2016-01-07 14:59:10 -08:00
internal_packages Bump version for node-emoji 2016-03-02 18:58:07 -08:00
keymaps feat(find-in-thread): add the ability to find in a thread 2016-03-02 14:46:27 -08:00
menus feat(find-in-thread): add the ability to find in a thread 2016-03-02 14:46:27 -08:00
script bump(*): Electron 0.36.7, version to 0.4.6 2016-02-08 18:35:23 -08:00
spec fix(drafts): Lock drafts when they're deleted so they can't be revived by deltas 2016-03-03 12:09:16 -08:00
spec_integration 🎨: Smaller buttons, smaller toolbar, smaller text 2016-02-09 19:45:24 -08:00
src fix(drafts): Lock drafts when they're deleted so they can't be revived by deltas 2016-03-03 12:09:16 -08:00
static feat(find-in-thread): add the ability to find in a thread 2016-03-02 14:46:27 -08:00
.eslintrc Update grunt tasks to lint and transpile es6 code using babel 2015-11-06 17:40:42 -08:00
.gitignore feat(spec): add config dir to integration specs 2015-12-10 10:52:20 -05:00
.gitmodules feat(build): add nylas build resources 2015-12-02 13:59:54 -08:00
.travis.yml fix(travis): fewer builds 2016-02-25 17:04:32 -08:00
appveyor.yml fix(appveyor): check if the decryption password env variable is set 2015-12-21 20:51:04 -05:00
CHANGELOG.md bump(version): 0.4.10 and changelog 2016-02-26 16:45:21 -08:00
CONTRIBUTING.md Example Update 2016-02-27 11:40:39 -05:00
ISSUE_TEMPLATE.md fix(issue-template): Update formatting 2016-02-18 11:05:13 -08:00
LICENSE.md meta(license): Add GPLv3 License 2015-10-01 10:23:42 -07:00
N1.sh fix(launch): convert Atom's launch script for N1 2016-03-02 17:47:47 -08:00
package.json bump(version): 0.4.10 and changelog 2016-02-26 16:45:21 -08:00
README.md Update README.md 2016-02-26 09:21:25 -05:00

N1 Logo

N1 Screenshot

N1 is an open-source mail client built on the modern web with Electron, React, and Flux. It is designed to be extensible, so it's easy to create new experiences and workflows around email. N1 is built on the Nylas Sync Engine which is also open source free software.

Build Status Slack Invite Button ![GitHub issues On Deck](https://badge.waffle.io/nylas/N1.png?label=on deck&title=On Deck)

Download N1

You can download compiled versions of N1 for Windows, Mac OS X, and Linux (.deb) from https://nylas.com/N1. You can also build and run N1 on Fedora. A Fedora distribution is coming soon!

Build A Plugin

Plugins lie at the heart of N1 and give it its powerful features. Building your own plugins allows you to integrate the app with other tools, experiment with new workflows, and more. Follow the Getting Started guide to write your first plugin in 5 minutes.

If you would like to run the N1 source and contribute, check out our contributing guide.

Plugin List

We're working on building a plugin index that makes it super easy to add them to N1. For now, check out the list below! (Feel free to submit a PR if you build a plugin and want it featured here.)

Themes
Composer
Sidebar
Navbar
Threadlist
Message View

Running Locally

By default the N1 source points to our hosted version of the Nylas Sync Engine; however, the Sync Engine is open source and you can run it yourself.

Feature Requests / Plugin Ideas

Have an idea for a package, or a feature you'd love to see in N1? Check out our public Trello board to contribute your thoughts and vote on existing ideas.