Commit graph

74 commits

Author SHA1 Message Date
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
063c6b814e bump(electron): 1.2.1 and React Devtools in dev mode 🎉 2016-06-03 10:51:39 -07:00
Ben Gotow
9507deb322 bump(version): 0.4.41, Electron 1.1.1 2016-05-23 10:34:44 -07:00
Evan Morikawa
056df36a8f fix(bootstrap): properly dedupe all node modules 2016-05-17 09:35:48 -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
d1211ab7de bump(electron): 0.36.7 => 0.37.5 2016-04-12 18:42:57 -07:00
Juan Tejada
9848f8f086 Revert "fix(build): Actually make verbose"
This reverts commit a3156a1799.
2016-04-11 16:12:05 -07:00
Juan Tejada
a3156a1799 fix(build): Actually make verbose 2016-04-11 15:40:40 -07:00
Juan Tejada
fc489e5db3 feat(thread-search): Add client side search
Summary:
This diff includes several updates:
- Update sqlite version to use FTS5
- Adds new methods to DatabaseStore to create and update Search Indexes
- Currently indexing subject, participants, and thread message bodies or snippets if the body is not available
- Update initial sync to fetch 5000 message bodies per account
- Adds a new SearchMatcher
- Add new thread-search-index package to run in the worker window to
  init and keep thread search index up to date
- Converts Thread to ES6

TODO:
- Remove/Update suggestions dropdown
- Add tests

Test Plan: - TODO

Reviewers: evan, bengotow

Reviewed By: evan, bengotow

Differential Revision: https://phab.nylas.com/D2826
2016-04-04 17:15:19 -07:00
Ben Gotow
91b2d5b8e3 fix(sqlite3): Specify the platform in the binding target directory 2016-03-31 15:16:22 -07:00
Ben Gotow
e7b07a556f build(32-bit): Move a few docker files out of root of repo 2016-03-03 17:03:14 -08:00
mbilker
f7b511ece4 fix(mkrpm): remove spaces before/after = 2016-02-15 20:26:00 -05:00
mbilker
2e16eecc20 fix(mkrpm): add in missing then command 2016-02-15 20:06:20 -05:00
mbilker
5ff3b62f3c fix(build): typo with PUBLISH_BUILD environment variable 2016-02-15 19:43:08 -05:00
mbilker
50ae5e4293 fix(build): use special docker build file to run appropriate build tasks 2016-02-15 19:41:13 -05:00
mbilker
b953711b67 fix(build): add ubuntu 32-bit docker build 2016-02-15 19:41:08 -05:00
Ben Gotow
fbb7a4b40c bump(*): Electron 0.36.7, version to 0.4.6 2016-02-08 18:35:23 -08:00
Ben Gotow
8cd3176574 build(linux): Ensure that target files are not group writable
Should fix #710. Will move all 0775 => 0755 and 0664 => 0644
2016-01-13 16:09:53 -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
460a715e4d fix(examples): examples => packages, move away from installing them 2016-01-07 14:56:34 -08:00
Ben Gotow
863bda2f86 bump(electron): 0.35.4 => 0.36.2 2016-01-06 13:20:27 -08:00
Ben Gotow
78fe32350c Merge pull request #903 from mbilker/fix-debian-icons
Copy app icons to `hicolor` on Debian
2016-01-05 16:45:53 -08:00
mbilker
24af963bc8 fix(mkdeb): specify hard path to icon files 2016-01-05 17:44:14 -05:00
mbilker
f4b136df30 fix(mkdeb): copy app icons to hicolor on Debian 2016-01-05 15:24:49 -05:00
Ben Gotow
d21fcf7069 Merge pull request #866 from mbilker/remove-module-list
Remove log of integration test package installation by default
2016-01-04 12:14:46 -08:00
Evan Morikawa
9530a84877 feat(build): new rpm builds
Summary: Now builds RPM on Travis

Test Plan: manual

Reviewers: juan, bengotow

Reviewed By: bengotow

Differential Revision: https://phab.nylas.com/D2391
2016-01-04 09:56:14 -08:00
mbilker
6e6daf7f0e fix(bootstrap): remove log of integration test package installation by default 2015-12-29 22:11:04 -05:00
Ben Gotow
ea76b7c442 feat(transactions): Explicit (and faster) database transactions
Summary:
Until now, we've been hiding transactions beneath the surface. When you call persistModel, you're implicitly creating a transaction.
You could explicitly create them with `atomically`..., but there were several critical problems that are fixed in this diff:

