Commit graph

504 commits

Author SHA1 Message Date
Ben Gotow
43d80dea46 Bump to 1.5.7, Electron 4.0.5, update Changelog 2019-02-24 10:41:07 -08:00
Ben Gotow
e85d8bd8f3 Upgrade packages with the help of npm audit fix 2019-02-04 21:54:38 -08:00
Ben Gotow
d7fb2a20da Bump to Electron 4.0.4 for security fix 2019-02-04 20:56:35 -08:00
Ben Gotow
7718ed3539 Bump to Electron 4.0.2 2019-01-22 19:15:33 -08:00
Ben Gotow
c030b009c4 Bump to 1.5.6, Electron 4.0.1 2019-01-07 22:13:43 -08:00
Ben Gotow
a9c61d135e Add a “View License” menu item similar to Atom’s 2019-01-03 01:11:20 -08:00
Ben Gotow
f242ec69f9 Fix signup Terms and Policy links not opening in the browser #1280 2018-12-28 16:51:24 -07:00
Ben Gotow
b167b9cdcd Update to electron-packager 13.0.x 2018-12-20 12:12:40 -07:00
Ben Gotow
622339dc12 Upgrade to Electron 4.0.0-beta.11, fix printing issues 2018-12-19 17:56:07 -07:00
Ben Gotow
6a24e46d9b Bump Electron to 2.0.14 2018-11-22 14:12:50 -08:00
Ben Gotow
a9da75094f Bump to Electron 2.0.11 to resolve #1108 2018-10-07 23:40:19 -07:00
Ben Gotow
cb311d32be Bump to Electron 2.0.2 🎉 2018-06-25 00:43:41 -05:00
Ben Gotow
e427096848 Bump to Electron 1.8.7 2018-05-22 17:26:53 -07:00
Ben Gotow
cc719cfbe9 Bump to Electron 1.8.6 2018-04-30 07:52:46 -07:00
Ben Gotow
14d2f5b9b7 Bump Electron to 1.8.4 2018-03-26 14:44:54 -07:00
Ben Gotow
9963f7b923 Bump Electron to 1.8.3 2018-03-06 17:05:43 -08:00
Ben Gotow
65ddf18416 Bump to 1.1.4, update changelog 2018-02-13 20:41:01 -08:00
Ben Gotow
1b7646fed3 Bump to Electron 1.8.2-beta5 2018-02-04 19:58:42 -08:00
Ben Gotow
23081d2e10 Bump to a newer version of runas with 1.8.x support 2018-01-28 22:45:23 -08:00
Ben Gotow
346fde7cce Remove donna since there is no coffeescript, update locks 2018-01-28 21:44:27 -08:00
Ben Gotow
22357dff60 Upgrade prettier to 1.10, fix linter issues 2018-01-24 14:13:08 -08:00
Ben Gotow
3e29f997c5 ⚠️ Drop support for CoffeeScript / CJSX in plugins, themes, and core 2018-01-23 23:59:37 -08:00
Ben Gotow
9dcabe0db1 Bump to Electron 1.8.2-beta4 2018-01-22 22:17:45 -08:00
Ben Gotow
c40c9b62eb Bump to Electron 1.7.10 2017-12-21 16:01:58 -07:00
Ben Gotow
4e8a2abfc3 Make postinstall script to untar mailsync 2017-10-23 10:51:32 -07:00
Ben Gotow
346d85801b Bump Electron for critical security fix
https://electron.atom.io/blog/2017/09/27/chromium-rce-vulnerability-fix
2017-09-27 23:12:09 -07:00
Ben Gotow
0e1e753ca3 Expand engine support in package.json to fix mac build 2017-09-27 12:07:47 -07:00
Ben Gotow
0f54aa11b5 Adopt prettier , upgrade ESLint 2017-09-26 11:33:08 -07:00
Ben Gotow
b698458766 Switch product name to “Mailspring” 2017-09-05 13:40:25 -07:00
Ben Gotow
cc486ce72a Stop shipping an entire extra copy of Electron inside the app… 🙃 2017-09-01 23:22:35 -07:00
Ben Gotow
c4488cbc7b Travis: Setup mac keychain before building C++ 2017-08-31 12:27:07 -07:00
Ben Gotow
36113e258c Bump electron-packager, enable logging of electron-osx-sign* 2017-08-14 13:00:59 -07:00
Ben Gotow
c549fcc8ba Fix documentation generation, clean up ./app package dependencies 2017-08-11 11:38:25 -07:00
Ben Gotow
95f0efc0f7 Remove custom “upload task”, update Appveyor config 2017-08-10 23:56:36 -07:00
Ben Gotow
29c89acb60 Enable app/node_modules caching, make postinstall check its Electron version 2017-08-10 22:47:06 -07:00
Ben Gotow
7f3731bc10 Clean up project directory structure, removing legacy packages folder 2017-08-10 19:24:10 -07:00
Ben Gotow
c71d8fad72 Remove benchmark mode, npm scripts related to cloud codebase 2017-08-02 13:33:52 -07:00
Ben Gotow
555b4136b8 Remove lerna, revert postinstall script to Nov 2016 version 2017-08-02 13:13:30 -07:00
Ben Gotow
3e63d71cb6 Bump electron babel preset to stop transforming async/await to generators 2017-07-24 11:58:05 -04:00
Ben Gotow
ab9a2573c6 Eliminate unnecessary use of underscorejs 2017-07-23 20:38:15 -04:00
Ben Gotow
37a6e14511 Remove node request - it reimplements cookies and a zillion other things for node 2017-07-10 11:37:26 -07:00
Ben Gotow
3c56e2fbfd Remove isomorphic-core and related packages 2017-06-24 20:34:01 -07:00
Juan Tejada
be5c3d27e5 Merge private repo 2017-04-17 17:17:05 -07:00
Mark Hahnenberg
be4b0d773c [client-app] Add benchmark mode
Summary:
There are some settings that apply to dev and prod modes that we don't want
to use while benchmarking. E.g. the folder where we store messages,
whether we generate long stack traces in our bluebird promises, etc.
This diff adds a benchmark mode so that we can change these settings to
something that works better for benchmarking.

