Commit graph

4286 commits

Author SHA1 Message Date
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
Karim Hamidou ee304097a9 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.
2017-01-16 09:15:32 -08:00
Evan Morikawa d4e2f71f15 bump(version): 1.0.5 2017-01-15 17:53:47 -08:00
Juan Tejada 2ae8d41098 🎨(send): Don't try to multi-send when only sending to 1 recipient
Summary:
This will make send for a single recipient faster, and open/link
tracking will continue to work as expected

Test Plan: manual

Reviewers: evan, halla

Reviewed By: halla

Differential Revision: https://phab.nylas.com/D3702
2017-01-15 17:44:25 -08:00
Halla Moore 6d403c99cf fix(icloud-sending): Add custom smtp settings
Summary: iCloud needs TLS

Test Plan: tested locally

Reviewers: tomasz

Reviewed By: tomasz

Differential Revision: https://phab.nylas.com/D3699
2017-01-15 17:09:59 -08:00
Karim Hamidou 407548064c Fix broken autoupdater, for reals. 2017-01-15 17:06:23 -08:00
Karim Hamidou 6a3532efc7 [fix] [channel drop-down list] Show the stable channel in all cases. 2017-01-15 16:22:08 -08:00
Evan Morikawa 857ce6eb33 bump(k2) 2017-01-15 15:41:21 -08:00
Evan Morikawa 0be3b91ff4 bump(version): 1.0.4 2017-01-15 15:23:27 -08:00
Evan Morikawa a3d4e393fc bump(k2) 2017-01-15 15:23:06 -08:00
Halla Moore d3482419f1 feat(sync-status): Hide syncback tasks inside the expanded details
Summary:
Except for send tasks, place notifications of syncback tasks inside
the expanded sync details.

Addresses T7458

Test Plan: tested locally

Reviewers: juan, evan

Reviewed By: evan

Differential Revision: https://phab.nylas.com/D3693
2017-01-15 15:21:51 -08:00
Mark Hahnenberg 93b4031bcc [search-index] Add isSearchIndexed field to searchable models
Summary:
The isModelIndexed function was extremely slow because it was scanning
the unindexed 'content_id' field in the search index table. This diff
adds a field to the searchable models (currently Thread, Contact, and
Event) that stores whether that particular model has been indexed or
not, allowing us to avoid doing the O(n) scan of the search index table.

Test Plan: Run locally, verify that isModelIndexed is no longer a bottleneck

Reviewers: juan, evan

Reviewed By: evan

Differential Revision: https://phab.nylas.com/D3695
2017-01-15 15:18:45 -08:00
Evan Morikawa eb6001480c perf(scroll): improve thread list scroll perf
Summary:
Lots of components were rendering when they didn't have to on the very
frequent account sidebar updates

Test Plan: manual

Reviewers: mark, juan

Reviewed By: juan

Differential Revision: https://phab.nylas.com/D3691
2017-01-15 15:12:54 -08:00
Juan Tejada 96366fef74 bump k2 2017-01-15 15:10:14 -08:00
Karim Hamidou d2df6d7612 Bump K2 version. 2017-01-15 14:10:26 -08:00
Karim Hamidou b44b2538cb Fix autoupdater – we were using the wrong command. 2017-01-15 14:10:16 -08:00
Karim Hamidou 1d740240aa HACK HACK HACK Allow querying account tokens by email address too.
We've got a plethora of "unique" ids for the same account and ot looks
like a recent regression is preventing us from fetching an API token for
an account from the keychain. This diff changes the AccountStore to be
able to fetch data using an account's email address. Will figure how to
do things better after launch.

