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.
Summary:
This commit introduces interruptible sync operations. Now, the `SyncWorker`, `FetchFolderList` operation and `FetchMessagesInFolder` operation can be interrupted at several p
To achieve this, this commit adds an Interruptible abstraction, which is an object that can run functions and interrupt them at points marked by the function. For more info o
This commit also splits up the SyncWorker a little bit to make it smaller, byadding a SyncbackTaskWorker.
Test Plan: manual
Reviewers: evan
Reviewed By: evan
Differential Revision: https://phab.nylas.com/D3613
Summary:
When the error details are too long, the error dialog went off screen and
could not be closed. The native dialog doesn't have any scroll support and
you can only pass it plain text, so this diff moves the error details into
a non-native modal with a scrollable textarea.
Fixes T7388
Test Plan: tested locally
Reviewers: jackie, juan
Reviewed By: juan
Maniphest Tasks: T7388
Differential Revision: https://phab.nylas.com/D3601
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
Summary: So that we know the status of builds
Test Plan: Run the build. See it post to slack
Reviewers: juan, evan
Reviewed By: evan
Differential Revision: https://phab.nylas.com/D3607
Summary: More files that don't need linting
Test Plan: ... run the build
Reviewers: evan
Reviewed By: evan
Subscribers: juan, evan
Differential Revision: https://phab.nylas.com/D3599
Summary:
- Make creating/renaming categories non-optimistic (this, along with the
submodule commit D3593, prevents sub-categories with emtpy titles)
- Use SyncbackTaskAPIRequest in DestroyCategoryTask
- Don't get upset that renaming a category doesn't return a server id
Test Plan: local
Reviewers: juan, evan
Reviewed By: evan
Differential Revision: https://phab.nylas.com/D3594