Commit graph

4304 commits

Author SHA1 Message Date
Evan Morikawa
2bd3a29f6b bump(k2) 2016-12-07 17:50:09 -08:00
Halla Moore
25652fea60 bump(submodules) 2016-12-07 17:14:14 -08:00
Halla Moore
372f0ee987 bump(src/pro) 2016-12-07 16:50:04 -08:00
Juan Tejada
548fc7b1ba bump submodule 2016-12-07 16:16:59 -08:00
Juan Tejada
6f44630f96 fix(tasks): Add syncback-task-api-request to keep track of K2 tasks
This commit adds a new request type: SyncbackTaskAPIRequest.
This API request is meant to be used for requests that create a
SyncbackRequest inside K2.
When the initial http request succeeds, this means that the task was created,
but we cant tell if the task actually succeeded or failed until some time in
the future when its processed inside K2's sync loop.

A SyncbackTaskAPIRequest will only resolve until the underlying K2 syncback
request has actually succeeded, or reject when it fails, by listening to
deltas for ProviderSyncbackRequests

THis commit also updates N1's tasks that create syncback requests to use
this new type of request
2016-12-07 16:13:36 -08:00
Halla Moore
1f36388b93 update(send): Pass in the upload data that local-sync expects
Since local-sync can access the same targetPaths as N1, there's
no need to create actual File instances anymore. Pass just the
upload data in the API request, and remove SyncbackDraftFilesTask
since it is no longer necessary.
2016-12-07 14:19:07 -08:00
Evan Morikawa
476bbb0e5f feat(auth): add better error state handling 2016-12-07 10:11:22 -08:00
Christine Spang
ee3e77c6c3 bump(k2) 2016-12-07 07:26:18 -08:00
Christine Spang
988c6022da feat(k2): Wrap lines on preformatted text
Summary:
We now use <pre> tags to preserve whitespace in plaintext emails,
but it's annoying when there are long lines that force a scroll
bar. Wrap them instead.

Test Plan:
looked at some emails. Not sure this isn't going to break something
           weird---is <pre> used in anything else?

Reviewers: bengotow

Differential Revision: https://phab.nylas.com/D3484
2016-12-06 17:47:51 -08:00
Evan Morikawa
f170d14b8d fix(errors): properly rethrow api error 2016-12-06 17:21:37 -08:00
Jackie Luo
0e388d5c8c rm(send-successful): Remove NotifyPluginsOfSendTask 2016-12-06 16:45:32 -08:00
Jackie Luo
8026d1e1a5 fix(spelling): Correct references 2016-12-06 16:05:05 -08:00
Evan Morikawa
4593e770cd refactor(build): update build to install with right env for k2 packages 2016-12-06 16:03:44 -08:00
Evan Morikawa
e595590a9a refactor(auth): DRY auth 2016-12-06 16:03:42 -08:00
Juan Tejada
eb1c7aadf5 bump submodule 2016-12-06 15:54:58 -08:00
Juan Tejada
d08da72ae2 fix(k2) Ensure order correct order when running syncback requests
When running syncback requests, if a task is meant to change the UID of
a message (e.g. move it to a new folder), that task should be run after
other tasks that don't affect the UID. Otherwise, when trying to run the
other tasks, they would reference a UID that is no longer valid.

This commit will make sure that we run any tasks that will change message uids last,
/and/ make sure that we don't run more than 1 task that will affect the uids of
the same messages in a row (i.e. without running a sync loop in between)
2016-12-06 15:45:46 -08:00
Juan Tejada
68e596bdf4 [local-sync] Correctly sync folders and labels
This commit will correctly keep track of folder and label ids when
creating them from N1.

Previously, when we sent the request to create a folder or label to our api,
we would immediately get back a serverId because it was created optimistically
in the back end— given that K2 is strictly non-optimistic, we won’t have a serverId
until some undetermined time in the future, and we need to somehow reference
the object that /was/ optimistically created in N1 to update the ui when
we do get the server id.

