Commit graph

4423 commits

Author SHA1 Message Date
Evan Morikawa
23bd05a514 fix(db): reset db if we encounter malformed error
Summary:
Very occasionally the db can become malformed for some reason. If this
happens all DB requests will fail and flood sentry with errors. This will
attempt to reset the db if we encounter this error

Depends on D3730

Test Plan: manual

Reviewers: juan

Reviewed By: juan

Differential Revision: https://phab.nylas.com/D3731
2017-01-18 17:31:23 -08:00
Evan Morikawa
dfd4693dce fix(err) re-add Draft Sending Errored event into Nylas Mail 2017-01-18 12:07:58 -08:00
Mark Hahnenberg
9120c598e7 [thread-search] Update Thread search index version
Summary:
We changed the index format (splitting participants into to and from) so
we need to update the index version so that it gets rebuilt.

Test Plan: Run locally, make sure index gets rebuilt

Reviewers: evan, juan

Reviewed By: juan

Differential Revision: https://phab.nylas.com/D3728
2017-01-18 11:31:31 -08:00
Juan Tejada
74bbfcea8b bump k2 2017-01-18 11:00:46 -08:00
Juan Tejada
9898349f23 fix(add-account) Increment delay before expanding sidebar 2017-01-18 11:00:46 -08:00
Mark Hahnenberg
c695735cc2 [thread-search] Split 'participants' index into 'to' and 'from'
Summary:
Previously we indexed all participants together for a single thread.
This lead to confusing search results when people would search for
'from' and get back lots of results that were only 'to'. This diff
splits the participants index into separate to and from indices and
updates the query generator appropriately.

Fixes T7580

Test Plan: Run locally, verify from doesn't return to and vice versa.

Reviewers: evan, juan

Reviewed By: juan

Maniphest Tasks: T7580

Differential Revision: https://phab.nylas.com/D3724
2017-01-18 10:41:20 -08:00
Evan Morikawa
fc3e891fe9 bump(version): 1.0.9 2017-01-17 16:33:16 -08:00
Evan Morikawa
6345af593d bump(changelog) 2017-01-17 16:33:02 -08:00
Juan Tejada
051011b4c3 fix(offline-notif) Make it less aggressive
Summary: Add a timeout before displaying the offline notif

Test Plan: manual

Reviewers: halla, evan

Reviewed By: evan

Differential Revision: https://phab.nylas.com/D3727
2017-01-17 16:32:01 -08:00
Juan Tejada
8be7ce762e add comment 2017-01-17 16:31:07 -08:00
Evan Morikawa
900c3ed6aa bump(changelog) 2017-01-17 16:18:27 -08:00
Evan Morikawa
26ebb6df0d fix(db): don't assert transaction anymore 2017-01-17 16:05:02 -08:00
Juan Tejada
38fee51a13 fix(logging) Don't log error out unecessarily 2017-01-17 13:16:45 -08:00
Evan Morikawa
25727badba fix(clearbit): catch API errors 2017-01-17 12:42:40 -08:00
Evan Morikawa
3afff343cb fix(pref): remove default send preferences for now in basic 2017-01-17 12:27:45 -08:00
Halla Moore
f407d5e430 rm(provider-setting): Remove duplicate "fastmail.com" 2017-01-17 08:49:21 -08:00
Halla Moore
0902d99678 fix(onboarding): Change how we determine default IMAP settings
Summary:
If we don't have IMAP settings for a particular email domain,
try to choose based on which provider was selected instead.

Fixes #3168

Test Plan: tested locally

Reviewers: spang, evan

Reviewed By: evan

Differential Revision: https://phab.nylas.com/D3721
2017-01-17 08:47:35 -08:00
Evan Morikawa
0b700c424c bump(version): 1.0.8 2017-01-16 20:21:39 -08:00
Evan Morikawa
368cb27db7 bump(k2) 2017-01-16 20:21:28 -08:00
Juan Tejada
aa53484568 fix(accounts) Make account adding look fast 2017-01-16 20:18:48 -08:00
Juan Tejada
b1882656ee fix(deltas) Prevent app from crashing when processing deltas
Summary:
Some strange scenario is causing us to attempt to redefine the object property `_delta` on our `delta.attributes` object inside `DeltaProcessor._decorateDeltas`, which throws an error, and consequently throws the app into an error loop. I haven't been able to track down how to reproduce this, but when it happens it completely takes the app down.

From testing with tomasz's copy of N1, this seemed to have originated from the lack of Account tokens, which was hard to discover because the `_deltas` object completely floods the console with errors.

From what I gather, `_decorateDeltas` is only called from a single place, `DeltaProcessor.process`, which is also only called from a single place, and its unclear how it would be called multiple times with the same delta object references.

In order to prevent this error from completely destroying the app, I've added the `configurable` option when defining the property, so that redifining it doesn't throw an error. It should be safe to redefine this property with the latest delta reference, and will also allow us to discover other errors more easily in the console like the lack of account tokens which might be the original cause of this problem.

Test Plan: manual

Reviewers: mark, spang, evan, halla

