Commit graph

1993 commits

Author SHA1 Message Date
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
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
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 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
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 6a3532efc7 [fix] [channel drop-down list] Show the stable channel in all cases. 2017-01-15 16:22:08 -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
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
Evan Morikawa 1f0d46bcd7 feat(onboarding): add client_edition=basic to onboarding flow 2017-01-15 12:07:45 -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
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
Evan Morikawa 32d2ec91a6 fix(spellcheck): fix right click menu on spellcheck 2017-01-14 16:18:23 -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 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
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
Evan Morikawa 45848ce3a0 fix(config): move from ~/.nylas-k2 to ~/.nylas-mail
Summary:
fix(config): move from ~/.nylas-k2 to ~/.nylas-mail

fix(auth): ignore onboarding urls that aren't Nylas

feat(sig): change default signature

bump(k2)

Test Plan: manual

Reviewers: halla, juan

Reviewed By: juan

Differential Revision: https://phab.nylas.com/D3664
2017-01-13 12:19:42 -08:00
Halla Moore fc43bc834a fix(initial-sync-status): Change how we display the sync status
Summary:
This diff takes out the progress bars, since they can appear to
not move for very large mailboxes. Instead, just show an icon that
indicates whether the sync is complete or in progress, and add a
tooltip that displays how far back the folder has been synced to.

Submodule commit is D3662

Test Plan: tested locally

Reviewers: evan, juan

Reviewed By: evan, juan

Differential Revision: https://phab.nylas.com/D3663
2017-01-13 12:07:54 -08:00
Mark Hahnenberg ee438c7219 [thread-search] Add support for category search (i.e. "in:foo")
Summary: See title

Test Plan: Run locally, search for specific labels

Reviewers: evan, juan

Reviewed By: evan, juan

Differential Revision: https://phab.nylas.com/D3656
2017-01-13 11:53:41 -08:00
Karim Hamidou b880ee981d [feat] [autoupdater] Introduce a new channel, "Nylas Mail" + let N1
specify a preferred channel.
2017-01-13 10:59:12 -08:00
Jackie Luo 78a7388318 🎨(rename): Update Nylas N1 to Nylas Mail
Test Plan: Tested locally.

Reviewers: halla, juan, evan

Reviewed By: juan, evan

Differential Revision: https://phab.nylas.com/D3645
2017-01-12 12:05:44 -08:00
Halla Moore 99e3f732d9 fix(custom-imap): Hide custom imap accounts and settings from onboarding
Summary:
IMAP no longer appears on the onboarding account list, and the option to
edit connection settings does not appear for any of the visible account
types. Custom IMAP accounts can still be added via a menu option.

Fixes T7474

Test Plan: tested locally

Reviewers: juan, jackie, evan

Reviewed By: evan

Maniphest Tasks: T7474

Differential Revision: https://phab.nylas.com/D3636
2017-01-12 10:25:33 -08:00
Juan Tejada c40ba0a7f6 fix(notifs) Restore offline notification
Summary: See title

Test Plan: tested locally

Reviewers: evan, halla, jackie

Reviewed By: jackie

Differential Revision: https://phab.nylas.com/D3643
2017-01-11 17:26:27 -08:00
Halla Moore 0b8e8fa6d9 💄(initial-sync): Move "hide" to the top of the expanded progress
Summary: Fixes T7442

Test Plan: tested locally

Reviewers: evan, jackie

Reviewed By: jackie

Maniphest Tasks: T7442

Differential Revision: https://phab.nylas.com/D3640
2017-01-11 15:24:18 -08:00
Mark Hahnenberg 668c2935c9 [thread-search] Improve local thread search
Summary:
Previously we waited to build the local ThreadSearch index until we were
done with the initial mail sync. This is undesirable because inboxes can
be very large, making local sync useless for a number of hours after a
user adds an account. This diff removes that restriction.

