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.
Summary: Fixes Sentry 3319 and 3303
Test Plan: Run three new tests
Reviewers: dillon, evan
Reviewed By: dillon, evan
Differential Revision: https://phab.nylas.com/D2118
Summary:
Change `addAccountFromJSON` in `AccountStore` to throw an exception when it encounters
invalid data, instead of calling `atom.emitError()`. Just calling `emitError` doesn't
throw an exception, so the code proceeds as if an account has been added. Instead, call
`emitError` from AccountSettingsPage, and display an error message to the user.
Test Plan: manual
Reviewers: bengotow
Reviewed By: bengotow
Subscribers: evan
Differential Revision: https://phab.nylas.com/D2116
Summary:
fixes T4080
set the maximum default viewport size to 1440x900, the screen resolution for a 15 inch macbook pro.
if the monitor is either wider or taller than the default, then cap the dimension and center it.
Test Plan: added tests
Reviewers: evan, bengotow
Reviewed By: evan, bengotow
Maniphest Tasks: T4080
Differential Revision: https://phab.nylas.com/D2115