Reviewed By: evan, halla

Differential Revision: https://phab.nylas.com/D3717
2017-01-16 19:37:37 -08:00
Halla Moore
91665a8904 rm(calendar): Comment out more calendar things 2017-01-16 19:32:18 -08:00
Juan Tejada
b2862981bd bump(k2) 2017-01-16 19:20:09 -08:00
Evan Morikawa
151510b823 fix(send): temporarily disable ensureOnce protection
Since we catch any post-send errors now in K2 and if there is a temporary
error, this protection won't let you send a message again
2017-01-16 19:17:27 -08:00
Evan Morikawa
964cb3bd86 bump(version): 1.0.7 2017-01-16 18:36:16 -08:00
Evan Morikawa
20951bb306 bump(k2) 2017-01-16 18:36:01 -08:00
Evan Morikawa
f8f9a850c1 Changelog version bump to 1.5.0
Changelog to 1.5.0
2017-01-16 17:59:13 -08:00
Halla Moore
9eca19ca56 fix(sync-messaging): Have "Looking for messages..." update properly
Summary:
Makes these messages update even if the user doesn't force a
re-render by switching perspectives.

Test Plan: tested manually

Reviewers: evan, juan

Reviewed By: juan

Differential Revision: https://phab.nylas.com/D3715
2017-01-16 17:49:55 -08:00
Mark Hahnenberg
4a77f318e5 [search-index] Add index for isSearchIndexed (for real)
Summary:
We had to add the id to the index as well (along with is_search_indexed)
so that the query worked correctly since it sorts by id. Also added a
default value of 0 for boolean attributes so that we don't have to query
for two different values (0 and null), which was causing sqlite to have to
do a final b-tree sort which is slow.

Test Plan: Run locally, verify query plan with EXPLAIN QUERY PLAN

Reviewers: evan, juan

Reviewed By: juan

Differential Revision: https://phab.nylas.com/D3712
2017-01-16 16:57:24 -08:00
Karim Hamidou
8235f33655 Remove UpdateChannelSection
Use staging autoupdater for staging.

fixed failing test

Fix autoupdater – we were using the wrong command.

Revert "Bump version to 1.5.0"

Temporarily reverting this because I need to test the upgrade path from
0.4.2 => 1.5.0

Revert "Revert "Bump version to 1.5.0""

Had to do this to test the autoupdater.

[fix] [channel drop-down list] Show the stable channel in all cases.

Conflicts:
	internal_packages/preferences/lib/tabs/update-channel-section.jsx

Fix broken autoupdater, for reals.

[master] Replace "Nylas N1" by "Nylas Mail" in build scripts

Summary: As discussed --- we need to make those changes to make the autoupdater work across versions.

Test Plan: Will run a build.

Reviewers: evan

Reviewed By: evan

Differential Revision: https://phab.nylas.com/D3701

Revert "Revert "Revert "Bump version to 1.5.0"""

Need to set the version to 0.4.402 for testing purposes.

Set preferredChannel in the autoupdater instead of in the ChannelStore

It turns out that Squirrel checks for update at program launch. In some
cases, it would put Pro users on the "nylas-mail" channel because that's
the default channel if you don't pass a preferredChannel.

Conflicts:
	src/flux/stores/update-channel-store.es6

Set the autoupdater preferredChannel to stable.

Don't try to move the app file to the Application folder ourselves

