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.
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
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
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
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
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
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
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.
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
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
Summary:
We don't see any weird double object behavior when delete deltas are
working properly, so might as well be optimistic since it makes for
a better user experience. This diff also notifies the user if a
category operation fails because of a mail provider restriction.
Fixes T7475
Test Plan: tested locally
Reviewers: juan, evan
Reviewed By: evan
Maniphest Tasks: T7475
Differential Revision: https://phab.nylas.com/D3648
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
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
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
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