Test Plan: Run locally, verify it works

Reviewers: evan, juan, spang

Reviewed By: juan, spang

Differential Revision: https://phab.nylas.com/D4374
2017-04-07 15:33:57 -07:00
Evan Morikawa
1f2370c2a9 [client-app] run windows build separately
Summary:
build-client, aka packaging, aka bundling is now separate from uploading.
This is both to compartmentalize our tasks a bit more and so we can add a
non-grunt windows task inbetween packaging and uploading.

No more heavily-overloaded PUBLISH_BUILD flag.
Added SIGN_BUILD flag instead.
No more TRAVIS and TRAVIS_PULL_REQUEST flag.

Test Plan: Manual

Reviewers: halla, juan, spang

Reviewed By: juan, spang

Differential Revision: https://phab.nylas.com/D4208
2017-03-13 15:48:45 -07:00
Juan Tejada
9e91d9518a [none] (dev) Fix script name 2017-03-07 12:33:29 -08:00
Evan Morikawa
a4de75d3ec [dev] change npm script names
Summary:
`npm run cloud` felt nicer than:
`npm run start-cloud`

Test Plan: manual

Reviewers: juan, spang, mark, khamidou, halla

Reviewed By: halla

Differential Revision: https://phab.nylas.com/D4124
2017-03-07 14:54:30 -05:00
Juan Tejada
55ec77a209 wip 2017-03-07 00:24:07 -08:00
Evan Morikawa
3c1c70e262 [client-app] use forked lerna for better npm logging 2017-03-06 15:35:56 -05:00
Evan Morikawa
4e1f03c072 [isomorphic-core] move devDependencies from iso-core to repo root 2017-03-03 14:17:39 -08:00
Halla Moore
2db42db5df [*] Add cloud specs to node scripts
Summary:
Implements `test-cloud` to cd into each cloud package and run `npm test`.
It's easier this way because of the relative paths in the Jasmine configs,
and this also ensures that the tests can always be run within their
individual packages too.

Also calls `test-cloud` from `test` so people don't forget about it. If
someone wants to test just the client, they can explicitly do so with
the `test-client` script.

Depends on D4058, D4059, D4061, and D4062

Test Plan: Ran the tests

Reviewers: evan, mark, juan

Reviewed By: juan

Differential Revision: https://phab.nylas.com/D4031
2017-03-01 11:12:10 -08:00
Evan Morikawa
7b7318b220 [client-app] update Travis
Summary:
Also see:
3a33b0ad64
which was hot-pushed to master in order to get Travis building.

