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
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
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
Summary:
Adds electron's crash reporter. This is currently going to a dumb heroku
app I setup: https://github.com/emorikawa/electron-crash-report-server
It's going there for now since I want to first evaluate if this is useful
before spending the time to build it in N1-Cloud and taking the risk of
getting flooded by crash reports.
The crash reports themselves are very difficult to debug since it requires
compiling tools that can read os-specific memory dumps
Electron seems to be crashing fairly frequently for some unkonwn reason,
and this is really the only diagnostic tool we have to potentially see why
Test Plan: manual
Reviewers: spang, juan
Reviewed By: juan
Differential Revision: https://phab.nylas.com/D3629
Summary: Retry the build per AppVeyor forum recomendation
Test Plan: run a build
Reviewers: juan, evan
Reviewed By: evan
Differential Revision: https://phab.nylas.com/D3628
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
In `fromJSON()`, we were setting `categoriesType` to 'labels' if
the json had a truthy `labels` value. But an emtpy array is truthy,
and K2 always sends an array. This commit changes the conditional
to also ensure the array length is > 0.