💌 A beautiful, fast and fully open source mail client for Mac, Windows and Linux.
Go to file
jathpala b1e5066110 Better support 24-hour time (#2622)
* Added support for 24-hour time to the thread list view (Issue #682)

* Add 24-hour time support to the thread list scroll tooltip (Issue #682)

* Fix for 24-hour time in the thread list scroll tooltip (#682)

Correctly imports the DateUtils module

* Add support for 24-hour time to the draft threads list (Issue #682)

* Add 24-hour time to the message sidebar

* Fix for 24-hour time in the message view so the rollover tooltip is 24hour also (#682)

* Removed unused date functions from utils

fullTimeString and shortTimeString from src/flux/models/utils.coffee were not
compatible with 24-hour time. These functions were modified and moved to
DateUtils in src/date-utils.

* Fix for display of 24-hour time in the message view (Issue #682)

* Removed unused import of Utils in a couple of files

Prompted by Travis build errors.

* Updates to handling of date/time display

Incorporates changes suggested by @bengotow.
Re-enables support for the isDetailed property in message-timestamp (if this is set
to true, a medium length date/time string will be used for display).
Re-enables additional display varieties based on when the email was received. Note
that this is implemented slightly different to the orinal version - time is now given
as an absolute time rather than "... days ago" format.
TZ guessing moved to the global scope of date-utils for performance reasons.

* Minor de-linting

* Re-enable all tests by unfocusing the test suite

A previous commit (ad04775) added an fdescribe() to one of the tests in
draft-helpers-spec. This changes that to a regular describe() so that
all tests will be run when running ./N1 --test.

* Added tests for the new DateUtils functions

Added tests for getTimeFormat, mediumTimeString and fullTimeString.
Removed no longer relevant tests from message-timestamp-spec as _formattedDate
has been removed in favour of the functions in date-utils.

To test shortTimeString, we need to be able to set a fake current time which is
possible in jasmine 2.0+ but not in 1.3 which is currently in use.

As a possible bug, when running more than 10 tests the following warning is raised:
"(node:25025) Warning: Possible EventEmitter memory leak detected.
11 on-config-reloaded listeners added. Use emitter.setMaxListeners() to increase limit",
source: internal/process/warning.js (24)

* Minor de-linting
2016-07-28 17:42:14 -07:00
apm refactor(env): new NylasEnv global 2015-11-17 16:41:20 -08:00
build build(tools): Add eslint_d package for faster linting in text editor 2016-07-26 15:54:23 -07:00
docs Update Windows.py to remove Node 0.10x 2016-07-08 10:52:08 -07:00
dot-nylas cleanup(config): Remove unused features, dependencies 2016-04-26 13:14:06 -07:00
examples Update broken links for guides, docs, and API (#2455) 2016-06-15 15:29:52 -07:00
internal_packages Better support 24-hour time (#2622) 2016-07-28 17:42:14 -07:00
keymaps feat(snooze): Add command for keyboard shortcut 2016-06-07 10:29:52 -07:00
menus fix(menus): Add missing Window menu to win32 and linux 2016-06-10 11:55:59 -07:00
script bump(version): 0.4.46 and Electron 1.2.7 2016-07-18 16:51:49 -07:00
spec Better support 24-hour time (#2622) 2016-07-28 17:42:14 -07:00
spec_integration fix(identity): deprecate updaterId, provide safe access to identity.id 2016-06-02 18:56:09 -07:00
src Better support 24-hour time (#2622) 2016-07-28 17:42:14 -07:00
static fix(icons): Prevent signature dropdown icon from appearing too large 2016-07-28 15:25:11 -07:00
.eslintrc Update grunt tasks to lint and transpile es6 code using babel 2015-11-06 17:40:42 -08:00
.gitignore fix(build): Trigger travis rebuild 2016-04-24 18:57:55 -05:00
.gitmodules feat(package): fix build-resources-task and move submodule 2016-04-25 16:01:56 -07:00
.travis.yml build(travis): Drop Node 0.12 build, unclear if supported by babel 6 2016-05-13 14:57:37 -07:00
appveyor.yml feat(package): fix build-resources-task and move submodule 2016-04-25 16:01:56 -07:00
CHANGELOG.md feat(changelog): 0.4.47 release notes 2016-07-28 15:17:04 -07:00
CONFIGURATION.md feat(self-hosting): Add onboarding flow for self-hosted sync engine 2016-07-21 14:25:30 -07:00
CONTRIBUTING.md Mention test focusing and skipping in CONTRIBUTING (#2514) 2016-07-08 10:57:41 -07:00
ISSUE_TEMPLATE.md Update ISSUE_TEMPLATE.md 2016-07-23 13:03:38 -07:00
keymap.json fix(config): Move all reads / writes to the main process 2016-05-16 16:38:46 -05:00
LICENSE.md meta(license): Add GPLv3 License 2015-10-01 10:23:42 -07:00
N1.sh fix(N1.sh): run with --enable-logging (nylas.sh for prod) 2016-05-04 17:24:11 -07:00
package.json bump(version): 0.4.47 2016-07-28 13:34:46 -07:00
README.md update(readme): Fix typo 2016-07-21 22:45:52 -07: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)

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. On Arch Linux, you can install n1 or n1-git from the aur.

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 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.

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

Community Themes

Create your own theme!

Bundled Plugins

Great starting points for creating your own plugins!

Community Plugins

Configuration

You can configure N1 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 N1? Check out our public Trello board to contribute your thoughts and vote on existing ideas.