Commit graph

3611 commits

Author SHA1 Message Date
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
f0608fbad0 fix(license): Swap ref to GPLv3 with the whole thing so GitHub picks it up 2016-10-15 10:48:44 -07:00
Ben Gotow
b061dade65 bump(Electron): 1.4.3 2016-10-14 13:11:20 -07:00
Ben Gotow
ed8b0b222e es6(db): Convert the ORM specs to ES2016 2016-10-14 12:06:07 -07:00
Ben Gotow
51f9001c21 cleanup(*): Remove dead .bowerrc, .gitignore files 2016-10-14 11:39:34 -07:00
Ben Gotow
6b75904e84 Add main window calendar package
Summary: Add tiny helper app for calendar goodness

Test Plan: No tests yet

Reviewers: juan, halla

Reviewed By: halla

Differential Revision: https://phab.nylas.com/D3346
2016-10-14 11:38:31 -07:00
Ben Gotow
c7a85af843 feat(dock): Automatically add N1 to the OS X dock upon install
Note - you need to `killall Dock` to see this after it happens
2016-10-13 15:01:51 -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
c7d4e7b0ee fix(readme): More Win32-specific instructions 2016-10-12 16:37:04 -07:00
Ben Gotow
78411cc139 fix(readme): Improve Win32 build instructions 2016-10-12 16:30:03 -07:00
Ben Gotow
09b5f03f10 bump(version): 0.4.57
(0.4.58 was accidentally in prev commit)
2016-10-12 16:06:40 -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
Evan Morikawa
a23931454d fix(analytics): Add pgp encryption events
Email Encrypted
Email Encryption Errored
Email Decrypted
Email Decryption Errored
2016-10-12 17:29:58 -04:00
Halla Moore
1c675935a7 feat(popout-threads) Add functionality to open threads in popout windows
Summary:
Threads can now be opened in separate windows. This can be done via the popout
icon next to the print icon, or by double-clicking the thread when in double-
pane mode. Note that the single-click action is still fired, which is why
double-clicking does not work in single-pane mode. The popout icon changes to a
pop-in icon while in the popout window, to allow users to collapse it back into
the main window.

Test Plan: Tested locally

Reviewers: evan, juan

Reviewed By: juan

Subscribers: sdw

Differential Revision: https://phab.nylas.com/D3332
2016-10-12 13:55:11 -07:00
Ben Gotow
f409160273 fix(win32): Still need custom sqlite3 build cmd for win32 😥
This also includes a bump of the better-sqlite3 module to support compilation on ia32.
2016-10-12 12:30:23 -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
Evan Morikawa
6d0407acbc fix(jquery): remove jquery 2016-10-12 11:04:38 -04:00
Ben Gotow
bc2a933784 Update Windows.md 2016-10-11 18:35:00 -07: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
Ben Gotow
58fc56592e fix(reporter): Handle errors cleaning log files (Sentry #6887) 2016-10-10 13:44:41 -07:00
Ben Gotow
2d7882bade bump(sqlite3): Fix issue with CI build / bindings location 2016-10-07 17:59:10 -07:00
Ben Gotow
21b93d2173 fix(onboarding): Fire event when user selects account type 2016-10-07 10:16:20 -07:00
Luke Schlangen
f53cc3bde0 Fixing broken screenshot link (#2911)
Replacing with new screenshot
2016-10-06 18:48:12 -07:00
Ben Gotow
8f17b42074 fix(db): Switch to better-sqlite3, resolves offline issue
Summary:
Better-SQLite3 is a fork of node-sqlite3 which includes a re-written JavaScript interface. It’s more synchronous, but better reflects what is actually sync vs. async in sqlite’s C++ API. (Not much is really async under the hood.) This diff uses a branch of better-sqlite3 I’ve edited to support Node 6.

In my tests, this branch spends 3.24x less time executing queries than `master`. (Measured time spent in calls to `this._db[run|all|get]` over the first 5000 queries of initial sync. It also increased the performance of starring a thread in the thread list by 28%.

This library also allows us to use a prepared statement cache, which is great because we often make the same queries repeatedly as query subscriptions refresh the UI and deltas are dumped into the app. The old interface didn’t expose statements (cached query plans) to JS.

better-sqlite3 advertises that it uses the JS garbage collector instead of lower level C++ memory management. I tested syncing my entire mailbox to verify that memory usage is not significantly different on this branch after a lot of queries have been made.

Finally, it looks like we can finally stop building sqlite3 from scratch in `script/bootstrap`. This library builds properly with `apm install`. 🎉

We might want to change the DatabaseStore and DatabaseTransaction classes more, now that it’s possible to execute queries synchronously. It could make things cleaner and get us out of promise-hell in a few places. In this diff I tried to change as little as possible.

Test Plan: Run tests, everything still works

Reviewers: juan, jackie

Reviewed By: juan, jackie

Differential Revision: https://phab.nylas.com/D3315
2016-10-06 17:01:22 -07:00
Evan Morikawa
e48b81d8de refator(notification): move base notification to nylas-component-kit 2016-10-06 10:53:22 -07:00
Ben Gotow
951c0a333c fix(perspectives): Restore when only account cannot be found (Sentry 59061)
https://sentry.nylas.com/sentry/edgehill/group/59061/
2016-10-04 14:15:52 -07:00
Ben Gotow
e57fd2c678 fix(templates): Handle error when scanning dir (Sentry 44351)
https://sentry.nylas.com/sentry/edgehill/group/44351/
2016-10-04 14:15:52 -07:00
Ben Gotow
4160757c9e fix(phising): Handle scenarios where input is malformed (Sentry 51642)
https://sentry.nylas.com/sentry/edgehill/group/51642/
2016-10-04 14:15:52 -07:00
Juan Tejada
de9e627924 fix(lint) 2016-10-04 12:06:43 -07:00
Juan Tejada
b26a5b252c bump(submodule) 2016-10-04 11:17:57 -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
Ben Gotow
aa7ef91b0b fix(files): When download mode is “manual” prompt about inline attachments
Summary:
When you have your "Download attachments for new mail" setting set
to "manually", inline images always appear broken with no explanation.

This patch listens for the image load to fail and displays a button which
queues the fetchFile task on click. This seemed like the best approach because
it doesn't slow down the loading of the message with more fstats / lookups.
(Seeing if the file has already been downloaded is an async operation)

Test Plan: No specs atm

Reviewers: evan, juan

Reviewed By: juan

Differential Revision: https://phab.nylas.com/D3313
2016-10-03 11:22:44 -07:00
Juan Tejada
c385867ddd fix(tools): Make arc lint great again
Add proper arc config for linting ES6 files with eslint
2016-10-02 10:56:11 -07:00
Juan Tejada
56141fb979 🔪 Last remaining traces of coffeescript in submodule! 2016-10-02 10:55:41 -07:00
Evan Morikawa
b540bbb601 fix(composer): tokenizing text field trigger logic moved to composer 2016-10-02 12:05:31 -04:00
Evan Morikawa
83f455f031 fix(composer): fix margin when editing contact chip 2016-10-02 12:05:25 -04:00
Evan Morikawa
80d2dbe10e fix(composer): can shift-tab more places
Allow shift-tab to go back to subject from anywhere except in front of a
tab character
2016-10-02 12:05:14 -04:00