Commit graph

82 commits

Author SHA1 Message Date
Ben Gotow
8587133002 Fix Appveyor 2021-04-13 12:02:06 -05:00
Ben Gotow
02cb922dea When running from the Linux snap, use no-sandbox 2021-04-13 11:44:19 -05:00
Ben Gotow
4982064fba Fix AppVeyor build 2021-04-13 10:39:34 -05:00
Ben Gotow
31fae07129 Switch from root devDeps (conceptually correct) to deps so npm ci installs everything 2021-04-08 01:52:52 -05:00
Ben Gotow
149b389508
Replace Babel with TypeScript compiler, switch entire app to TypeScript 🎉 (#1404)
* Switch to using Typescript instead of Babel

* Switch all es6 / jsx file extensions to ts / tsx

* Convert Utils to a TS module from module.exports style module

* Move everything from module.exports to typescript exports

* Define .d.ts files for mailspring-exports and component kit… Yes it seems this is the best option :(

* Load up on those @types

* Synthesize TS types from PropTypes for standard components

* Add types to Model classes and move constructor constants to instance vars

* 9800 => 7700 TS errors

* 7700 => 5600 TS errors

* 5600 => 5330 TS errors

* 5330 => 4866 TS errors

* 4866 => 4426 TS errors

* 4426 => 2411 TS errors

* 2411 > 1598 TS errors

* 1598 > 769 TS errors

* 769 > 129 TS errors

* 129 > 22 TS errors

* Fix runtime errors

* More runtime error fixes

* Remove support for custom .es6 file extension

* Remove a few odd remaining references to Nylas

* Don’t ship Typescript support in the compiled app for now

* Fix issues in compiled app - module resolution in TS is case sensitive?

* README updates

* Fix a few more TS errors

* Make “No Signature” option clickable + selectable

* Remove flicker when saving file and reloading keymaps

* Fix mail rule item height in preferences

* Fix missing spacing in thread sharing popover

* Fix scrollbar ticks being nested incorrectly

* Add Japanese as a manually reviewed language

* Prevent the thread list from “sticking”

* Re-use Sheet when switching root tabs, prevent sidebar from resetting

* Ensure specs run

* Update package configuration to avoid shpping types

* Turn eslint back on - we will opt-in to the TS rules one by one
2019-03-04 11:03:12 -08:00
Ben Gotow
4cb1851b47 Fix regression on some linux distros - need to set curl CURLOPT_CAINFO 2019-02-11 08:51:17 -08:00
Ben Gotow
69cbfd3fc2 Fix handling of newlines in localized string extraction script 2018-10-09 17:17:46 -07:00
Ben Gotow
b38afe5e3f Make the find-strings script prune localizations and give an overview of completeness 2018-10-07 01:24:55 -07:00
Ben Gotow
05bd2cdc8c Make all strings in the app run through intl lookup 2018-10-06 23:27:27 -07: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
c7e63bfe52 Lock Slate versions to prevent missing dep issue in prod, add warning 2018-01-21 10:36:21 -08:00
Ben Gotow
71eee04b42 Make postinstall script download last released version of mailsync #274 2017-10-30 12:51:08 -07:00
Ben Gotow
4e8a2abfc3 Make postinstall script to untar mailsync 2017-10-23 10:51:32 -07:00
Ben Gotow
ce090d82ae Package linux .so and .bin, ship a compressed tar.gz file, not just tar 2017-10-03 17:12:09 -07:00
Ben Gotow
78c975915a On Linux, link against most deps statically, bundle remaining with product 2017-10-03 00:20:02 -05:00
Ben Gotow
efcf5162d0 Enable postinstall downloading of C++ binaries 2017-09-05 14:16:34 -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
717fe440e8 Replace references to Nylas in many places 2017-08-16 13:20:54 -07:00
Ben Gotow
38e5362b50 Place mailsync binary in ./app/dist to fix S3 path 2017-08-12 19:34:24 -07:00
Ben Gotow
c549fcc8ba Fix documentation generation, clean up ./app package dependencies 2017-08-11 11:38:25 -07:00
Ben Gotow
643a589974 Fix .travis.yml formatting, was not installing apt packages 2017-08-10 23:31:37 -07:00
Ben Gotow
b83a7fd426 Revert to Node 6.9+, Linux build failing with npm 4 2017-08-10 23:20:34 -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
653618133b Remove “matrix” nesting in deploy block of .travis.yml 2017-08-10 21:45:05 -07:00
Ben Gotow
89200b5e67 Encrypt and commit Mac build secrets 2017-08-10 21:24:12 -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
aa2e2a7624 Remove APM for now 2017-07-11 12:15:47 -07:00
Ben Gotow
efbea58e1e Overhaul TaskFactory.tasksForApplyingCategories, fix many specs 2017-06-27 11:31:22 -07:00
Ben Gotow
3c56e2fbfd Remove isomorphic-core and related packages 2017-06-24 20:34:01 -07:00
Ben Gotow
973a411145 Remote client-sync 2017-06-22 13:37:29 -07:00
Ben Gotow
a5afcf17ee bump(version): React 15.6, Electron 1.7.3 2017-06-19 19:12:10 -07:00
Juan Tejada
daf7f9ec6f [*] postinstall: Don't try to link cloud specs if pkgs don't exist
Summary: see title

Test Plan: manual

Reviewers: evan, spang, mark, halla

Reviewed By: halla

Differential Revision: https://phab.nylas.com/D4446
2017-04-17 22:00:53 -07:00
Juan Tejada
148fbfd936 [*] Postinstall should install client-sync regardless of private plugins
Summary: see title

Test Plan: manual

Reviewers: spang, evan, mark, halla

Reviewed By: halla

Differential Revision: https://phab.nylas.com/D4445
2017-04-17 22:00:43 -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
Juan Tejada
10d199f389 [dev] Ensure daily script grabs current version after pulling latest changes
Summary: see title

Test Plan: manual

Reviewers: halla, evan

Reviewed By: evan

Differential Revision: https://phab.nylas.com/D4378
2017-04-06 14:34:31 -07:00
Mark Hahnenberg
965946724b [client-app] Some final benchmark fixes
Summary: See title

Test Plan: Run on the coffee machine

Reviewers: juan, evan, spang

Reviewed By: spang

Differential Revision: https://phab.nylas.com/D4368
2017-04-05 15:59:17 -07:00
Christine Spang
2095f0907e [scripts] Batch upload each row
Makes the script like 4x faster.
2017-04-04 15:24:01 -07:00
Mark Hahnenberg
00e1df8491 [client-app] Add script to run benchmarks once per day at specified time
Summary: See title

Test Plan: Run locally

Reviewers: juan, evan, spang

Reviewed By: spang

Differential Revision: https://phab.nylas.com/D4345
2017-04-04 15:07:08 -07:00
Christine Spang
bd933f1bc0 [scripts] Add script to upload benchmark data to Google Sheets
Test Plan: ran locally (need client secret for this)

Reviewers: mark

Reviewed By: mark

Differential Revision: https://phab.nylas.com/D4343
2017-04-04 15:04:03 -07:00
Mark Hahnenberg
4eef086e3e [client-app] Fix benchmark script
Summary:
We weren't changing into the directory of the git repository, so running
the script from anywhere but inside the git repo didn't work. We also
weren't pulling before checking for the latest commit. Now we do both of
these things.

Test Plan: Run locally

Reviewers: spang, juan, evan

Reviewed By: evan

Differential Revision: https://phab.nylas.com/D4339
2017-04-04 13:28:46 -07:00
Mark Hahnenberg
f629818075 [client-app] Remove sudo from benchmark-initial-sync.sh
Summary:
We created the process so we can also kill it with no problems. This
makes it easier to automatically run benchmarks without human
intervention.

Test Plan: Run locally

Reviewers: spang, evan, juan

Reviewed By: juan

Differential Revision: https://phab.nylas.com/D4332
2017-04-04 12:49:00 -07:00
Mark Hahnenberg
7818f42d42 [client-app] Fix sqlite build for older versions of clang
Summary: See title

Test Plan: Run locally on older version of clang

Reviewers: juan, spang, evan

Reviewed By: evan

Differential Revision: https://phab.nylas.com/D4329
2017-04-03 17:12:02 -07:00
Mark Hahnenberg
9270ff6c4c [client-app] Add script that benchmarks new commits
Summary:
We want to setup the initial sync benchmark to run automatically with each
commit on a separate machine. This script does just that and dumps the
results to a directory. We can then have a separate script process them
and upload them to whichever service we want.

Test Plan: Run locally

Reviewers: evan, spang, juan

Reviewed By: juan

Differential Revision: https://phab.nylas.com/D4296
2017-03-30 16:11:49 -07:00
Mark Hahnenberg
fa50657af1 [client-app] Add initial sync benchmarking script
Summary:
We want to be able to benchmark initial sync, so this diff adds two
scripts. The first, drop-stuff.sh, drops all data from the app and sync
databases that isn't related to account credentials. The second,
benchmark-initial-sync.sh, runs a fixed number of iterations (current 5) that
invokes drop-stuff.sh then opens the app, waits a fixed amount of time
(currently 120 seconds), and then kills the app and measures how many messages
it synced which it prints to the console. This is sufficient for us to start
measuring how quickly we can sync messages. This diff also includes the
sqlite3 amalgamation which drop-stuff.sh requires to function correctly
due to depending on the FTS5 extension which doesn't come built-in on
some platforms.

Test Plan: Run benchmark locally

Reviewers: evan, spang, juan

Reviewed By: juan

Differential Revision: https://phab.nylas.com/D4275
2017-03-29 16:11:44 -07:00
Juan Tejada
b8883cd2b7 [dev] Only bootstrap specific pkgs in postinstall for faster installs
Summary:
This commit makes it so postinstall.es6 only bootstraps the packages we
are interested in based on a new env variable, `INSTALL_TARGET`.

`INSTALL_TARGET` can be set to `cloud`, `client` or `all`, or not set at all,
and our postinstall will bootstrap the packages accordingly. This will make
build and deploy times faster.

Test Plan: manual

Reviewers: spang, halla, evan, khamidou

Reviewed By: evan, khamidou

Differential Revision: https://phab.nylas.com/D4271
2017-03-28 13:59:55 -07:00
Evan Morikawa
44e51a0ed5 [client-app] only re-install for optional deps on mac 2017-03-27 17:00:38 -07:00
Evan Morikawa
b7036574d5 [*] add ONLY_CLIENT=false support for cloud & regular install 2017-03-27 14:40:28 -07:00