Summary:
Fixes bug where contact ranking was not being fetched, and refactors the refreshing
of contact ranks. Moves periodic refreshing of the database-stored ranks to the sync
workers so it occurs in the background, once per account. Refactors JSON cache code
accordingly.
Test Plan: manual
Reviewers: evan, bengotow
Reviewed By: bengotow
Differential Revision: https://phab.nylas.com/D2137
Summary:
`ChaosMonkey.unleashOnAPI()` will by default cause all API requests to 500
`ChaosMonkey.unleashOnAPI(timeoutMonkey: true)` will cause all API requests
to SOCKETTIMEOUT
`ChaosMonkey.unleashOnAPI(numMonkeys: 10)` will cause the next 10 API
requests to 500
`ChaosMonkey.unleashOnAPI(errorCode: 401, numMonkeys: 10)` will cause the
next 10 API requests to 401.
It must be manually invoked from the console on each window you want the
Monkeys wrecking havok.
It is available on the `window` object as well
This was created to manually test our server failure cases.
Test Plan: manual
Reviewers: drew, bengotow
Reviewed By: bengotow
Differential Revision: https://phab.nylas.com/D2133
Summary:
Contact ranking is now tested.
There was a bug whereby the RankingsJSONCache would only update in the
workerwindow. This regressed when Contact ranking moved exclusively into
the main window and separate composer windws requested rankings via ipc
Test Plan: New tests
Reviewers: drew, bengotow
Reviewed By: bengotow
Differential Revision: https://phab.nylas.com/D2134
Summary:
If your screen is narrow or you are syncing a lot of stuff, the expanded
activity sidebar had no scroll affordance
Test Plan: manual
Reviewers: drew, bengotow
Reviewed By: bengotow
Differential Revision: https://phab.nylas.com/D2135
Summary:
Previously, when an error was encountered during initial mailbox sync we just started it
over after a retry delay. Recent API uptime issues mean that this was happening often and lots of
people were seeing sync retry many times. This is bad because the app is less performant while
it's syncing mail, and also generates unnecessary load as the app re-fetches threads it already has.
In this diff, there are new specs and functionality in nylas-sync-worker to start fetching
where we left off. This is typically going to be OK because the default sort ordering of the
threads endpoint is newest->oldest, so if new items have arrived since we started fetching
and page boundaries have changed, we'll get duplicate data rather than missing data. Connceting
to the streaming API as soon as we start the sync also ensures that we roll up any changes to
data we've already paginated over.
Test Plan: Run tests
Reviewers: drew, evan
Reviewed By: evan
Differential Revision: https://phab.nylas.com/D2132
- Upgrade node-sqlite3 from patched 3.0.2 to mainline 3.1.0
- Upgrade Electron to 0.30.8: NOTE: This is the latest in the 0.30 line.
The 0.31+ line did a Chrome upgrade that we want to save for a later
day. We've had a history of serious instabilities with these upgrades
and are doing them conservatively
- Upgrade coffee-script from 1.9.0 to 1.10.0
- Package updates in /build folder
Summary: Move all Intercom feedback code to a package. Change the appearance of the lower right question mark icon when a new intercom message is received (red, with repeating CSS bounce animation). New messages are detected by keeping the intercom window open (after the first time it's opened by the user), and listening for DOM mutations of particular classes.
Test Plan: manual
Reviewers: bengotow
Reviewed By: bengotow
Subscribers: evan
Differential Revision: https://phab.nylas.com/D2125
node-gyp header layout change in node v4, causes package builds to fail.
This change forces node-gyp to download the correct version of node so
native extensions can be built.