Commit graph

463 commits

Author SHA1 Message Date
Juan Tejada 69161e8f04 fix(specs) Fix date-utils specs 2016-11-07 12:15:47 -08:00
Evan Morikawa dbc81a87a4 feat(quote): improved quoted text detection for trailing signatures 2016-11-04 20:45:25 -07:00
Evan Morikawa c0b28456a9 fix(quote): properly detect "wrote: " strings with trailing space 2016-11-04 18:39:37 -07:00
Evan Morikawa 4a40074cd1 convert(es6): quoted-html-transformer to es6 2016-11-04 18:28:11 -07:00
Juan Tejada 189b15e586 feat(attachments): Generate and display thumbnail previews for files (mac only)
Summary: Adds option to view preview thumbnails for attachments. This commit updates the FileDownloadStore to generate file thumbnail previews for attachments via `qlmanage` and displays them in the AttachmentItem component.

Test Plan: Manual

Reviewers: bengotow

Reviewed By: bengotow

Differential Revision: https://phab.nylas.com/D3393
2016-11-02 17:27:53 -07:00
Halla Moore 6f571a323f fix(decaffeination) Remove second arg from some slice calls
Decaffination replaces someString[index..-1] with
someString.slice(index, -1 + 1), which is bizzare. This commit changes those
instances to someString.slice(index).
2016-11-02 12:40:01 -07:00
Juan Tejada 13586d2886 fix(specs): Add regression test for list-selection 2016-11-02 11:46:28 -07:00
Juan Tejada 5fa379bccf fix(es6): Convert FileDownloadStore to JS 2016-11-01 18:12:24 -07:00
Evan Morikawa 8ab3fba7da fix(es6): fix linter and compile error in es6 conversion 2016-10-28 09:59:41 -04:00
Ben Gotow 8e533a3854 es6(*): Actions, ConfigSchema => ES2016 2016-10-27 18:48:33 -07:00
Ben Gotow a9b0472030 es6(*): Misc components, nylas-exports => ES2016 2016-10-27 18:25:30 -07:00
Ben Gotow 0a56d30a22 es6(composer): Composer extensions => ES2016 2016-10-27 17:28:36 -07:00
Ben Gotow e7c22eacbc fix(spec): Apply jasmine styles to windowed specs 2016-10-27 12:44:22 -07:00
Evan Morikawa 0adc1261f6 fix(spec): let ./N1.sh --test=window work 2016-10-27 15:24:13 -04:00
Ben Gotow 781d061ee8 es6(*): Misc src to ES2016 2016-10-27 12:08:59 -07:00
Ben Gotow 642977126f es6(models): Remaining models => ES2016
# Conflicts:
#	src/flux/models/contact.coffee
2016-10-27 12:08:59 -07:00
Juan Tejada 645a032a50 fix(specs): Fix remaining broken specs 2016-10-27 11:44:19 -07:00
Juan Tejada da48d8433e fix(specs): Fix date input specs 2016-10-27 11:35:37 -07:00
Juan Tejada f2e7ea4c4c feat(reminders): Add send reminders functionality
Summary: Add reminders plugin which lets you set reminder if you don't get a reply for a message within a specified time in the future

Test Plan: TODO

Reviewers: halla, bengotow, evan

Reviewed By: halla, bengotow, evan

Differential Revision: https://phab.nylas.com/D3356
2016-10-27 08:49:29 -07:00
Juan Tejada 5d837ffd02 feat(undo-send): Add undo send
Summary:
Add ability to undo send. We decided to make undo send completely client side for a couple of reasons. If we rely on send-later for undo-send, we would be giving /all/ send load to our send-later backend. If this increases the send-later load too much, it might cause delays in the regular send-later functionality and potentially other plugins like snooze that run under the same service. We would also need to rely on the network to be able to cancel a send, which would make it unusable offline or hard to debug if that specific request fails for any given reason.

This commit also refactors the way `ComposerExtension.sendActionConfig` works. The method has been renamed and now must return an array of send actions. Also, all of the business logic to handle different send actions registered by extensions has been pieced apart from the SendActionButton and into a new SendActionStore. This also enables undo send to undo custom send actions registered by extensions.
Along the way, this also fixes a pending TODO to show all registered custom send actions in the preferences for choosing the preferred send action for sending.

Undo send works via a task, so in case N1 closes before send goes through, it will still be persisted to the task queue and restored when opened again. Undoing a send means dequeuing this task.

Test Plan: Manual

Reviewers: jackie, bengotow, halla, evan

Reviewed By: bengotow, halla, evan

Differential Revision: https://phab.nylas.com/D3361
2016-10-26 20:40:10 -07:00
Ben Gotow 9ee3087d10 feat(tokens): Multi-select for tokenized text fields
Test Plan: Lots of tests, mostly updated to enzyme. Not many new ones.

Reviewers: evan, juan, jackie

Reviewed By: juan, jackie

Subscribers: juan

Differential Revision: https://phab.nylas.com/D3374
2016-10-26 13:58:57 -07:00
Ben Gotow ded52ce101 rm(grim): We’re not using Grim for deprecations 2016-10-25 11:36:20 -07:00
Ben Gotow d6f7984c82 fix(mailto): Support body with \n or \r characters
Related to #2923
2016-10-18 10:37:27 -07:00
Ben Gotow c20238314d lint(*): Bump to ESLint 3.8 2016-10-17 18:07:35 -07:00
Evan Morikawa 331dc59853 fix(spec):
Dramatically clean up and simply the spec bootup process.