We now have two travis files:

1. /.travis.yml
2. /packages/client-app/travis.yml

The first one is alwas in the private repo and runs `npm install && npm
run build-client`. This decrypts our keys and signs, builds, and uploads
to S3.

The second one is designed to live in our yet-to-be public mirror. It will
basically just run `npm install && npm test`.

That way the public one should just about ALWAYS pass (YAY!) except of
course when you break the tests or something in the installer!

Test Plan: Run on new https://travis-ci.com/nylas/nylas-mail-all

Reviewers: jerm, spang, juan

Reviewed By: spang, juan

Differential Revision: https://phab.nylas.com/D3999
2017-02-22 16:19:45 -05:00
Halla Moore
1105b2621f [*] Rename postinstall.js -> postinstall.es6
The n1Cloud machines try to compile this script, even though they
never run it, and they didn't recognize it was supposed to be es6
2017-02-21 15:55:08 -08:00
Evan Morikawa
a7686bb35b [client-app] build tasks now use absolute paths
Summary:
Grunt is hardcoded to use paths relative to wherever the Gruntfile is
located. Unfortunately it also expects the grunt packages to be siblings
of that gruntfile. We can get around this by changing the relative base
path, but then the cwd is different for each tasks. This is okay as long
as we use absolute paths for various files in each of our tasks. This
updates our grunt tasks to use absolute paths

Test Plan: `npm run build-client`

Reviewers: spang, halla, jerm, juan

Reviewed By: juan

Differential Revision: https://phab.nylas.com/D3987
2017-02-21 14:35:51 -05:00
Evan Morikawa
17b7653109 [dev, cloud-*] make Docker run plain npm install and conslidate deps
Summary:
It doesn't really make sense to have the root package.json have any
dependencies since it's never "packaged" or built itself. Everything
really should be a dev dependency. This was only separated before because
the Dockerfile unnecessarily added the --production flag.

This will make the docker build take a smidge longer, but I think it's
worth the extra minute to keep the dependencies orderly and sematically
correct

Test Plan: re-run docker build

Reviewers: jerm, spang, juan

Reviewed By: juan

Differential Revision: https://phab.nylas.com/D3978
2017-02-21 14:33:00 -05:00
Evan Morikawa
27c08d86e7 [*] update and add READMEs to each package
Summary:
Adding READMEs for easy and helpful browsing on GitHub.
Also add missing script and `--interpreter` flag

Test Plan: Run new launch commands

Reviewers: mark, spang, juan, halla

Reviewed By: spang, juan, halla

Differential Revision: https://phab.nylas.com/D3971
2017-02-17 17:28:09 -08:00
Evan Morikawa
b686b969cd [cloud-*] Get cloud-api and cloud-workers running on new repo
[dev] remove .tern-project

[cloud-*] move into cloud-core/build

[cloud-core] convert to launch properly via Docker
2017-02-17 11:47:45 -08:00
Evan Morikawa
918fa0b6dd [*] move to monorepo
[*] update babel

[client-app] remove flow-typed

[client-app] Move build/package.json to main package.json

[client-app] remove spec_integration

[client-app] fix babel support

Add client-private-plugins package.json

[client-app] add node_modules to global path for private-plugins

Move client-sync dependencies to client-app root

fix electron rebuild

[*] moved to monorepo

Summary: App now runs in monorepo

Test Plan: npm test

Reviewers: juan, mark, khamidou, halla, spang