Because of MacOS Gatekeeper path randomization issues
(https://github.com/Squirrel/Squirrel.Mac/issues/182) we need the user
to move the app themselves. Changed the dialog to ask them to do this
politely.

Conflicts:
	internal_packages/verify-install-location/lib/main.es6
2017-01-16 16:46:52 -08:00
Halla Moore
2d53405b80 fix(category): Update isSyncComplete()
Summary:
When we've optimistically created a category and haven't seen
it come back through the remote yet, `.object` does not
exist. Just look up the sync state for the entire account in
this case.

Fixes T7556

Test Plan: tested manually

Reviewers: spang, evan, juan

Reviewed By: juan

Maniphest Tasks: T7556

Differential Revision: https://phab.nylas.com/D3711
2017-01-16 16:19:45 -08:00
Evan Morikawa
9bca578439 fix(migrator): fix bug for people simply upgrading existing pro 2017-01-16 15:54:10 -08:00
Halla Moore
1e1117fe44 rename(N1): one more N1 -> Nylas Mail change 2017-01-16 14:36:21 -08:00
Mark Hahnenberg
b8cc0d6207 [search-index] Add DB index for is_search_indexed fields
Summary:
We query based on these fields which would cause us to scan the entire
table if we don't have these indexes.

Test Plan: Run locally

Reviewers: evan, juan

Reviewed By: juan

Differential Revision: https://phab.nylas.com/D3710
2017-01-16 14:29:30 -08:00
Evan Morikawa
256fd1ef2b fix(package): bump debug to 2.4.5 2017-01-16 14:14:52 -08:00
Evan Morikawa
1f964132df fix(lint): fix linter error 2017-01-16 12:56:52 -08:00
Karim Hamidou
02f8808302 Remove UpdateChannelSection
Use staging autoupdater for staging.

fixed failing test

Fix autoupdater – we were using the wrong command.

Revert "Bump version to 1.5.0"

Temporarily reverting this because I need to test the upgrade path from
0.4.2 => 1.5.0

Revert "Revert "Bump version to 1.5.0""

Had to do this to test the autoupdater.

[fix] [channel drop-down list] Show the stable channel in all cases.

Conflicts:
	internal_packages/preferences/lib/tabs/update-channel-section.jsx

Fix broken autoupdater, for reals.

[master] Replace "Nylas N1" by "Nylas Mail" in build scripts

Summary: As discussed --- we need to make those changes to make the autoupdater work across versions.

Test Plan: Will run a build.

Reviewers: evan

Reviewed By: evan

Differential Revision: https://phab.nylas.com/D3701

Revert "Revert "Revert "Bump version to 1.5.0"""

Need to set the version to 0.4.402 for testing purposes.

Set preferredChannel in the autoupdater instead of in the ChannelStore

It turns out that Squirrel checks for update at program launch. In some
cases, it would put Pro users on the "nylas-mail" channel because that's
the default channel if you don't pass a preferredChannel.

Conflicts:
	src/flux/stores/update-channel-store.es6

Set the autoupdater preferredChannel to stable.

Don't try to move the app file to the Application folder ourselves

Because of MacOS Gatekeeper path randomization issues
(https://github.com/Squirrel/Squirrel.Mac/issues/182) we need the user
to move the app themselves. Changed the dialog to ask them to do this
politely.

Conflicts:
	internal_packages/verify-install-location/lib/main.es6
2017-01-16 12:41:05 -08:00
Karim Hamidou
01d36b108f Don't try to move the app file to the Application folder ourselves
Because of MacOS Gatekeeper path randomization issues
(https://github.com/Squirrel/Squirrel.Mac/issues/182) we need the user
to move the app themselves. Changed the dialog to ask them to do this
politely.

Conflicts:
	internal_packages/verify-install-location/lib/main.es6
2017-01-16 12:34:15 -08:00
Evan Morikawa
703bf18007 bump(changelog) 2017-01-16 12:33:30 -08:00
Juan Tejada
b19207e6cc fix(send-errors): Properly surface net and auth errors from send
Summary: See title. Depends on D3708

Test Plan: manual

Reviewers: evan, halla

Reviewed By: halla

Differential Revision: https://phab.nylas.com/D3709
2017-01-16 12:31:32 -08:00
Karim Hamidou
0b22647abc Don't try to move the app file to the Application folder ourselves
Because of MacOS Gatekeeper path randomization issues
(https://github.com/Squirrel/Squirrel.Mac/issues/182) we need the user
to move the app themselves. Changed the dialog to ask them to do this
politely.
2017-01-16 12:31:15 -08:00
Juan Tejada
bfdbefb78a fix(offline-notif) Properly check and clear offline notification 2017-01-16 12:17:41 -08:00
Evan Morikawa
63c174a90c bump(k2) 2017-01-16 11:27:09 -08:00
Evan Morikawa
238c986c46 bump(version): 1.0.6 2017-01-16 10:48:05 -08:00
Evan Morikawa
9ffa5dc193 bump(k2) 2017-01-16 10:47:40 -08:00
Evan Morikawa
35f1a14833 fix(db): don't exclude message bodies in deltas for drafts 2017-01-16 10:43:19 -08:00
Mark Hahnenberg
781080716c [search-index] Throttle search indexing
Summary:
This diff adds a new SearchIndexer class that each of the concrete
indexer implementations register with. This new class uses the
`isSearchIndexed` field in searchable classes to split indexing work
into chunks. It then times how long it takes to index each chunk and
schedules more work based on a target CPU percent. For example, if it
takes 150 ms to index the last chunk of work and the target CPU fraction
is 0.05 (i.e. 5% CPU use) then it will schedule the next increment of
indexing 3 seconds in the future.

Test Plan: Run locally, verify that indexing occurs in increments

Reviewers: juan, evan

Reviewed By: evan

Differential Revision: https://phab.nylas.com/D3707
2017-01-16 10:32:45 -08:00
Halla Moore
de60f0fde7 fix(sync-state): Make sure folder progress goes between 0 and 1
Summary:
Also fix a related rendering issue and remove unused code.

Fixes T7538

Test Plan: tested locally

Reviewers: evan, spang, juan

Reviewed By: spang, juan

Maniphest Tasks: T7538

Differential Revision: https://phab.nylas.com/D3704
2017-01-16 10:31:37 -08:00
Evan Morikawa
72e206b4ab bump(k2) 2017-01-16 10:31:03 -08:00
Evan Morikawa
5a2a52ebab perf(sync): don't send message bodies across IPC & limit global IPC
Summary: don't send unnecessary crap over IPC

Test Plan: manual

Reviewers: spang, mark, juan, halla

Reviewed By: juan, halla

Differential Revision: https://phab.nylas.com/D3705
2017-01-16 10:28:49 -08:00