Test plan: Checked that it worked for a broken account.
2017-01-15 12:09:41 -08:00
Evan Morikawa 1f0d46bcd7 feat(onboarding): add client_edition=basic to onboarding flow 2017-01-15 12:07:45 -08:00
Evan Morikawa 82e7bbcbab bump(k2) 2017-01-15 12:06:05 -08:00
Evan Morikawa 750c20dd25 bump(k2) 2017-01-14 18:37:12 -08:00
Evan Morikawa cd25918955 bump(version): 1.0.3 2017-01-14 17:51:39 -08:00
Evan Morikawa 98e7f9d1c6 bump(k2) 2017-01-14 17:51:18 -08:00
Evan Morikawa 231c510f86 fix(auth): fix unnecessarly loud api errors
Summary:
Fixes T7520
Gets rid of the Gmail auth error too

Test Plan: manual

Reviewers: juan

Reviewed By: juan

Maniphest Tasks: T7520

Differential Revision: https://phab.nylas.com/D3688
2017-01-14 17:51:02 -08:00
Evan Morikawa 7210c80c5a fix(subscription): show Nylas Basic subscription with CTA to upgrade
Summary:
Removes references to the N1 ID expring.

Luckily, local-sync Nylas Mail Basic doesn't need the nylas ID to do
pretty much anything, which means we don't need to worry about the "trial"
status of the Nylas ID. The existing trial infrastructure will only kick
into place when someone connects an email account with the Nylas Cloud
Sync servers for the first time.

The one place we do check for the Nylas ID is in the
cloud-api/src/authentication route. Here we hit
https://billing.nylas.com/n1/user and simply expect to get back a Nylas
ID. As long as we return the existence of a Nylas ID (which should ignore
whether or not the old subscription system is "valid"), the API calls will
succeed.

This makes the "Upgrade Now" button go to
billing.nylas.com/dashboard?upgrade_to_pro=true with the auto-sign in
features enabled. This will automatically log the user into the Nylas
billing site with the upgrade_to_pro=true flag set.

There is also a new "Learn More" button which goes to
https://nylas.com/nylas-pro.

@mike, will these urls work?

Test Plan: manual

Reviewers: khamidou, mike, juan

Reviewed By: juan

Subscribers: mike

Differential Revision: https://phab.nylas.com/D3680
2017-01-14 17:40:54 -08:00
Halla Moore 9037e84491 feat(fastmail): Add fastmail as a supported provider
Summary:
Also fixes an issue where we would show all any accounts
that aren't gmail or office365 as a generic imap account.

Depends on D3686

Test Plan: manual

Reviewers: juan, evan

Reviewed By: evan

Differential Revision: https://phab.nylas.com/D3687
2017-01-14 17:36:00 -08:00
Evan Morikawa 6c2e964416 fix(cal): remove calendar from protcols
Test Plan: manual

Reviewers: halla, juan

Reviewed By: juan

Differential Revision: https://phab.nylas.com/D3685
2017-01-14 17:28:08 -08:00
Mark Hahnenberg d60226f0c6 [search-index] Don't removeQuotedHTML when indexing threads
Summary:
This is a very expensive operation and there seemed to be few downsides
to including quoted portions in the index. We can revisit this to
improve how we index when we have a proper scheduler.

Test Plan: Run locally

Reviewers: juan, evan

Reviewed By: evan

Differential Revision: https://phab.nylas.com/D3682
2017-01-14 17:10:38 -08:00
Michael Grinich 357cc854de 💅 new Nylas Mail icon
Test Plan: Gotta test a Travis build

Reviewers: evan

Reviewed By: evan

Differential Revision: https://phab.nylas.com/D3676
2017-01-14 16:56:39 -08:00
Evan Morikawa 32d2ec91a6 fix(spellcheck): fix right click menu on spellcheck 2017-01-14 16:18:23 -08:00
Juan Tejada 7a365e60d4 bump(submodule) 2017-01-14 16:18:19 -08:00
Christine Spang a6325b5b51 fix(sync-status): Update how we calculate sync status
Summary: Concommitant diff to D3677

Test Plan: manual

Reviewers: halla, juan

Reviewed By: juan