Converting spec bootup system to es6 from coffee.

Converted old `jasmine-helper`, `spec-helper`, and `spec-suite` to a new
`n1-spec-runner` file.

Each of these old files had tons and tons of code related to various parts
of the spec bootup and running process.

Each of those parts have been extracted into individual files
2016-10-16 20:10:19 -07:00
Evan Morikawa a3303d4841 Fixes to spec-helper extraction 2016-10-16 20:10:19 -07:00
Evan Morikawa 76a9d8467f Initial extraction of all methods out of of spec-helper 2016-10-16 20:10:19 -07:00
Evan Morikawa 854de16e33 Move specs into subfolders 2016-10-16 20:10:19 -07:00
Evan Morikawa 7b58008bc1 Remove unused spec-helper-platform 2016-10-16 20:10:19 -07:00
Evan Morikawa 4209255ca6 Move spec runner & deps into n1-spec-runner folder 2016-10-16 20:10:19 -07:00
Evan Morikawa 13b790b6ca Move waitsForPromise to jasmine-extensions 2016-10-16 20:10:19 -07:00
Evan Morikawa 4e1dc228a8 Remove unused methods from spec-helper 2016-10-16 20:10:19 -07:00
Evan Morikawa 27ccc3cd78 Convert spec-helper to es6 2016-10-16 20:10:19 -07:00
Evan Morikawa f1f7952f64 Convert spec-suite to n1-spec-loader 2016-10-16 20:10:19 -07:00
Evan Morikawa 448b9aeadc Fold jasmine-helper into spec runner 2016-10-16 20:10:19 -07:00
Evan Morikawa 0a23028447 Extract to N1SpecRunner 2016-10-16 20:10:19 -07:00
Evan Morikawa a25c43c7e5 Move global imports back to jasmine-helper 2016-10-16 20:10:19 -07:00
Evan Morikawa 8e786956df Extract out jasmine reporters 2016-10-16 20:10:19 -07:00
Evan Morikawa 52e38d8dd0 Convert spec-suite to es6 2016-10-16 20:10:19 -07:00
Evan Morikawa bda18f5afe Clean up spec-bootstrap and jasmine-helper 2016-10-16 20:10:19 -07:00
Ben Gotow ed8b0b222e es6(db): Convert the ORM specs to ES2016 2016-10-14 12:06:07 -07:00
Evan Morikawa cb7b3764f5 fix(contact): add hasSameDomainAsMe method to Contact 2016-10-13 16:31:40 -04:00
Evan Morikawa 0971f67e7f fix(linter) 2016-10-13 12:41:09 -04:00
Evan Morikawa de0f2374fe feat(calendar): can pick which calendars you want displayed
Summary:
Adds a resizable column next to the calendar that lets you pick which
calendars you want to turn on and off.

The picker sidebar styling mimics that of the main account sidebar.

Calendars are grouped by account.

We store the disabled calendars in in your config.

I added a `notIn` SQL method so it'll perform `WHERE calendarId NOT IN
['a', 'b', ...]` instead of `NOT (WHERE calendarId IN ['a', 'b', 'c'])`

I wanted it to be an exclusion (instead of inclusion) list so the default
was "all on" and we didn't need to always fetch the full list of
calendarIds from the database to compare against.

This also fixed a test that was failing constantly: The Query Subscription
Pool Spec was not being properly reset on each test. As a result, the test
would fail with an instance of a query subscription that Jasmine would
attempt to pretty print. Jasmine would fail to pretty print it because of
a jasmine bug that fails to properly display Objects with null prototypes.
The DatabaseStore's EventEmitter has a property with a null prototyp
causing the error

Test Plan: manual

Reviewers: bengotow, juan

Reviewed By: juan

Differential Revision: https://phab.nylas.com/D3336
2016-10-13 11:37:19 -04:00
Halla Moore b26e9926e0 fix(spellchecker): Use cross-platform misspellings, fix lint error 2016-10-12 17:07:22 -07:00
Ben Gotow 8df4f6d744 feat(win32): Allow N1 to become the system-wide mailto: handler
Summary: This will address the longstanding concern in #417

Test Plan: No new tests

Reviewers: juan, evan

Reviewed By: juan, evan

Maniphest Tasks: T7065

Differential Revision: https://phab.nylas.com/D3322
2016-10-12 16:05:36 -07:00
Jonathan Boiser d09839f1db fix(specs) convert nylas-protocol-handler-spec to ES6 (#2886) 2016-10-12 11:38:30 -07:00
Evan Morikawa 7d76e95616 fix(spec): remove unused spec helpers 2016-10-12 11:04:38 -04:00
Halla Moore 873c4be2da Switch spellcheck libaries
Summary:
Switch to electron-spellchecker, which will allow N1 to
spellcheck more intelligently across languages. It auto-
detects languages and downloads dictionaries on the fly.

Test Plan: Specs, manual testing

Reviewers: bengotow, evan

Reviewed By: evan

Differential Revision: https://phab.nylas.com/D3319
2016-10-11 14:00:50 -07:00
Halla Moore 9e3c3c14cd feat(sidebar-notifs) Create sidebar notifications to replace old bars
Summary:
Move the old bar notifications to the sidebar, and only display one notification
at a time using a priority-rating system. Remove all of the old notification
infrastructure.

Test Plan: Added specs, also reproduced notifications locally

Reviewers: bengotow

Reviewed By: bengotow

Subscribers: juan

Differential Revision: https://phab.nylas.com/D3310
2016-10-04 08:08:23 -07:00