Commit graph

129 commits

Author SHA1 Message Date
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
Ben Gotow
3e5619a980 bump(version): 0.3.22 2015-11-07 12:02:50 -08:00
Juan Tejada
2e3ab31952 Update grunt tasks to lint and transpile es6 code using babel
Summary: - Linter uses predefined rules for ES6 and React from airbnb

Test Plan: - Manuel

Reviewers: evan, bengotow

Reviewed By: bengotow

Differential Revision: https://phab.nylas.com/D2242
2015-11-06 17:40:42 -08:00
Evan Morikawa
d54b1929e9 fix(keymap): use atom-keymap 5.1.11 2015-11-06 15:16:57 -08:00
Evan Morikawa
455b418d6f feat(keymap): add new <KeymapHandlers />
Summary:
Refactor keymaps to wrap components with a <KeymapHandlers /> component.
This more Reactful way of declaring keyback handlers prevents us from
needing to subscribe to `atom.commands`

Test Plan: new tests

Reviewers: bengotow, juan

Reviewed By: bengotow

Differential Revision: https://phab.nylas.com/D2226
2015-11-06 11:47:06 -08:00
Juan Tejada
d838610290 feat(system-tray): add system-tray package
Summary:
- Updates support for ES6 code inside packages
- Displays system tray icon with unread count on darwin, or with bubble on other platforms
- Uses canvas api to dynamically generate icon image given unread count:
  - Adds CavasUtils.canvasFromImgAndText to do this
- Adds config option to display system tray icon on darwin

Test Plan: Need to write the tests for this.

Reviewers: evan, bengotow

Reviewed By: bengotow

Differential Revision: https://phab.nylas.com/D2231
2015-11-06 11:12:38 -08:00
Ben Gotow
e85f11cd2c bump(version): 0.3.21 2015-11-02 16:40:25 -08:00
Ben Gotow
afe77b27fb feat(notifs): Native notifications for Mac OS X, Win coming
Summary: Replaces `new Notification`-based HTML5 notifications with system native notifications on Mac OS X. This allows us to implement the "Reply" button in the notifications. This will also serve as the hook for native Windows notifications, which are unsupported in Chromium.

Test Plan: Run tests

Reviewers: evan

Reviewed By: evan

Differential Revision: https://phab.nylas.com/D2199
2015-10-29 11:23:51 -07:00
Evan Morikawa
4cb05cb14c fix(analytics): remove analytics 2015-10-28 20:06:01 -04:00
Ben Gotow
ec0577ad2b bump(version): 0.3.20 2015-10-27 18:09:49 -07:00
Ben Gotow
e858eb6ebd rm(aws-sdk): Ship logs via request, eliminate aws-sdk 2015-10-27 16:35:38 -07:00
Ben Gotow
c19e40752a bump(version): 0.3.19 2015-10-23 16:05:48 -07:00
Ben Gotow
299a578549 bump(version): 0.3.18 2015-10-22 14:24:13 -07:00
Evan Morikawa
ef8e7aaf51 fix(databse): fix memory leak on DatabaseStore.atomically
Summary:
The Promise chain we were creating was never cleared and created a memory
leak. We instead use a `PromiseQueue` to cleanup finished promises.

Also added several more tests and verified that the memory leak is gone
with the Chrome profiler

Test Plan: new tests

Reviewers: bengotow

Reviewed By: bengotow

Differential Revision: https://phab.nylas.com/D2184
2015-10-22 14:19:39 -07:00
Ben Gotow
86bae4f239 bump(version): 0.3.17 2015-10-20 15:06:36 -07:00