Commit graph

22 commits

Author SHA1 Message Date
Ben Gotow 76d873c2b2 Reintroduce concept of provider, start work on Gmail 2016-06-27 10:43:53 -07:00
Juan Tejada 1fe7fdf4b1 More sync error handling WIP 2016-06-27 10:27:38 -07:00
Juan Tejada 63b929e59b Fix missing promise based error handling in sync-worker 2016-06-26 09:52:03 -07:00
Juan Tejada dd350a5081 Update IMAPConnection api + error handling fixes + misc
- `IMAPConnection::openBox` now returns a Promise that resolves to an
IMAPBox, and IMAPBox contains all of the `fetch` operations. This makes
the dependency between fetch operations and the currently open mailbox
explicit rather than implicit and by forcing the operations to be called on
a box instance and hopefully prevent errors. It will also throw an error
if the constraint is no longer satisfied.

- `fetch` operations now return an observable stream of messages (or Promise for single value),
while preserving the same logic of the original implementation. You can use `.toPromise()` on
the observable to get a Promise that resolves when the observable stream has
completely drained.

- Fixes error handling in a few places and renames some variables
2016-06-26 01:57:33 -07:00
Juan Tejada caaef8d5b5 Add /messages/<id> enpoint + support for raw message/rfc822
- When message/rfc822 is requested, fetch ray message from IMAP
connection
2016-06-25 11:25:34 -07:00
Ben Gotow 69e87cbf49 Gmail auth at http://localhost:5100/auth/gmail 2016-06-24 16:46:41 -07:00
Ben Gotow b67a3ae3e4 Launch dashboard when in dev mode, publish change on acct creation 2016-06-23 18:17:04 -07:00
Ben Gotow f678045c4f sync db <=> redis with sequelize hooks 2016-06-23 16:28:51 -07:00
Ben Gotow eac019f536 Rather than changing policies, just set expiring redis key to track activity 2016-06-23 16:28:48 -07:00
Ben Gotow 09bb7874f8 Dashboard with a sweet background. Also realtime assignment / policy view. 2016-06-23 15:52:53 -07:00
Evan Morikawa 3f5cac4342 Adding in syncback message actions 2016-06-23 16:47:07 -06:00
Evan Morikawa 6ad9cdd322 Fixing broken processors 2016-06-23 14:15:30 -06:00
Evan Morikawa 8160acc81e Add imap dependency to package.json 2016-06-23 13:18:33 -06:00
Ben Gotow f7c647f7ba Return syncs to unclaimed queue after CLAIM_DURATION, just because it's healthy 2016-06-23 11:45:33 -07:00
Ben Gotow c2e9093b42 Escalate sync policy based on number of stream connections 2016-06-23 11:45:33 -07:00
Ben Gotow 12d9db8dd9 Redis coordination of sync processes / assignment 2016-06-23 00:49:26 -07:00
Ben Gotow 2e9bfa68b5 Refactor DeltaStreamQueue (connection per subscription) 2016-06-23 00:49:26 -07:00
Jackie Luo cb95574378 Fix associations 2016-06-22 17:34:29 -07:00
Jackie Luo e64c2ae4c0 Add basic threading 2016-06-22 17:34:29 -07:00
Ben Gotow f5f435236f /auth + remove hardcoded stub in favor of curl request 2016-06-22 17:19:48 -07:00
Ben Gotow 95fbb64d17 Add /messages, /folders, /account 2016-06-22 14:42:08 -07:00
Evan Morikawa 18f2925b43 Convert to monorepo 2016-06-22 14:41:32 -07:00