Since we can deterministically generate ids for folders and labels,
we "guess" what its going to be, and include it in the props of the syncback request
returned to N1. This is the simplest solution to get thing working
correctly right now, but we’ll need to revisit this in the future for
other types of objects (drafts, contacts, events), and revisit how we
will manage optimistic updates in N1 when we merge the 2 codebases
with K2 (given that K2 was designed to be non-optimisitc).
2016-12-05 18:57:13 -08:00
Evan Morikawa
3e54c37edb bump(k2) 2016-12-05 17:30:56 -08:00
Evan Morikawa
d624f6657a fix(key): only migrate if key doesn't exist 2016-12-05 17:28:37 -08:00
Evan Morikawa
ace9b94053 feat(key): use unified key manager 2016-12-05 17:19:19 -08:00
Christine Spang
a04dca2755 add watchman config file for fast fuzzy find 2016-12-05 16:23:48 -08:00
Jackie Luo
871eb524ec fix(nylas-api): Correct some imports and remove tests for plugin auth 2016-12-05 11:37:27 -08:00
Ben Gotow
2e995c344c bump(submodule) 2016-12-05 10:19:50 -08:00
Ben Gotow
b0b231094d fix(deltas): Minor tweaks to metadata delta processing 2016-12-05 10:19:37 -08:00
Ben Gotow
a9ccd7370c fix(deltas): Minor adjustments for thread deltas 2016-12-02 15:59:05 -08:00
Jackie Luo
ad5a1a6316 refactor(nylas-api): Make requests with helpers 2016-12-02 15:51:38 -08:00
Ben Gotow
0e8829b929 fix linter errors 2016-12-02 15:44:52 -08:00
Evan Morikawa
7713a375eb bump(k2) 2016-12-02 18:02:08 -05:00
Evan Morikawa
1f63680fd1 refactor(plugins): use plugin name instead of appId 2016-12-02 17:34:42 -05:00
Ben Gotow
db7f966f0f fix(metadata): Remove all plugin auth 2016-12-02 14:34:37 -08:00
Christine Spang
a1a85e04be feat(metadata): Look up local thread IDs via message table when setting metadata
Since message IDs are now static but there's no good way to generate
static thread IDs while syncing an account from newest message first,
we give threads the ID of any message on that thread and, when setting
metadata, look up the local thread ID by first going through the
message table.
2016-12-02 14:13:58 -08:00
Evan Morikawa
fcb36abbe8 fix(account): Remove unsupported account types 2016-12-02 16:44:44 -05:00
Evan Morikawa
7b44583ddc fix(folder): fix returning db transaction promise 2016-12-02 16:26:09 -05:00
Evan Morikawa
2b2c998dee feat(sync): let N1 be aware of provider synback requests 2016-12-02 16:15:17 -05:00
Evan Morikawa
3f681ddced bump(k2) 2016-12-02 15:12:11 -05:00
Evan Morikawa
cee7d05017 debug(delta): add logs 2016-12-02 15:11:48 -05:00
Evan Morikawa
cfc605136b refactor(sync): sync workers only use delta syncs now 2016-12-02 14:48:56 -05:00
Ben Gotow
fb13abe8f4 fix(deltas): Process all deltas of each class in a single pass
Also changed the DeltaProcessor so it doesn’t query for models before sending out `Actions.didPassivelyReceiveCreateDeltas`, and renames it to be more clear it’s about deltas.
2016-12-02 11:41:49 -08:00
Jackie Luo
bd30adec15 (account-store): Convert to ES6 2016-12-02 11:00:32 -08:00
Evan Morikawa
30ce9be8d9 bump(k2) 2016-12-02 13:28:18 -05:00
Ben Gotow
e3b4fc859e fix(deltas): Remove extra params passed to streaming endpoint 2016-12-01 18:42:13 -08:00
Juan Tejada
6cfbb80403 fix(tasks): /Actually/ fix moving threads in Gmail
Moving to between gmail folders (all, spam, trash) or moving to inbox,
involves changing labels /and/ folders, simultaneously. For this I added
a task to perform both operations, and apply labels first before
attempting to move the folder

Revert "fix(categories): Fix tasks for moving threads in Gmail"

This reverts commit 527de80ad2.
2016-12-01 16:38:30 -08:00
Ben Gotow
6d85a8ef81 lint(*): Fix linter errors within K2, update eslint grunt task 2016-12-01 15:38:16 -08:00
Juan Tejada
b9511e75b2 🎨(task-factory) 2016-12-01 14:10:05 -08:00
Evan Morikawa
00832b5a83 fix(auth): now authing IMAP through n1-cloud 2016-12-01 16:56:02 -05:00
Evan Morikawa
2ee11006e9 feat(auth): IMAP request to both n1-cloud and local sync 2016-12-01 16:56:02 -05:00
Ben Gotow
ce14e3b12e fix(specs): Fix AccountStore specs 2016-12-01 13:50:31 -08:00
Ben Gotow
6fb08f55c5 fix(accounts): Save both local and cloud tokens per account 2016-12-01 13:35:20 -08:00
Evan Morikawa
d722e6c224 bump(k2) 2016-12-01 15:45:51 -05:00
Evan Morikawa
77799519e4 fix(spec): fixed specs for nylas-sync-worker 2016-12-01 14:00:20 -05:00