💌 A beautiful, fast and fully open source mail client for Mac, Windows and Linux.
Go to file
Juan Tejada 0217e5a509 feat(metadata): Switch to storing metadata on models
Summary:
 - Adds a class ModelWithMetadata which models can now extend from
 - Instances of this class can query metadata for a plugin via
   `obj.metadataForPluginId(pluginId)`
 - To observe changes on metadata it is sufficient to observe database changes on
   the model. e.g.:
   `DatabaseStore.findAll(Thread,
   [Thread.attributes.pluginMetadata.contains(pluginId)])`
 - To set metadata a new action has been created: Actions.setMetadata
 - Adds a helper observable in nylas-observables to query for models with
   metadata
 - Merges CreateModelTask and UpdateModelTask into SyncbackModelTask
 - Update SendDraftTask ans SynbackDraftTask to handle metadata changes

Test Plan: - Unit tests

Reviewers: drew, evan, bengotow

Reviewed By: evan

Differential Revision: https://phab.nylas.com/D2575
2016-02-17 15:00:33 -08:00
apm refactor(env): new NylasEnv global 2015-11-17 16:41:20 -08:00
build fix(analytics): no longer track tasks 2016-02-12 13:52:06 -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 feat(metadata): Switch to storing metadata on models 2016-02-17 15:00:33 -08:00
keymaps More closely match Apple mail shortcuts 2016-02-15 18:14:05 -05:00
menus feat(screenshot-mode): Tiny feature for removing PII when taking debug screenshots 2016-01-29 16:39:07 -08:00
script bump(*): Electron 0.36.7, version to 0.4.6 2016-02-08 18:35:23 -08:00
spec feat(metadata): Switch to storing metadata on models 2016-02-17 15:00:33 -08:00
spec_integration 🎨: Smaller buttons, smaller toolbar, smaller text 2016-02-09 19:45:24 -08:00
src feat(metadata): Switch to storing metadata on models 2016-02-17 15:00:33 -08:00
static fix(composer): allow link paste without tooltip 2016-02-12 13:50:20 -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 build(*): Add travis reporting to Slack 2016-02-03 14:36:02 -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(changelog): Notes for 0.4.5 2016-02-07 12:39:47 -08:00
CONTRIBUTING.md fix(contributing): Mention syncEngine.APIRoot 2016-01-21 10:42:31 -08:00
LICENSE.md meta(license): Add GPLv3 License 2015-10-01 10:23:42 -07:00
N1.sh fix(N1.sh): allow additional parameters specified on command line 2016-01-15 12:14:07 -05:00
package.json fix(win): bump windows-shortcuts 2016-02-11 17:15:15 -08:00
README.md Add Waffle.io on deck badge to README 2016-02-16 20:24:17 -08: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.