This diff also adds a new rudimentary new grammar (along with accompanying lexer
and parser) for local thread search queries. This grammar is then
translated into the appropriate SQL queries on the ThreadSearch index
table. More advanced features (e.g. in:category, date ranges, etc) can be added
easily in the future by augmenting this simple search query language.

Test Plan: Run locally, new unit tests

Reviewers: juan, evan, khamidou

Reviewed By: khamidou

Differential Revision: https://phab.nylas.com/D3614
2017-01-11 14:26:42 -08:00
Halla Moore 49e4db69e3 feat(onboarding): Display a possible issue when credentials are incorrect
Summary:
When a user tries connecting an account and it 401's, show a note
that suggests what the issue may be, and link to a support article
for more information. In general, mention that they may need to use
an app password. If it's a Yahoo email address, ask if they've already
enabled the proper setting from within Yahoo.

Test Plan: tested locally

Reviewers: evan, jackie

Reviewed By: jackie

Differential Revision: https://phab.nylas.com/D3630
2017-01-11 11:19:38 -08:00
Halla Moore bd842ee73a fix(preference-accounts): Don't select accounts that no longer exist
Summary:
After updating an account's connection settings, there's a brief
moment where the selected account isn't null, but doesn't actually
exist in the AccountStore. This throws a bunch of undefined errors,
so this diff makes sure we discard that selection.

Fixes T7452

Test Plan: tested locally

Reviewers: evan, juan

Reviewed By: juan

Maniphest Tasks: T7452

Differential Revision: https://phab.nylas.com/D3634
2017-01-11 11:19:00 -08:00
Jackie Luo 3a6a4299af feat(onboarding): Add Yahoo and iCloud and fix styling 2017-01-10 18:14:56 -08:00
Halla Moore 2f2cf5be4e fix(onboarding): Don't store type-specific fields when switching account types
Summary:
Since we pass all of the account info to the type-specific auth routes, having
extra fields in the account info object can cause the auth request to fail its
validation. This diff ensures that switching account types will drop any fields
in the account info object that aren't accepted across all routes.

Fixes T7455

Test Plan: tested locally

Reviewers: evan, juan

Reviewed By: juan

Maniphest Tasks: T7455

Differential Revision: https://phab.nylas.com/D3633
2017-01-10 17:34:57 -08:00
Halla Moore f7691ff175 fix(category-picker): Handle the case where new category creation fails
Summary:
Instead of throwing vague undefined errors in the console, recognize that
they category wasn't created and notify the user via a dialog box.

Test Plan: Tested locally

Reviewers: jackie, juan

Reviewed By: juan

Differential Revision: https://phab.nylas.com/D3632
2017-01-10 16:23:53 -08:00
Halla Moore c9d106f802 fix(connection-settings): Update connection settings for fastmail.com
Summary: The previous settings didn't support all operations. Fixes T7450 and T7451.

Test Plan: tested locally

Reviewers: juan

Reviewed By: juan

Maniphest Tasks: T7450, T7451

Differential Revision: https://phab.nylas.com/D3626
2017-01-10 11:22:23 -08:00
Karim Hamidou 141dd39c13 Create a wrapper around legacy N1 APIs.
Conflicts:
	src/K2
2017-01-09 15:18:43 -08:00
Halla Moore 08a0883d21 fix(spinner): Use a constant spinner when loading inline images
Summary:
We used to use a progress-based spinner, but we never get any progress
updates while downloading files, so the spinner was always at 0 and
never visible.

The submodule-commit is D3609, which adds support for inline images

Test Plan: tested locally

Reviewers: evan, spang

Reviewed By: spang

Differential Revision: https://phab.nylas.com/D3610
2017-01-09 10:46:09 -08:00
Evan Morikawa df1343da37 feat(off): disable/hide snooze, mail rules, misc minor plugins 2017-01-06 15:39:09 -08:00
Jackie Luo c0596ef8e4 fix(category-picker): Hide starred label 2017-01-06 13:18:51 -08:00
Tomasz Finc 7cc1666279 fix(Linting errors)
Summary: Second attempt at not linting the error logger and tiny lint cleanup

