c265cf0dfa
Summary: This diff implements a behavior change described in https://github.com/nylas/N1/issues/1722. Reply buttons should prefer to focus an existing draft in reply to the same message, if one is pristine, altering it as necessary to switch between reply / reply-all. If no pristine reply is already there, it creates one. Reply keyboard shortcuts should do the same, but more strictly - the shortcuts should switch between reply / reply-all for an existing draft regardless of whether it's pristine. This diff also cleans up the DraftStore and moves all the draft creation itself to a new DraftFactory object. This makes it much easier to see what's going on in the DraftStore, and I also refactored away the "newMessageWithContext" method, which was breaking the logic for Reply vs Forward between a bunch of different helper methods and was hard to follow. Test Plan: They're all wrecked. Will fix after concept is greenlighted Reviewers: evan, juan Reviewed By: juan Differential Revision: https://phab.nylas.com/D2776 |
||
---|---|---|
apm | ||
build | ||
docs | ||
dot-nylas | ||
examples | ||
internal_packages | ||
keymaps | ||
menus | ||
script | ||
spec | ||
spec_integration | ||
src | ||
static | ||
.eslintrc | ||
.gitignore | ||
.gitmodules | ||
.travis.yml | ||
appveyor.yml | ||
CHANGELOG.md | ||
CONFIGURATION.md | ||
CONTRIBUTING.md | ||
ISSUE_TEMPLATE.md | ||
LICENSE.md | ||
N1.sh | ||
package.json | ||
README.md |
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.
![GitHub issues On Deck](https://badge.waffle.io/nylas/N1.png?label=on deck&title=On Deck)
Want help build the future of email? Nylas is hiring!
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. To create your own theme, go to our Theme Starter guide.
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.)
Bundled Themes
- Dark
- Darkside (designed by Jamie Wilson)
- Taiga (designed by Noah Buscher)
Community Themes
- Predawn
- ElementaryOS
- Ubuntu
- Ido — Polymail-inspired theme
- Solarized Dark
- Berend
- LevelUp
- Sunrise
- Less Is More
- ToogaBooga
- Material
Bundled Plugins
Great starting points for creating your own plugins!
- Translate — Works with 10 languages
- Quick Schedule — Show your availability to schedule a meeting with someone
- Quick Replies — Send emails faster with templates
- Send Later — Schedule your emails to be sent at a later time
- Open Tracking — See if your emails have been read
- Link Tracking — See if your links have been clicked
- Emoji Keyboard — Insert emoji by typing a colon (:) followed by the name of an emoji symbol
- GitHub Sidebar Info
- View on GitHub
- Personal Level Indicators
- Phishing Detection
Community Plugins
- Jiffy — Insert animated GIFs
- Weather
- Todoist
- Unsubscribe
- Squirt Speed Reader
- In Development: Cypher (PGP Encryption)
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.