Differential Revision: https://phab.nylas.com/D3678
2017-01-14 14:55:39 -08:00
Evan Morikawa c45dbdc48d feat(yahoo): got yahoo sending fixed 2017-01-14 14:47:33 -08:00
Halla Moore 4fd9967ffa 💄(account-onboarding): Fix margins on the accounts list 2017-01-14 10:44:26 -08:00
Evan Morikawa e5e01e2834 bump(version): 1.0.2 2017-01-13 19:31:43 -08:00
Evan Morikawa 1408e9bcbb bump(k2) 2017-01-13 19:31:31 -08:00
Evan Morikawa 3f15112b8d bump(version): 1.0.1 2017-01-13 19:03:22 -08:00
Juan Tejada 99f4cdcdad fix(send): Impose stricter attachment size limits on send
Summary: See title

Test Plan: Manual

Reviewers: jackie, halla, evan

Reviewed By: halla, evan

Differential Revision: https://phab.nylas.com/D3670
2017-01-13 19:02:38 -08:00
Evan Morikawa 5ab0173e78 fix(reset): fix the account reset button for K2
Summary: Depends on D3672

Test Plan: manual

Reviewers: mark, juan

Reviewed By: juan

Differential Revision: https://phab.nylas.com/D3673
2017-01-13 19:00:01 -08:00
Evan Morikawa fcfae5d490 Fix references for ~/.nylas to ~/.nylas-mail
Summary: Fix references to nylas-mail

Test Plan: manual

Reviewers: jackie, juan

Reviewed By: juan

Differential Revision: https://phab.nylas.com/D3674
2017-01-13 18:54:37 -08:00
Karim Hamidou d27aa45be6 fixed failing test 2017-01-13 18:45:58 -08:00
Halla Moore 8f39eefeb1 fix(sync-messaging): Update other messaging to check per-folder sync status
Summary:
Also fixes an issue where accounts weren't being removed from
NylasSyncStatusStore because `subscriptions` was used instead of
`_subscriptions`. Specifically, rename `_subscriptions` to
`_accountSubscriptions` so we get an explicit runtime error if
the `_` is left out.

Test Plan: tested locally

Reviewers: evan, juan

Reviewed By: juan

Differential Revision: https://phab.nylas.com/D3671
2017-01-13 18:36:19 -08:00
Karim Hamidou 945ea5a4fc Use staging autoupdater for staging. 2017-01-13 17:00:42 -08:00
Evan Morikawa 95e4ac25c7 fix(task): tasks re-attach to ProviderSyncbackRequests
Summary:
The old task queue for message changing tasks (like mark unread and
archiving) had a system that would only do 5 at a time until the Promises
resolved. Unfortunately our new system doesn't resolve the request
promises until the full IMAP task is actually complete. When you're moving
dozens of messages this can take a very long time since they're currently
not prioritized in sync.

Furthermore if you quit the app while this is inprogress, the Tasks had no
way of saving the status of each of the syncback actions. This means when
you restarted the app, the TaskQueue would get re-inflated and try tasks
again. We now keep track of any tasks that have started and either look
for them in the database or re-listen for their changing status again.

Test Plan: manual

Reviewers: mark, halla, juan

Reviewed By: juan

Differential Revision: https://phab.nylas.com/D3666
2017-01-13 16:26:11 -08:00
Evan Morikawa f1e4ba2bd0 fix(error): also listen to process errors in windows for async/await 2017-01-13 16:17:47 -08:00
Halla Moore 395a703fad fix(task-labels): Remove an extra ellipsis I missed. 2017-01-13 14:35:54 -08:00
Halla Moore 7f956af798 fix(task-labels): Remove ellipses from hardcoded labels and fix css class
The css class was accidentally renamed in another commit. Bring it back and
remove the hard-coded ellipses, since the ellipsis is now part of a css
psuedo element.
2017-01-13 13:42:43 -08:00