Test Plan: run the build

Reviewers: evan, juan

Reviewed By: juan

Differential Revision: https://phab.nylas.com/D3591
2017-01-05 14:39:25 -08:00
Mark Hahnenberg f3caf0b561 [thread-search] Fix archiving from search perspective
Summary:
We weren't removing the inbox category in the search perspective, so
things weren't actually being archived.

Test Plan: Run locally

Reviewers: juan, evan

Reviewed By: evan

Maniphest Tasks: T7389

Differential Revision: https://phab.nylas.com/D3575
2017-01-04 11:15:45 -08:00
Halla Moore 9e2f14513e feat(sync-status): Add messaging in other areas when syncing
Summary:
We want users to know that their account is still syncing if they're
looking for a message and end up at the bottom of a thread list.
This diff changes some of the wording around the messaging when
sync isn't complete and also adds a footer at the bottom of the
syncing thread lists. Additionally, we added a "Show Progress"
link that will expand the sync details in the lower left.

Addresses T7354

Test Plan: tested locally

Reviewers: juan, evan, jackie

Reviewed By: jackie

Differential Revision: https://phab.nylas.com/D3551
2017-01-03 13:27:15 -08:00
Christine Spang b1aeefe433 fix(sync-worker): Don't call _determineWorkerPool() twice
A race condition on bootup was causing us to sometimes start
two delta sync workers for the same account.
2016-12-22 12:43:45 -08:00
Evan Morikawa 083021d860 perf(delta): replaces API delta stream with direct in-memory one
Summary:
This replaces the API delta stream with a direct in-memory one

Depends on D3548

Test Plan: manual

Reviewers: halla, jackie

Reviewed By: halla, jackie

Subscribers: juan

Differential Revision: https://phab.nylas.com/D3549
2016-12-21 18:44:17 -08:00
Juan Tejada a0050a22d5 fix(sync-status):Use weighted percentage avg for sync status progress bar
Summary: Also move calculation to sync store, rename stuff a little bit

Test Plan: Manual :(

Reviewers: evan, jackie, halla

Reviewed By: jackie

Differential Revision: https://phab.nylas.com/D3547
2016-12-21 18:30:54 -05:00
Jackie Luo b5970e1e46 fix(initial-sync-activity): Update correct function name 2016-12-21 12:04:50 -08:00
Juan Tejada b29f46fdae fix(auth): Fix authentication notifications
Summary:
Depends on D3544 (K2 diff)

This commit ensures that auth notifications are showed when the
underlying sync worker fails and are cleared when an account is
successfully reconnected

To achieve this, we manually keep track and update syncStates where
appropriate via `Actions.updateAccount`, given that we have access to
N1's version of the account directly from local-sync.
Initially I was considering account delta stream to the cloud-api and the local-api, but that
just complicated things more than it helped.

This commit also fixes a bug with refreshing the gmail token in which we
we were only attempting a token refresh upon restarting the app

This addresses: T7346, T7305, T7335

Test Plan: Manual

Reviewers: halla, evan

Reviewed By: evan

Differential Revision: https://phab.nylas.com/D3545
2016-12-21 07:23:09 -05:00
Halla Moore 78d1b85c7f re-feat(initial-sync-status): Bring the intiial sync progress bar back
Summary:
Adds a UI component to see the progress of initial sync.
(The behavior is sometimes a little strange, but I believe this is
just because of weird behavior in the NylasSyncStatusStore itself.
For instance, it sometimes never populates the `folderSyncProgress`
fields, or it never sets the progress to 1, so the bar stops at 99%)

Test Plan: tested locally

Reviewers: juan, evan

Reviewed By: evan

Differential Revision: https://phab.nylas.com/D3536
2016-12-19 12:40:36 -08:00
Evan Morikawa bbaf4590af feat(auth): update onboarding helpers to be async 2016-12-18 23:38:34 -05:00