- Calling persistModel / unpersistModel within a transaction could cause the DatabaseStore to trigger. This could result in other parts of the app making queries /during/
  the transaction, potentially before the COMMIT occurred and saved the changes. The new, explicit inTransaction syntax holds all changes until after COMMIT and then triggers.

- Calling atomically and then calling persistModel inside that resulted in us having to check whether a transaction was present and was gross.

- Many parts of the code ran extensive logic inside a promise chained within `atomically`:

  BAD:

```
  DatabaseStore.atomically =>
   DatabaseStore.persistModel(draft) =>
     GoMakeANetworkRequestThatReturnsAPromise
```

OVERWHELMINGLY BETTER:

```
  DatabaseStore.inTransaction (t) =>
     t.persistModel(draft)
  .then =>
    GoMakeANetworkRequestThatReturnsAPromise
```

Having explicit transactions also puts us on equal footing with Sequelize and other ORMs. Note that you /have/ to call DatabaseStore.inTransaction (t) =>. There is no other way to access the methods that let you alter the database. :-)

Other changes:
- This diff removes Message.labels and the Message-Labels table. We weren't using Message-level labels anywhere, and the table could grow very large.
- This diff changes the page size during initial sync from 250 => 200 in an effort to make transactions a bit faster.

Test Plan: Run tests!

Reviewers: juan, evan

Reviewed By: juan, evan

Differential Revision: https://phab.nylas.com/D2353
2015-12-17 11:46:05 -08:00
Evan Morikawa
267a339250 fix(bootstrap): split commands 2015-12-14 15:22:47 -08:00
Evan Morikawa
186c6923f0 fix(ci): run grunt script in win compatible way 2015-12-11 17:46:18 -05:00
Evan Morikawa
fe5d218ce4 fix(build): add nylas resources before apm install 2015-12-11 17:08:39 -05:00
Evan Morikawa
d95cb45147 feat(ci): add Travis and AppVeyor ci support 2015-12-07 12:48:26 -05:00
Evan Morikawa
ced66902d5 test(contenteditable): add in contenteditable list specs 2015-12-02 13:41:47 -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
Evan Morikawa
971089aeb0 fix(build): bail if script/bootstrap fails and enhance test output
Have the test output
2015-11-23 14:34:18 -05:00
Juan Tejada
b814c54c88 refactor(script/docs): Add comments 2015-11-17 18:09:46 -08:00
Juan Tejada
02a5e8f5c8 Add docs script to automatically move output of grunt docs to gh-pages 2015-11-17 18:03:24 -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
8ed77c951a fix(win32): Allow npm dedupe to error, succeeds anyway 2015-11-06 15:47:28 -08:00
Ben Gotow
bfd3139f19 fix(win10): Ignore stdout from apmDedupe 2015-11-06 14:35:30 -08:00
Ben Gotow
417a9a0f10 fix(paths): Flatten npm inside of apm to cut 20 chars from max path length 2015-11-03 12:00:43 -08:00
Ben Gotow
a2e0a57cbf fix(bootstrap): Always use npm3 in ./build to install apm 2015-10-27 17:04:14 -07:00
Ben Gotow
d0ff96c8a3 ⇧(npm): Move to NPM3 to shorten paths on Win32 2015-10-27 16:23:12 -07:00
Evan Morikawa
e1529efbf5 feat(windows): updated docs and fix for building on 64-bit 2015-10-23 12:55:44 -07:00
Ben Gotow
68323f05f7 ci(mac): Rename the app Nylas N1 on the Mac 2015-10-20 18:36:39 -07:00
Ben Gotow
ff34e7c5e8 fix(bootstrap): Don't fail when path contains spaces 2015-10-14 10:46:27 -07:00
solnj
3c243b9345 fix(script): allow x64 build on Windows
Electron is available for 64-bit Windows machines(https://github.com/atom/electron/issues/980), so we don't need the 32-bit check anymore. Reference: https://github.com/nylas/N1/issues/28
2015-10-12 11:02:07 -04:00
Ben Gotow
d1be3ac0f2 rollback(*): Move back SQLite upgrade after crashing in popout drafts 2015-10-09 13:25:39 -07:00
Matt Bilker
543e3ba6ee refactor(code): change atom to nylas in clean script 2015-10-07 21:34:07 -04:00