Commit graph

443 commits

Author SHA1 Message Date
Ben Gotow b061dade65 bump(Electron): 1.4.3 2016-10-14 13:11:20 -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
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
Evan Morikawa 6d0407acbc fix(jquery): remove jquery 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
Ben Gotow 2d7882bade bump(sqlite3): Fix issue with CI build / bindings location 2016-10-07 17:59:10 -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
Ben Gotow 047b4c03fe bump(verison): 0.4.56, more items in changelog 2016-09-29 12:24:15 -07:00
Juan Tejada 5740d29eb5 bump(version): 0.4.55 2016-09-27 08:48:57 -07:00
Juan Tejada fd1ed0cc48 fix(warnings): Fix warnings for react unkown dom prop
When using the pattern `{...extraProps}` to transfer props in the render method,
if rendering a native dom element, react will issue a new warning if we
end up passing invalid dom props:
https://facebook.github.io/react/warnings/unknown-prop.html

This adds a helper library to exclude invalid fom props instead of
manually excluding props inside each render method
2016-09-24 12:31:25 -07:00
Ben Gotow 6b8ae46d0c bump(electron): Update to 1.4.1 to fix intermittent Symbol() error 2016-09-23 08:22:13 -07:00
Ben Gotow 298cb55054 bump(react): 15.3.x, warning removal, thread-sharing tweaks 2016-09-20 17:28:50 -07:00
Ben Gotow e533d063d0 fix(specs): Fix tests that were console.logging, bump coffee-react 2016-09-20 15:17:48 -07:00
Ben Gotow bebba0d45f bump(version): 0.4.54 beta 2016-09-19 18:33:17 -07:00
Ben Gotow 664943354e bump(electron): Electron 1.4, node-sqlite 3.1.4+fts 2016-09-16 08:59:36 -07:00
Juan Tejada 3b7562ed76 bump(version): 0.4.53 and update Changelog 2016-09-14 12:25:00 -07:00
Evan Morikawa 0ea97a5193 bump(version): 0.4.52 and add Changelog 2016-09-14 11:56:36 -07:00
Juan Tejada 962b8b4561 bump(version) 2016-09-01 20:28:17 -07:00
Juan Tejada c98ca87f47 bump(version): 0.4.50 2016-08-31 14:56:08 -07:00
Evan Morikawa 63134325bf bump(version): 0.4.49 2016-08-18 12:21:41 -07:00
Evan Morikawa cacf016ecb bump(version): 0.4.48 2016-08-16 17:42:28 -07:00
Evan Morikawa 5ed3b9b4a3 fix(env): add remove unload callback for stores
Also add eslint_d to linter setup.
Developer bar store supports bearer token auth
2016-08-05 12:15:39 -07:00
Ben Gotow f74a16a41e bump(version): 0.4.47 2016-07-28 13:34:46 -07:00
Ben Gotow 5107bc06de fix(dev): Tiny script that allows you to install eslint packages into main node_modules folder (for Atom) 2016-07-21 11:56:44 -07:00
Ben Gotow 67ed1a3266 bump(version): 0.4.46 and Electron 1.2.7 2016-07-18 16:51:49 -07:00
Evan Morikawa 5e0bcc5eff Quieter logging on dev 2016-07-15 13:07:12 -07:00
Ben Gotow 08c7ca8b0d Use EC2 instance ID instead of hostname 2016-07-14 18:52:30 -07:00
Evan Morikawa 45f132b746 Fix thread moving to support new Promises 2016-07-14 17:37:38 -07:00
Juan Tejada b58c11605c Moves metrics into its own pkg to be able to instrument other services
- With the Metrics module inside nylas-core, and bc of our current lerna
setup, we required other modules like sequelize and redis before requiring
newrelic, thus preventing them from being properly instrumented
2016-07-14 11:20:58 -07:00
Juan Tejada 16b91ea394 Update metrics with signalfx - report # of syncing accts per host 2016-07-14 10:39:05 -07:00
Ben Gotow b43b623ca6 Expand promise utils 2016-07-13 17:22:02 -07:00
Juan Tejada ab9c01a249 Remove bluebird
- Implement `each` and `promisifyAll` + other bluebird fns
2016-07-13 16:35:22 -07:00
Juan Tejada 7f72ab7f14 Add loggly logging service to test it out
- Adds env to all logs, cleans up code a bit
2016-07-13 11:58:46 -07:00
Ben Gotow 9d7343eb91 Fix UTF7 reference - prod will not use ssh 2016-07-12 16:24:03 -07:00
Ben Gotow 8b1e9564cf Fix UTF7 support — module didn’t support Node6 2016-07-12 16:11:29 -07:00
Juan Tejada 039648bae8 Add bunyan-prettystream to regular dependencies 2016-07-11 17:04:30 -07:00
Juan Tejada f8b8dfb87f Revert to running pm2 in no-daemon mode in dev
- Add a stream for pretty logging in dev mode
2016-07-11 16:40:48 -07:00
Juan Tejada d4cd2510db Fix pm2 run scripts 2016-07-11 15:46:52 -07:00
Halla Moore bc10ff453e Change stop script to use pm2 stop command instead of delete 2016-07-11 15:06:36 -07:00
Evan Morikawa 84815ce2fa Add file watching to restart server 2016-07-11 12:00:20 -07:00
Evan Morikawa c0d7902f9f Add npm run restart 2016-07-11 11:49:11 -07:00
Juan Tejada ff334e169c Make npm start log output logs too 2016-07-11 11:43:51 -07:00
Juan Tejada f648016c62 Lock logger versions 2016-07-11 11:28:53 -07:00
Juan Tejada dce872fac8 Adds bunyan for json logging on every package!
- Bunyan logs json output, and added a stream to send our logs to
cloudwatch
- Replaces /all/ instances of console.log. Turned eslint rule back on,
so we don't use console.log ever again.
- Added npm scripts to view pretty logs
2016-07-08 17:30:24 -07:00
Evan Morikawa 1ff61beec9 package json fixed 2016-07-07 16:08:19 -07:00
Ben Gotow 0bfa8023f2 Merge branch 'master' of ssh://github.com/nylas/k2
Conflicts:
	Dockerfile
