💌 A beautiful, fast and fully open source mail client for Mac, Windows and Linux.
Find a file
2017-08-08 10:01:20 -07:00
packages/client-app Remove separate activation phase from stores not inside plugins 2017-08-08 10:01:20 -07:00
screenshots Add screenshot back to README 2017-08-02 12:46:04 -07:00
scripts Remove benchmark mode, npm scripts related to cloud codebase 2017-08-02 13:33:52 -07:00
.babelrc [*] use hardlinked .babelrc for AppVeyor 2017-03-07 14:11:16 -05:00
.coffeelint.json [dev] Make 'arc lint' shut up about long lines 2017-03-13 11:42:14 -07:00
.eslintrc Remove isomorphic-core and related packages 2017-06-24 20:34:01 -07:00
.gitignore Initial sync process management 2017-07-04 16:00:54 -07:00
.travis.yml Remove benchmark mode, npm scripts related to cloud codebase 2017-08-02 13:33:52 -07:00
appveyor.yml Remove benchmark mode, npm scripts related to cloud codebase 2017-08-02 13:33:52 -07:00
CHANGELOG.md [client-app] Update changelog 2017-04-17 23:10:26 -07:00
CONFIGURATION.md Merge private repo 2017-04-17 17:17:05 -07:00
CONTRIBUTING.md Merge private repo 2017-04-17 17:17:05 -07:00
ISSUE_TEMPLATE.md fix(rename): update nylas/N1 to nylas/nylas-mail Github references 2017-01-30 11:50:39 -08:00
LICENSE.md fix(license): Swap ref to GPLv3 with the whole thing so GitHub picks it up 2016-10-15 10:48:44 -07:00
package.json Remove benchmark mode, npm scripts related to cloud codebase 2017-08-02 13:33:52 -07:00
README.md Turn Travis and Appveyor back on 2017-08-02 12:54:13 -07:00

💌 Merani

Travis Status AppVeyor Status

Hello! I'm one of the original authors of Nylas Mail and this is a significant fork of the app which completely replaces JavaScript mail sync with a C++ core built on Mailcore2. Unfortunately, it's not ready for use - check back soon!

Merani Screenshot

High level Goals:

  • Replace JavaScript mail sync (client-sync package) and the Electron "worker window" with a new, high performance codebase written in C++ and based on Mailcore2. Make the Electron application just the UI layer.
    • One C++ process per email account.
    • C++ and JS communicate via the child process stdin/stdout streams.
    • JS application queues tasks but has read-only access to the database.
    • JS application should not install timers or wake /at all/ when idle. 0% battery impact when idle.
  • Improve performance of the thread list and composer contenteditable.
  • Make windows open faster by just having less code.
  • Bring back mail rules.

Technical Breakdown of Changes:

  • Activity window and client-sync package removed.
  • MailsyncBridge, a new singleton in the main window, manages C++ sync workers.
  • DatabaseStore no longer provides an interface to write to the database from JavaScript and the following have moved to C++:
    • Database setup and migration
    • Search indexing of threads/contacts
    • Delta processing
    • Task processing
  • Heavy node modules removed:
    • Bluebird
    • Q
    • request
    • etc...
  • Package manager has been completely rewritten to be more performant and load packages in two phases.
  • Delta serialization / deserialization performance has been dramatically improved by removing the JSON reviver.
  • FileDownloadStore / FileUploadStore have been merged into AttachmentStore

Future Features:

  • Receipts
  • Templates with per-template performance tracking
  • Groups
  • Files

Nylas Mail 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. Want to learn more? Check out the full documentation.

Slack Invite Button

Want to help build the future of email? Nylas is hiring!

Download Nylas Mail

You can download compiled versions of Nylas Mail for Windows, Mac OS X, and Linux (.deb) from https://nylas.com/download. You can also build and run Nylas Mail (Previously N1) on Fedora. On Arch Linux, you can install n1 or n1-git from the aur.

Build A Plugin

Plugins lie at the heart of Nylas Mail 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 five 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.

Themes

The Nylas Mail user interface is styled using CSS, which means it's easy to modify and extend. Nylas Mail comes stock with a few beautiful themes, and there are many more which have been built by community developers

Bundled Themes

Community Themes

To install community themes:

  1. Download and unzip the repo
  2. In Nylas Mail, select Developer > Install a Package Manually...
  3. Navigate to where you downloaded the theme and select the root folder. The theme is copied into the ~/.nylas-mail folder for your convinence
  4. Select Change Theme... from the top level menu, and you'll see the newly installed theme. That's it!

Want to dive in more? Try creating your own theme!

Plugin List

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

Bundled Plugins

Great starting points for creating your own plugins!

Configuration

You can configure Nylas Mail in a few ways—for instance, pointing it to your self-hosted instance of the sync engine or changing the interface zoom level. Learn more about how.

Feature Requests / Plugin Ideas

Have an idea for a package or a feature you'd love to see in Nylas Mail? Search for existing GitHub issues and join the conversation!