Commit graph

77 commits

Author SHA1 Message Date
Karim Hamidou 47e0683cac First step to getting persistent id in K2
Summary:
This diff adds persistent unique ids for messages and contacts. For messages, we just take a hash of the headers. For contacts, we hash the contact's email address.

This diff bundles a couple of tiny fixes too, like always trying to restart an account's sync, even after an exception.

Note that since there's no reliable way to have persistent ids for threads, we'll have to change our code to use message ids instead. Alas, that's a story for another (massive) diff.

Test Plan: Tested manually.

Reviewers: bengotow

Reviewed By: bengotow

Differential Revision: https://phab.nylas.com/D3468
2016-12-01 11:15:13 -08:00
Ben Gotow 935d8cf141 [local-sync] Fix transaction log to only ignore syncState 2016-11-30 16:25:28 -08:00
Karim Hamidou 0879b6390e Make db reset synchronous. 2016-11-29 15:13:42 -08:00
Karim Hamidou ac818f30fe Add a shortcut to restart the sync for an account from scratch. 2016-11-29 14:59:37 -08:00
Ben Gotow 48fff4f4e1 fix(dashboard): Remove sync policy 2016-11-29 14:58:52 -08:00
Juan Tejada b7b0808689 [local-sync]: Load all db models 2016-11-29 12:38:49 -08:00
Juan Tejada a9be3bb3ed [local-sync]: Refactor message ingestion to write new messages only once
This will only generate 1 delta per new message instead of 2
Adds a MessageFactory to create messages from imapmessage objects, and
unifies and cleans up that logic
Also modified the message-processor to be more suited for local sync,
made emphasis that it's only for processing new messages, and got rid of
the while "pipeline" concept

- TODO message-processor specs are broken
2016-11-29 11:24:27 -08:00
Juan Tejada 64cb03f4cd Move non shared-models to local sync / remove duplicate DatabaseTypes 2016-11-26 12:48:48 -08:00
Ben Gotow 4bbfd6b906 fix(storage): Move to ~/.nylas-k2 2016-11-23 17:08:38 -08:00
Evan Morikawa 931943bea6 [local-sync] fix unnecessary transaction JSON parse and binding issue 2016-11-23 13:43:00 -08:00
Juan Tejada f45425a7b6 [local-sync] Remove unused message-types 2016-11-23 13:30:51 -08:00
Karim Hamidou 43030789a8 Make the delta stream work
Also replaces our LocalPubsubConnector by a TransactionConnector which
just uses EventEmitter.
2016-11-23 13:08:59 -08:00
Juan Tejada f98c38fef4 [iso-core]: Make loadModels reusable by cloud-core 2016-11-23 12:16:58 -08:00
Evan Morikawa eacbb99f15 rearrange logging so message comes first in console 2016-11-23 12:01:47 -08:00
Karim Hamidou c05bc8ee63 Remove redis dependency
Conflicts:
	packages/local-sync/src/local-sync-worker/sync-process-manager.js
2016-11-23 11:50:13 -08:00
Juan Tejada f2a032c87c [iso-core]: Update api for loadModels 2016-11-23 11:49:32 -08:00
Juan Tejada 5b7214e464 [local-sync]: Let local-sync start, add loadModels to iso-core 2016-11-23 10:18:35 -08:00
Evan Morikawa d01b4ffe77 [isomorphic-core] Uppdate refs nylas-core => isomorphic-core 2016-11-23 09:12:45 -08:00
Juan Tejada 814e014e39 Final nylas-core and cloud-core cleanup
- Remove unused exported PromiseUtils from cloud-core, import instead
from nylas-core where needed
- Remove unused MessageTypes from cloud-core
- Move MessageTypes from nylas-core to local-sync. It's completely
isolated to local-sync
2016-11-22 20:36:38 -08:00
Juan Tejada 3b7c40a870 [local-sync] Misc fixes from database-connector move 2016-11-22 20:25:43 -08:00
Juan Tejada 792ed2bb5c local[sync] Move missing file for local-syncs database-connector 2016-11-22 20:18:19 -08:00
Juan Tejada 0a24c01b5a [local-sync] fix path for local pubsub-connector 2016-11-22 20:13:35 -08:00
Juan Tejada 957ba73bd0 [local-sync] Make local logger es6 for compilation 2016-11-22 20:10:54 -08:00
Juan Tejada 296846adf5 [local-sync] Remove logger and metrics from local-sync and nylas-core 2016-11-22 20:07:11 -08:00
Evan Morikawa 106d7e57a1 Rename DatabaseConnector to LocalDatabaseConnector and move 2016-11-22 17:51:43 -08:00
Evan Morikawa 2b1c787eec Move PubSubConnector to LocalPubSubConnector out of nylas-core 2016-11-22 17:51:43 -08:00
Evan Morikawa c019e9a23b Move SchedulerUtils out of nylas-core to local-sync/src/shared 2016-11-22 17:07:48 -08:00