2016-07-07 15:27:56 -07:00
Ben Gotow 63f66fb7e7 Switch to PM2 for dev + prod 2016-07-07 15:25:45 -07:00
Evan Morikawa 7a45506271 Update package.json to include lerna in main dependencies 2016-07-07 13:42:44 -07:00
Evan Morikawa dfb3935969 Update package.json. Remove Procfile 2016-07-07 13:32:54 -07:00
Evan Morikawa ecb97fa437 Revert "Remove sqlite"
This reverts commit f14443a83e.
2016-07-07 12:10:17 -07:00
Evan Morikawa f14443a83e Remove sqlite 2016-07-07 12:10:01 -07:00
Ben Gotow 822b8e54e6 Allow usage with mysql in addition to SQLite 2016-07-07 11:37:55 -07:00
Evan Morikawa be277b8004 Add dockerfile 2016-07-06 15:30:35 -07:00
Evan Morikawa af9d5da17c Revert "Start just nylas-api"
This reverts commit 91d8cfa6c0b8fe4c6df007e095ca4af07e3fd3ef.
2016-07-06 13:51:17 -07:00
Evan Morikawa 5d2c52df41 Start just nylas-api 2016-07-06 13:51:17 -07:00
Ben Gotow c9c52fae1b Stop sqlite errors - guess N1 version didn't support Node 6 2016-06-30 00:29:46 -07:00
Ben Gotow 5a6daf9556 Stop sqlite from waiting 1sec to retry table locks 2016-06-30 00:19:57 -07:00
Evan Morikawa d5d019f9d9 Plain npm install 2016-06-22 14:53:23 -07:00
Evan Morikawa 71167328dd Update readme 2016-06-22 14:49:36 -07:00
Evan Morikawa 18f2925b43 Convert to monorepo 2016-06-22 14:41:32 -07:00
Evan Morikawa 54599a21c0 Ignore storage folder 2016-06-22 12:19:17 -07:00
Juan Tejada c3ed7cbdef Adds message parsing module + other updates
- Adds an order for the message processing pipeline to ensure that
parsing occurs first
- Adds JSONARRAYType
- Other misc updates
2016-06-22 11:00:35 -07:00
Evan Morikawa 02fbd6e625 Add core as package dependency 2016-06-21 17:13:48 -07:00
Evan Morikawa 7602620742 Add Procfile and heroku readiness 2016-06-21 17:11:31 -07:00
Ben Gotow b84bc5fd61 bump(version): 0.4.45 2016-06-14 01:45:52 -07:00
Juan Tejada 6b787259ef bump(version): 0.4.44 2016-06-13 12:05:11 -07:00
Ben Gotow 90abcd1bd7 revert(electron): Downgrade to 1.1.3 to fix segfault
electron/electron/issues/5925
2016-06-07 18:09:27 -07:00
Ben Gotow 631eff5d47 bump(version): 0.4.43 beta 2016-06-07 14:17:26 -07:00
Ben Gotow a46320bcc0 fix(tz): Update moment, internally uses Intl.DateTimeFormat() 2016-06-06 15:20:48 -07:00
Ben Gotow 063c6b814e bump(electron): 1.2.1 and React Devtools in dev mode 🎉 2016-06-03 10:51:39 -07:00
Juan Tejada f9d86434e5 bump(version): 0.4.42 2016-06-02 16:00:54 -07:00
Ben Gotow c6354feb41 feat(pro): New Nylas identity provider, onboarding and auth
commit 50d0cfb87c
Author: Ben Gotow <bengotow@gmail.com>
Date:   Fri May 27 14:01:49 2016 -0700

    IdentityStore conveniene methods for subscription state

