💌 A beautiful, fast and fully open source mail client for Mac, Windows and Linux.
Find a file
Ben Gotow 18677e51a6 fix(config): Store cursors with sync state, avoid constant config.cson writes
Summary:
Previously we were storing sync cursors in config.cson. They were by
far the most frequently updated piece of data in config. To make things worse,
all the writing was happening in the worker window - the main window was just
seeing the changes on disk and reloading.

I believe there's an edge case which causes the main window to read the config
file when it's mid-write and empty. This causes the accounts array to become
empty in the AccountStore and lots of downstream issues. It's also then possible
for the main window to write a config change of it's own and empty the file
permanently.

Test Plan: A few new tests to make sure this is backwards compatible.

Reviewers: juan, evan

Reviewed By: juan, evan

Differential Revision: https://phab.nylas.com/D2642
2016-02-26 13:52:19 -08:00
apm
build bump(submodule): theme and plugin installation reporting fixes 2016-02-26 13:28:42 -08:00
docs
dot-nylas
examples
internal_packages fix(config): Store cursors with sync state, avoid constant config.cson writes 2016-02-26 13:52:19 -08:00
keymaps More closely match Apple mail shortcuts 2016-02-15 18:14:05 -05:00
menus fix(feedback): Remove feedback btn, update "N1 Help" in menu bar 2016-02-24 13:49:15 -08:00
script
spec fix(402s): Handling of Message Rejected, error messages with more detail 2016-02-26 11:40:59 -08:00
spec_integration
src fix(402s): Handling of Message Rejected, error messages with more detail 2016-02-26 11:40:59 -08:00
static feat(snooze): Add snooze date label to snooze threads 2016-02-25 13:12:40 -08:00
.eslintrc
.gitignore
.gitmodules
.travis.yml fix(travis): fewer builds 2016-02-25 17:04:32 -08:00
appveyor.yml
CHANGELOG.md bump(version): 0.4.9 and changelog 2016-02-25 14:10:21 -08:00
CONTRIBUTING.md
ISSUE_TEMPLATE.md fix(issue-template): Update formatting 2016-02-18 11:05:13 -08:00
LICENSE.md
N1.sh
package.json bump(version): 0.4.9 and changelog 2016-02-25 14:10: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.