Differential Revision: https://phab.nylas.com/D3947
2017-02-16 18:46:26 -08:00
Juan Tejada
000fa88ebb bump(version): 1.0.28 2017-02-16 00:18:52 -08:00
Juan Tejada
a011d12b74 feat(offline) Re add offline status notification
Summary:
This commit rewrites the offline status notification from scratch, using
the `is-online` module (https://github.com/sindresorhus/is-online). The
react component no longer manages all of the state internally, but
rather depends on a separate OnlineStatusStore that manages the online state
for that component.

The new online status system will:

- Check online status every 30 seconds
- If status switches to offline:
  - Show notification
  - Recheck online status using exponential backoff
  - Notification will show remaining seconds until next online status
  check (like slack) (upon initial inspection this seemed to have no cpu problems.)
- If status switches to online
  - Hide notification
  - Revert to checking online status every 30 seconds

Depends on D3919

Test Plan: manual

Reviewers: spang, mark, evan

Reviewed By: evan

Differential Revision: https://phab.nylas.com/D3920
2017-02-15 12:30:28 -08:00
Christine Spang
c8d1daddf4 Bump pm2 version to 2.4.0
See https://github.com/Unitech/pm2/blob/master/CHANGELOG.md
for new features and fixes
2017-02-15 07:54:55 -08:00
Evan Morikawa
11944a7183 bump(version): 1.0.27 2017-02-14 16:36:30 -08:00
Christine Spang
e71fb04bd8 feat(specs): Add support for generating JUnit XML by passing --junit-xml=<path>
Summary:
A prerequesite to integrating with `arc unit` or CI for each patchset is
being able to generate JUnit XML output for spec runs. This commit adds
this feature using the JUnitXMLReporter from jasmine-reporters. Invoke it like
this:

    npm run test-junit

(We output to the terminal as well when this is run, so in the case that
you're doing `arc diff` you have some idea of what is going on.)

Test Plan: run it

Reviewers: halla, juan, evan

Reviewed By: juan, evan

Differential Revision: https://phab.nylas.com/D3891
2017-02-13 12:05:52 -08:00
Evan Morikawa
e92b668a1e bump(version): 1.0.26 2017-02-10 18:41:20 -05:00
Juan Tejada
ad88dc3fe8 bump(react) 15.4.2 2017-02-10 12:17:34 -08:00
Juan Tejada
31dc6d67cf bump(version) 1.0.25 2017-02-09 23:54:20 -08:00
Juan Tejada
c3d2d0563f fix(specs) lock enzyme version 2017-02-09 15:45:22 -08:00
Juan Tejada
36f18c273d bump(version) 1.0.24 2017-02-09 10:30:17 -08:00
Juan Tejada
767edd7b6e bump(version) 1.0.23 2017-02-08 18:43:53 -08:00
Juan Tejada
cce2b8231b bump(version) 1.0.22 2017-02-07 09:01:06 -08:00
Karim Hamidou
e55c36a79a [cloud-api] Add support for database migrations
Summary:
This diff adds support for database migration to our cloud API. It's partially inspired by Halla's local-sync migration diff (D3809). You can run a migration by calling "node-babel scripts/migrate-db up|down" or by calling "npm script upgrade-db|downgrade-db".

Note that for simplicity reasons we assume that we're only writing migrations for our MySQL database – people developing locally may have to blow up there dbs whenever there's a schema change, though in practice `ALTER TABLE ADD COLUMN`statements work the same on both dbs.

Test Plan: Tested locally. Will run the metadata migration on staging.

Reviewers: evan, spang, halla

Reviewed By: halla

Differential Revision: https://phab.nylas.com/D3840
2017-02-06 13:38:59 -08:00
Juan Tejada
018d1e895c bump(version) 1.0.21 2017-02-02 17:33:45 -08:00
Evan Morikawa
d2580b691b bump(package): upgrade Raven
fix(log): use new raven
2017-02-02 17:22:04 -08:00
Evan Morikawa
e4ce1f8e1e bump(version): 1.0.20 2017-02-01 06:58:37 -08:00
Evan Morikawa
2a543ac8de bump(version): 1.0.19 2017-01-31 18:01:30 -08:00
Evan Morikawa
9bc87c1ba1 bump(electron): bump electron to 1.4.15 2017-01-30 15:55:13 -08:00
Evan Morikawa
96152f9449 bump(version): 1.0.18 2017-01-30 15:23:57 -08:00
Michael Grinich
8bd013e9e9 Update docs config
- Don't ignore built class docs
- pin requirement versions for docs
- update docs build instructions
- update repo URL
2017-01-30 13:05:36 -08:00
Evan Morikawa
bf0aa51148 fix(rename): update nylas/N1 to nylas/nylas-mail Github references 2017-01-30 11:50:39 -08:00
Michael Grinich
05da3a6c0d Update documentation with GitBook 2017-01-30 02:38:37 -08:00
Juan Tejada
d1ea16d7ee [cloud-*] Move babel devDependencies to dependencies in pkg.json
Our Dockerfile only install production dependencies `--production`, so
lerna and babel dependencies need to be listed under `dependencies`
2017-01-28 02:23:03 -08:00
Juan Tejada
f56a807792 [cloud-*] Fix n1-cloud build
We added new presets and plugins to the k2 .babelrc but didn't add the
respective dependencies in our package.json, so the build was failing.

Add the required dependencies, and make sure that `build-n1-cloud.js`
uses the correct babel presets and plugins
2017-01-28 02:00:16 -08:00
Evan Morikawa
556f4a6c6f Use babel-cli in devDependencies instead 2017-01-27 16:34:16 -05:00
Evan Morikawa
44e7e58b4f Add babel-node as a dev dependency 2017-01-27 16:26:35 -05:00
Juan Tejada
f6b4cfdacb bump(version) 1.0.17 2017-01-27 12:51:49 -08:00
Evan Morikawa
dfc09254e6 bump(version): 1.0.16 2017-01-27 10:11:27 -05:00
Juan Tejada
5a67198226 bump(version) 1.0.15 2017-01-25 16:47:04 -08:00
Evan Morikawa
14514a3413 fix(specs): change spec scheduler back to setTimeout
Summary:
Adds a new `npm run test-window` that will launch specs in a window so you
can use the debugger

The spec window wouldn't close because `onbeforeunload` was unnecessarily
preventing close. This circumvents this in spec mode.

Most significantly I discovered we can't use the synchronous timer for the
promise scheduler anymore. Suppose you do:

```
it('should error', async () => {
  try {
    await doSomething()
    throw new Error("doSomething should have thrown!")
  } catch (err) {
    expect(err.message).toMatch(/my message/)
  }
})
```

The way async/await is transpiled, when `doSomething` throws, the error
will propagate all the way back up to the uncaughtPromiseException handler
before the `catch` gets called and registered. The transpilation method
assumes that when the function gets executed it can synchrously advance
beyond the call before the `then` or `catch` resolve. When the promise
scheduler is synchronous this doesn't happen.

I chose to use `setTimeout` instead of `process.nextTick` or
`setImmediate` as the promise scheduler. `setTimeout` seems to work better
with Chrome's async function call stacks. `nextTick` and `setImmediate`,
being Node methods, skip Chrome's async watchers.

Test Plan:
I talked with Juan about these changes, in an upcoming diff he will be
testing these in the context of our broader test suite.

Reviewers: mark, khamidou, halla, spang, juan

Reviewed By: juan

Differential Revision: https://phab.nylas.com/D3779
2017-01-25 17:43:11 -05:00
Juan Tejada
be99845d41 bump(version) 1.0.14 2017-01-25 12:28:47 -08:00
Evan Morikawa
77bc501eb7 bump(spellcheck) upgrade to 1.0.0
Summary: This bumps the spellcheck and restores the specs

Test Plan:
Manually open a composer, type some text and ensure it underlines them as
misspelled. Also restore test coverage

Reviewers: mark, halla, juan

Reviewed By: juan

Differential Revision: https://phab.nylas.com/D3776
2017-01-25 15:26:38 -05:00
Evan Morikawa
313bd18913 bump(version): 1.0.13 2017-01-25 10:20:52 -05:00
Juan Tejada
5ed1f4da9e 🎨 Fix to using imap-provider-settings package
Summary: see title

Test Plan: manual

Reviewers: spang, evan

Reviewed By: evan

Differential Revision: https://phab.nylas.com/D3772
2017-01-24 16:25:03 -08:00
Evan Morikawa
2e7e8c2d01 fix(build): add output log interval to prevent travis from dying 2017-01-24 14:27:32 -05:00
Evan Morikawa
677b56f714 feat(build) add npm run local-ci 2017-01-24 14:09:17 -05:00
Evan Morikawa
d96672ab57 bump(version): 1.0.12 2017-01-24 12:23:25 -05:00
Evan Morikawa
5fe0650058 bump(version): 1.0.11 2017-01-20 13:55:57 -08:00
Halla Moore
0bd7ecd740 bump(version) 2017-01-19 11:39:50 -08:00
Evan Morikawa
fc3e891fe9 bump(version): 1.0.9 2017-01-17 16:33:16 -08:00
Evan Morikawa
0b700c424c bump(version): 1.0.8 2017-01-16 20:21:39 -08:00
Evan Morikawa
964cb3bd86 bump(version): 1.0.7 2017-01-16 18:36:16 -08:00