commit 80c3c7b956
Author: Ben Gotow <bengotow@gmail.com>
Date:   Fri May 27 12:03:53 2016 -0700

    Periodically refresh identity, show expired notice in top bar

commit 5dc39efe98
Merge: 4c4f463 906ea74
Author: Juan Tejada <juans.tejada@gmail.com>
Date:   Thu May 26 15:17:46 2016 -0700

    Merge branch 'bengotow/n1-pro' of github.com:nylas/N1 into bengotow/n1-pro

commit 4c4f463f4b
Author: Juan Tejada <juans.tejada@gmail.com>
Date:   Thu May 26 15:16:48 2016 -0700

    Hijack links inside email that go to billing site and add SSO to them

commit 906ea74807
Author: Ben Gotow <bengotow@gmail.com>
Date:   Thu May 26 12:02:29 2016 -0700

    Add custom welcome page for upgrading users

commit 2ba9aedfe9
Author: Juan Tejada <juans.tejada@gmail.com>
Date:   Wed May 25 17:27:12 2016 -0700

    Add styling to Subscription tab in prefs

commit 384433a338
Author: Ben Gotow <bengotow@gmail.com>
Date:   Wed May 25 16:21:18 2016 -0700

    Add better style reset, more IdentityStore changes

commit c4f9dfb4e4
Author: Ben Gotow <bengotow@gmail.com>
Date:   Wed May 25 15:29:41 2016 -0700

    Add subscription tab

commit bd4c25405a
Author: Ben Gotow <bengotow@gmail.com>
Date:   Wed May 25 14:18:40 2016 -0700

    Point to billing-staging for now

commit 578e808bfc
Author: Ben Gotow <bengotow@gmail.com>
Date:   Wed May 25 13:30:13 2016 -0700

    Rename account helpers > onboarding helpers

commit dfea0a9861
Author: Ben Gotow <bengotow@gmail.com>
Date:   Wed May 25 13:26:46 2016 -0700

    A few minor fixes

commit 7110217fd4
Author: Ben Gotow <bengotow@gmail.com>
Date:   Wed May 25 12:58:21 2016 -0700

    feat(onboarding): Nylas Pro onboarding overhaul

    Summary:
    Rip out all invite-related code

    Enable Templates and Translate by default

    Scrub packages page, unused code in onboarding pkg

    Remove resizing

    New onboarding screens

    IMAP provider list, validation

    Call success with response object as well

    Renaming and tweaks

    Test Plan: No tests yet

    Reviewers: evan, juan, jackie

    Differential Revision: https://phab.nylas.com/D2985

commit dc9ea45ca9
Author: Ben Gotow <bengotow@gmail.com>
Date:   Wed May 25 12:52:39 2016 -0700

    Renaming and tweaks

commit 5ca4cd31ce
Author: Ben Gotow <bengotow@gmail.com>
Date:   Wed May 25 11:03:57 2016 -0700

    Call success with response object as well

commit 45f14f9b00
Author: Ben Gotow <bengotow@gmail.com>
Date:   Tue May 24 18:26:38 2016 -0700

    IMAP provider list, validation

commit c6ca124e6e
Author: Ben Gotow <bengotow@gmail.com>
Date:   Sat May 21 11:14:44 2016 -0700

    New onboarding screens

commit dad918d926
Author: Ben Gotow <bengotow@gmail.com>
Date:   Thu May 19 16:37:31 2016 -0700

    Remove resizing

commit ecb1a569e2
Author: Ben Gotow <bengotow@gmail.com>
Date:   Thu May 19 16:36:04 2016 -0700

    Scrub packages page, unused code in onboarding pkg

commit 3e0a44156c
Author: Ben Gotow <bengotow@gmail.com>
Date:   Thu May 19 16:33:12 2016 -0700

    Enable Templates and Translate by default

commit 0d218bc86f
Author: Ben Gotow <bengotow@gmail.com>
Date:   Thu May 19 16:30:47 2016 -0700

    Rip out all invite-related code
2016-05-27 14:21:19 -07:00
Ben Gotow 9507deb322 bump(version): 0.4.41, Electron 1.1.1 2016-05-23 10:34:44 -07:00
Ben Gotow dcc665ce71 bump(version): 0.4.40 and changelog 2016-05-19 11:15:56 -07:00
Ben Gotow a186f985ba bump(version): 0.4.39 2016-05-18 10:10:31 -07:00
Evan Morikawa 88f5cac00a bump(version): 0.4.38 stable patch release 2016-05-15 21:23:31 -07:00
Ben Gotow f865b48f4e fix(auth): Revert imap => custom, bump package.json 0.4.37 2016-05-15 11:14:16 -05:00
Ben Gotow 69b7bb2e23 bump(version): 0.4.36 and changelog 2016-05-13 15:57:03 -07:00
Ben Gotow 26d4361bfb bump(electron): Fix remaining deprecated requires, move to 1.0.1 2016-05-12 13:59:23 -07:00
Ben Gotow 6d5e44dfd0 bump(version): 0.4.35 2016-05-12 11:59:30 -07:00
Juan Tejada eb79ce9d44 specs(table): Add specs for table components
Summary:
- Add some docs to Table components
- Updates Table components to use a TableDataSource instead of accessing arrays, cleans up code a bit
- Add enzyme lib to have a cleaner and simpler api to write tests for React Components
- Updates decorators to extend from the BaseComponent instead of vanilla Component, this way instance methods are still available on composed components

Test Plan: - Unit tests

Reviewers: evan, bengotow

Reviewed By: bengotow

Differential Revision: https://phab.nylas.com/D2941
2016-05-11 14:36:59 -07:00
Juan Tejada 8991069ea2 fix(build): Bump minor react version (fix peer dep resolution) 2016-05-11 11:25:04 -07:00
Evan Morikawa 87b3402494 feat(react): add react perf tools package 2016-05-09 12:01:05 -04:00
Evan Morikawa 3b7b199d69 feat(babel6): Use published babel-preset-electron 2016-05-06 11:55:58 -07:00
Evan Morikawa 6259332a11 feat(babel6): 1,393 linter errors 2016-05-06 11:55:53 -07:00
Evan Morikawa a16c37f6e7 feat(babel6): Replace stage-0 with electron 2016-05-06 11:55:23 -07:00
Evan Morikawa c483b7a41d feat(babel6): Switch to using local babel-preset-electron 2016-05-06 11:55:22 -07:00
Evan Morikawa 87b1d5075b feat(babel6): Fix syntax errors and add regenerator runtime 2016-05-06 11:55:08 -07:00
Evan Morikawa 427a23bbe6 feat(babel6): Add babel presets and lint for require.default 2016-05-06 11:54:52 -07:00
Evan Morikawa e2f9104766 feat(babel6): Initial babel conversion 2016-05-06 11:54:38 -07:00
Ben Gotow cbde54eb8f bump(changelog): 0.4.33 notes and 0.4.34 bump 2016-05-04 18:39:29 -07:00
Ben Gotow 5add83b467 bump(versions): 0.4.33 beta, Electron 0.37.8 2016-05-03 09:16:53 -07:00
Ben Gotow 9bc0426e04 bump(version): 0.4.32 and changelog 2016-05-02 14:23:05 -07:00
Ben Gotow dfb3cbcf8b bump(version): 0.4.31 2016-04-29 15:41:35 -07:00
Ben Gotow a353aa8dfa bump(version): 0.4.30 2016-04-28 17:08:54 -07:00
Ben Gotow 0bc83bb5bb bump(version): 0.4.29 2016-04-28 12:42:06 -07:00
Ben Gotow 31f3f9a865 fix(build): keytar bump broke everything 2016-04-27 17:44:43 -07:00
Ben Gotow e3cba1cae5 bump(version): 0.4.28 2016-04-27 13:07:15 -07:00
Ben Gotow 7c557c0c8f cleanup(specs): Remove space-pen. Goodbye, jQuery! 2016-04-26 13:14:07 -07:00
Ben Gotow 1b62e09f71 cleanup(config): Remove unused features, dependencies 2016-04-26 13:14:06 -07:00
Evan Morikawa 853b128903 bump(version): 0.4.27 beta 2016-04-25 16:57:25 -07:00
Ben Gotow 9c867debc4 bump(version): 0.4.26 beta 2016-04-24 14:34:56 -05:00
Ben Gotow a48ddd51f8 refactor(menus): Major prune of keymaps/commands, real conditional menus
Summary:
Keymaps & menus CSON => JSON, remove AtomKeymaps, CommandRegistry use of CSS selectors, use Mousetrap instead

Important Notes:

- The `application:` prefix is reserved for commands which are handled in the application process. Don't use it for other things. You will not receive the events in the window.

- Maintaining dynamic menus seems to come with quite an overhead, because Electron updates the entire menu every time. In the future, we'll need https://github.com/electron/electron/issues/528 to really make things nice. I will be tracking this upstream.

- The format for keyboard shortcuts has changed. `cmd-X` is now `command+shift+x`

Test Plan: Run tests

Reviewers: juan, evan

Reviewed By: evan

Differential Revision: https://phab.nylas.com/D2917
2016-04-24 12:16:25 -05:00
Ben Gotow d9d8ffaf45 fix(sheets): Attach sheets to the toolbar at correct offset 2016-04-22 13:21:23 -07:00
Ben Gotow 33b88996b7 bump(electron): 0.37.6, with fix for inverted tray icon 2016-04-19 17:46:31 -07:00
Ben Gotow d1211ab7de bump(electron): 0.36.7 => 0.37.5 2016-04-12 18:42:57 -07:00
Koen Punt 08d18765d7 Open links in background when ⌘ key is pressed (#1637)
When you hold down the meta key (⌘), and click on a link in a message,
the target application will not activate, so N1 will stay in the
foreground.
Electron only supports this for OS X
2016-04-12 18:11:27 -07:00
Ben Gotow 5a9d6c9eba bump(react) 0.14.7 => 15.0.1 2016-04-12 16:58:45 -07:00
Jackie Luo 2a431fcec7 fix(composer-emoji): Switch to characters to PNGs (#1898)
* Add PNGs and JSON file

* Add Apple and Twitter emoji

* Fix linter issues and tests

* Get correct path from EmojiStore

* Add emoji regex and update extensions

* Remove the scary regex
2016-04-12 10:27:24 -07:00
Ben Gotow 1e073be8a3 bump(version): 0.4.25 2016-04-12 09:50:32 -07:00
Juan Tejada 18231b0496 fix(build): Lock spellchecker to 3.2.3 2016-04-11 15:51:17 -07:00
Ben Gotow f46101e633 bump(version): 0.4.24 2016-04-11 12:01:47 -07:00
Ben Gotow df44eb493d bump(version): 0.4.23 2016-04-10 17:31:54 -07:00
Juan Tejada e27da61a8e fix(deps): Add moment-round 2016-04-10 16:37:33 -07:00
Ben Gotow 5739efe2c9 bump(version): 0.4.22 2016-04-07 14:14:20 -07:00
Ben Gotow 46ab8ee687 bump(version): 0.4.21 beta 2016-04-05 19:17:13 -07:00
Ben Gotow 85dfe82c6d bump(version): 0.4.20 beta 2016-04-04 17:26:48 -07:00
Evan Morikawa 15ff969e73 feat(calendar): add week view for quick scheduler
Summary: New Calendar

Test Plan: TODO

Reviewers: drew, juan, bengotow

Reviewed By: bengotow

Subscribers: jackie

Differential Revision: https://phab.nylas.com/D2767
2016-04-04 15:05:48 -07:00
Ben Gotow 39768fd9d4 bump(react): 0.13.2 => 0.14.7
Great breakdown of React changes here:
https://github.com/facebook/react/blob/master/CHANGELOG.md#0140-october-7-2015

Due to deprecation warnings, I don't think this will break third-party extensions unless they were doing really bad things.
2016-03-29 01:43:12 -07:00
Ben Gotow c4b659dc7c bump(version): 0.4.19 and changelog 2016-03-25 12:16:43 -07:00
Ben Gotow 352ad9f31b bump(version): 0.4.18 2016-03-24 16:53:01 -07:00
Ben Gotow b040e84f94 bump(version): Notes for 0.4.16 patch, master to 0.4.17 2016-03-18 17:03:27 -07:00
Ben Gotow 1e9da4309a bump(version): 0.4.16 beta 2016-03-17 18:25:00 -07:00
Ben Gotow b4370c1108 bump(version): 0.4.15 2016-03-16 19:29:00 -07:00
Ben Gotow 466bca813b fix(syncback): Bidirectional transforms, ready-to-send saved state
Summary:
This diff replaces "finalizeSessionBeforeSending" with a
plugin hook that is bidirectional and allows us to put the draft in
the "ready to send" state every time we save it, and restore it to
the "ready to edit" state every time a draft session is created to
edit it.

This diff also significantly restructures the draft tasks:

1. SyncbackDraftUploadsTask:
   - ensures that `uploads` are converted to `files` and that any
     existing files on the draft are part of the correct account.

1. SyncbackDraftTask:
   - saves the draft, nothing else.

3. SendDraftTask
   - sends the draft, nothing else.
   - deletes the entire uploads directory for the draft

Test Plan: WIP

Reviewers: juan, evan

Reviewed By: evan

Differential Revision: https://phab.nylas.com/D2753
2016-03-16 19:27:12 -07:00
Ben Gotow 4593d0a9b1 fix(config): Move account tokens to system keychain
Summary:
This diff also adds an account version number to the config so that the AccountStore can tell whether it should reload accounts (depending on whether it was the instance making tthe changes.)

This diff also fixes a tiny issue where un-opened composers threw an exception if you changed accounts.

Test Plan: New tests

Reviewers: evan, drew, juan

Reviewed By: juan

Subscribers: juan

Differential Revision: https://phab.nylas.com/D2726
2016-03-14 15:14:08 -07:00
Ben Gotow 34fd39962f bump(version): 0.4.14 and changelog 2016-03-10 19:09:00 -08:00
Ben Gotow 915afa8ba6 bump(version): 0.4.13 beta 2016-03-10 12:08:05 -08:00
Ben Gotow 21059fed3c bump(version): 0.4.12 beta 2016-03-08 18:33:24 -08:00
Ben Gotow bcb4eb9e3f bump(version): 0.4.11 beta 2016-03-05 12:13:15 -08:00
Ben Gotow 7110fc33bb Revert "bump(electron): 0.36.9. Fixes #911"
This reverts commit 57577b5afa.
2016-02-29 10:57:09 -08:00
Ben Gotow 57577b5afa bump(electron): 0.36.9. Fixes #911 2016-02-29 10:36:30 -08:00
Ben Gotow 91b45fd2ae bump(version): 0.4.10 and changelog 2016-02-26 16:45:21 -08:00
Ben Gotow 1df517c4af bump(version): 0.4.9 and changelog 2016-02-25 14:10:21 -08:00
Ben Gotow c0bec3fd0f bump(verison): 0.4.8 beta 2016-02-22 17:41:38 -08:00
Ben Gotow 3a23837830 bump(version): 0.4.7 beta 2016-02-19 18:22:45 -08:00
Juan Tejada 76bda1dbe4 feat(snooze/send-later): Add snooze and send later plugins
Summary:
- Add initial version of snooze and send later plugins
- Tests are missing since this will probably heavily change before we are done with them

Test Plan: - TODO

Reviewers: drew, bengotow, evan

Reviewed By: bengotow, evan

Differential Revision: https://phab.nylas.com/D2578
2016-02-18 10:06:21 -08:00
Evan Morikawa 1c995f2c56 fix(win): bump windows-shortcuts 2016-02-11 17:15:15 -08:00
Evan Morikawa 0563c41f34 fix(win): bump windows-shortcuts fork 2016-02-11 16:53:59 -08:00
Ben Gotow fbb7a4b40c bump(*): Electron 0.36.7, version to 0.4.6 2016-02-08 18:35:23 -08:00
Ben Gotow 521e2bdc61 bump(version): 0.4.2 2016-02-03 14:55:48 -08:00
Ben Gotow 9974d24487 bump(version): 0.4.1 Beta 2016-02-01 18:31:04 -08:00
Ben Gotow 21695e5920 bump(spellcheck): Fixes #1168, #895, #855, #1158
https://github.com/atom/node-spellchecker/issues/30
2016-02-01 10:01:17 -08:00
Ben Gotow 2d63426113 bump(version): 0.4.0 beta 2016-01-28 15:48:08 -08:00
Evan Morikawa 55aedef697 feat(startup): new option to launch on system start
Summary:
adds new option to launch on system start

Also adds the `--background` flag to launch N1 in the background (aka not
show the main window).

Test Plan: Manual

Reviewers: bengotow, juan

Reviewed By: juan

Differential Revision: https://phab.nylas.com/D2474
2016-01-28 12:02:08 -08:00
Ben Gotow e2234bf58e Merge branch 'master' into unified-inbox
# Conflicts:
#	internal_packages/feedback/lib/feedback-button.cjsx
#	internal_packages/thread-list/lib/thread-list.cjsx
#	src/flux/stores/draft-store.coffee
2016-01-25 17:28:29 -08:00
Evan Morikawa acb0eb77cf bump(version): 0.3.46 2016-01-20 21:00:01 -08:00
Ben Gotow 36012f84f2 bump(version): 0.3.45 2016-01-20 18:55:51 -08:00
Ben Gotow 29f4c9d279 bump(version): 0.3.44 beta 2016-01-20 10:56:00 -08:00
Ben Gotow 3a8a38b8bc Merge branch 'master' into unified-inbox
# Conflicts:
#	spec/stores/file-download-store-spec.coffee
2016-01-13 17:20:34 -08:00
Ben Gotow 7c749468e5 bump(version): 0.3.43 and changelog 2016-01-12 19:19:16 -08:00
Ben Gotow 3edf4854cd bump(version): 0.3.42 (testing Windows autorestart) 2016-01-12 15:58:37 -08:00
Ben Gotow f0bc344f0d bump(version): 0.3.41 2016-01-12 15:46:00 -08:00
Ben Gotow 13870fecd5 Merge branch 'master' into unified-inbox
# Conflicts:
#	internal_packages/events/lib/event-header.cjsx
#	spec/stores/file-download-store-spec.coffee
#	spec/tasks/event-rsvp-spec.coffee
#	src/flux/tasks/event-rsvp.coffee
2016-01-12 08:20:55 -08:00
Ben Gotow 5961adc505 bump(version): 0.3.40 2016-01-12 08:13:43 -08:00
Juan Tejada 785fcde470 Add rx-lite-testing 2016-01-11 12:26:27 -08:00
Ben Gotow a80fc028f8 bump(version): 0.3.39 2016-01-11 09:59:05 -08:00
Ben Gotow e642e02a4f bump(version): 0.3.38 2016-01-08 14:37:52 -08:00
Ben Gotow 69f4c18ff9 bump(version): 0.3.37 2016-01-08 10:16:45 -08:00
Ben Gotow c0ff88d1b0 Revert "bump(electron): 0.35.4 => 0.36.2"
This reverts commit 863bda2f86.
2016-01-08 10:06:16 -08:00
Ben Gotow 863bda2f86 bump(electron): 0.35.4 => 0.36.2 2016-01-06 13:20:27 -08:00
Ben Gotow a3db2ed3d4 bump(version): 0.3.36 2016-01-05 11:45:05 -08:00
Ben Gotow 59dc38dbcb bump(version): 0.3.35 beta 2016-01-04 11:43:40 -08:00
Ben Gotow 53effd868e bump(version): 0.3.34 beta 2015-12-28 18:39:27 -08:00
Ben Gotow 2ddceba8ed bump(version): 0.3.33 Beta 🎄 2015-12-23 02:20:13 -05:00
Juan Tejada 24c80b7539 🍒(atom): Pull updated version of Command Registry:
- This fixes a bug present in the earlier version where stopPropagation and
preventDefault were not correctly defined in the custom event
- Updates clear-cut dependency and initialization of CommandRegistry in
NylasEnv
2015-12-21 20:31:54 -08:00
Ben Gotow 1482ae0f44 bump(version): 0.3.32 2015-12-15 11:59:01 -08:00
Ben Gotow 281baf5c48 bump(version): 0.3.31 2015-12-14 14:36:17 -08:00
Ben Gotow 5593886bcf bump(version): 0.3.30 2015-12-11 15:11:13 -08:00
Evan Morikawa ad68c0729a fix(hot-api): remove react-hot-api 2015-12-11 11:22:22 -05:00
Evan Morikawa 47a3697390 fix(win): remove winattr 2015-12-10 14:04:16 -05:00
Evan Morikawa 3c2ec9833f fix(win): repalce fswin with winattr 2015-12-10 12:44:44 -05:00
Evan Morikawa f56dc18690 feat(spec): add config dir to integration specs
Summary:
- You can now pass `--config-dir-path=/some/custom/path` to `./N1.sh`
- `main.coffee` cleaned up a bit. A lot of unused params from legacy Atom
  stuff were still being used
- Integration specs now set the config dir before booting.
- New spec to check for the autoupdater in the app and make sure it's
  pointing at the right place.

Test Plan: script/grunt run-integration-tests

Reviewers: juan, bengotow

Reviewed By: bengotow

Differential Revision: https://phab.nylas.com/D2331
2015-12-10 10:52:20 -05:00
Ben Gotow 8afe8d553e bump(electron): 0.35.4 2015-12-09 12:29:42 -08:00
Ben Gotow 1820818d37 bump(version): 0.3.29 2015-12-08 17:56:58 -08:00
Ben Gotow 62fab52f7b feat(observables): Implementation of observables to replace some stores
Summary:
Add concept of "final" to Query, clean up internals

Tiny bug fixes

RxJs Observables!

WIP

Test Plan: Run tests

Reviewers: evan, juan

Reviewed By: juan

Differential Revision: https://phab.nylas.com/D2319
2015-12-07 16:52:46 -08:00
Ben Gotow e87c5d3181 bump(version): 0.3.28 2015-12-07 12:08:51 -08:00
Evan Morikawa 1fb58d5c52 feat(build): add nylas resources 2015-12-02 15:12:56 -08:00
Evan Morikawa f007962500 refactor(spec): remove spectron from main app 2015-12-02 13:42:09 -08:00
Evan Morikawa 73e7c1c52e feat(tests): add integration tests
comment

Adding test harness

Using key strokes in main window test

Tests work now

Clean up argument variables

Rename list manager and get rid of old spec-helper methods

Extract out time overrides from spec-helper

Spectron test for contenteditable

fix spec exit codes and boot mode

fix(spec): cleanup N1.sh and make specs fail with exit code 1

Revert tests and get it working in window

Move to spec_integration and add window load tester

Specs pass. Console logs still in

Remove console logs

Extract N1 Launcher ready method

Make integrated unit test runner

feat(tests): adding integration tests

Summary:
The /spectron folder got moved to /spec_integration

There are now unit tests (the old ones) run via the renamed
`script/grunt run-unit-tests`

There are now integration tests run via the command `script/grunt
run-integration-tests`.

There are two types of integration tests:
1. Tests that operate on the whole app via Selenium/Chromedriver. These
tests have access to Spectron APIs but do NOT have access to any JS object
running inside the application. See the `app-boot-spec.es6` for an example
of these tests. This is tricky because we want to test the Main window,
but Spectron may latch onto any other of our loading windows. Code in
`integration-helper` give us an API that finds and loads the main window
so we can test it

2. Tests that run in the unit test suite that need Spectron to perform
integration-like behavior. These are the contentedtiable specs. The
Spectron server is accessed from the app and can be used to trigger
actions on the running app, from the app. These tests use the
windowed-test runner so Spectron can identify whether the tests have
completed, passed, or failed. Unfortunately Spectron can't access the logs
, nor the exit code of the test script thereby forcing us to parse the
HTML DOM. (Note this is still a WIP)

I also revamped the `N1.sh` file when getting the launch arguments to work
properly. It's much cleaner. We didn't need most of the data.

Test Plan: new tests

Reviewers: juan, bengotow

Differential Revision: https://phab.nylas.com/D2289

Fix composer specs

Tests can properly detect when Spectron is in the environment

Report plain text output in specs

fixing contenteditable specs

Testing slow keymaps on contenteditable specs

Move to DOm mutation

Spell as `subtree` not `subTree`
2015-12-02 13:41:14 -08:00
Ben Gotow 6150d51eda bump(version): 0.3.26 and updated Changelog 2015-11-30 14:11:31 -08:00
Ben Gotow d7d5ed2832 feat(prefs): Allow tabs with an accounts submenu
Summary:
This diff:
- Improves the styling of the tabs in the preferences sidebar.
- Adds an optional param to section cofnig that puts an "account" submenu beneath the tab item.
- Renames preferences "sections" => "tabs", and renames the PreferencesSectionStore to PreferencesUIStore. I think we should include "UI" in more of our stores, and I think "tabs" is a good idea because it's unambigious—there's no way you could confuse it for a "section" of the NylasEnv.config tree or think it deals with actually saving prefs.

Test Plan: Inspect visually

Reviewers: evan, juan

Reviewed By: evan

Differential Revision: https://phab.nylas.com/D2296
2015-11-30 11:43:49 -08:00
Ben Gotow 8b4687a272 bump(version): 0.3.25 2015-11-24 17:51:12 -08:00
Ben Gotow 7f5c0a00ae bump(version): 0.3.24 2015-11-23 22:27:05 -08:00
Ben Gotow 528c8850ce bump(electron): 0.34.3 => 0.35.1
Electron 0.35.1 includes the tray fixes we contributed last week but also includes API restructuring and improvements. Most importantly, modules from electron are now imported via `require('electron')`
2015-11-23 22:09:17 -08:00
mbilker dc29b746b2 fix(packages): remove vm-compatibility-layer
vm-compatibility-layer was designed to support obsolete APIs in node
v0.11.x of node v0.10.x. It is only used in the build Gruntfile and
nowhere else in the project.
2015-11-21 00:17:27 -05:00
Ben Gotow f8539aa382 🍒(atom): Pull new, cleaner compile cache + index.js 2015-11-17 19:43:08 -08:00
Evan Morikawa 6b120b7bc3 fix(package): revert to upgraded package.json 2015-11-17 16:25:58 -08:00
Evan Morikawa bab3c18bd4 fix(docs): fix docs so they compile properly. 2015-11-17 15:48:59 -08:00
Ben Gotow 2f2a80b03a bump(️): Electron 0.29.2 > 0.34.3, Sqlite 3.0.11 > 3.1.1 2015-11-17 15:36:32 -08:00
Ben Gotow 58f2836a25 fix(bootstrap): Set apm environment vars to avoid Atom conflicts 2015-11-16 16:42:35 -08:00
Ben Gotow ca3a6e4629 fix(proxyquire): No longer need forked version 2015-11-16 15:43:47 -08:00
Ben Gotow 72c0198e44 fix(proxyquire): Reference http url instead of https 2015-11-16 15:22:27 -08:00
Ben Gotow 5904be4678 cleanup(*): We do not support devDependencies as a concept 2015-11-16 11:46:36 -08:00
Ben Gotow 0380704c41 ASAR v0.8, because apparently 0.5 can skip files 2015-11-16 10:02:31 -08:00
Ben Gotow 2f419d8b18 bump(version): 0.3.23 2015-11-14 13:11:05 -08:00
Ben Gotow d12af16583 fix(deps): Remove nodobjc until we re-enable native notifications 2015-11-07 18:15:40 -08:00
Ben Gotow 6a79bc58dc fix(deps): Go away git-utils, we never used you anyway 2015-11-07 18:05:24 -08:00
Ben Gotow e64e6e526d fix(babel): Roll back to babel@5, see details
- move babelrc to static so that it can be used during the build process and also whenever the app is transpiling things on the fly.
- move babel back to version 5, which is compatible with `apm install`. (babel 6 seems to require the "dedupe" behavior of NPM3)
- update harmony-collections to use an unpublished commit that fixes the "WeakMap is not generic" issue
2015-11-07 14:27:18 -08:00