Commit graph

63 commits

Author SHA1 Message Date
Ben Gotow 1572991a89 Very basic implementation of undo/redo where redo data is built in JS 2017-07-08 12:33:41 -07:00
Ben Gotow 05bd98e7d2 ChangeMailTasks no longer accept singular thread 2017-07-08 11:05:46 -07:00
Ben Gotow 6b070aa9dc Stop aggresively using the reviver in fromJSON, conver model base class to ES2016 2017-07-07 12:27:09 -07:00
Ben Gotow e529197701 Stop aggressively using the reviver option on JSON.parse, part 1 2017-07-07 12:12:57 -07:00
Ben Gotow 036d9f5943 Minor fixes 2017-07-07 11:57:37 -07:00
Ben Gotow 8afda8e3d4 Remove more draft syncback code 2017-07-05 14:56:28 -07:00
Ben Gotow b3394d54fd JS side is no longer allowed to write to the database 2017-07-05 14:39:14 -07:00
Ben Gotow b3d8b98913 Fix sending state spinner 2017-07-05 13:44:42 -07:00
Ben Gotow 28766b8804 Initial support for multisend 2017-07-05 12:57:05 -07:00
Ben Gotow da2dbe43c9 Send drafts through the new mailsync process 2017-07-05 10:34:10 -07:00
Ben Gotow 9abf78e2b0 Put formal validation phase back in task queueing flow 2017-07-04 23:40:33 -07:00
Ben Gotow 4fead16288 Remove lots of NylasAPI code + specs 2017-07-04 23:32:52 -07:00
Ben Gotow 40eca53dbc Reimplement DestroyCategoryTask in C++ 2017-06-29 15:20:02 -07:00
Ben Gotow 232bff4cbc Remove use of abstract base class Category in specs 2017-06-28 23:48:45 -07:00
Ben Gotow f7f345baf9 Fix display of labels vs. folders in the sidebar 2017-06-28 23:01:45 -07:00
Ben Gotow 73b7fe5553 Rename FileDownloadStore => AttachmentStore 2017-06-28 22:45:15 -07:00
Ben Gotow b65d86ae5e Merge FileUploadStore and FileDownloadStore, draft.uploads and draft.files 2017-06-28 17:40:21 -07:00
Ben Gotow 11f19ae648 Fix file attachments / FileUploadStore 2017-06-28 13:37:33 -07:00
Ben Gotow 1c64221c12 Remove the loading screen 2017-06-28 13:26:52 -07:00
Ben Gotow f74fd8324d Remove concept of “account.organizationUnit” since Gmail has folders also 2017-06-27 11:39:43 -07:00
Ben Gotow f6340d5555 Remove DeltaProcessor, JS side will not write to database 2017-06-27 11:34:20 -07:00
Ben Gotow efbea58e1e Overhaul TaskFactory.tasksForApplyingCategories, fix many specs 2017-06-27 11:31:22 -07:00
Ben Gotow 6cbbd0a3dd Shorten JSON keys to save like…100mb of sqlite space 2017-06-26 23:48:55 -07:00
Ben Gotow ade70d32bd Contact ranking now built into sync, remove separate cache 2017-06-25 17:52:29 -07:00
Ben Gotow ddb7d8d793 react-addons-test-utils => react-dom/test-utils 2017-06-25 01:24:25 -07:00
Ben Gotow bd9983005c Remove deprecations still supported by client 2017-06-25 01:06:54 -07:00
Ben Gotow 555681546d Fix remaining references to draftId => headerMessageId 2017-06-25 00:59:16 -07:00
Ben Gotow 4966ae3650 Draft creation, saving, deletion moved to c++ 2017-06-25 00:46:01 -07:00
Ben Gotow 3c56e2fbfd Remove isomorphic-core and related packages 2017-06-24 20:34:01 -07:00
Ben Gotow d53606922f Remove Attributes.ServerId 2017-06-24 20:03:35 -07:00
Ben Gotow f038c97144 Move thread counts logic to c++ 2017-06-24 18:40:41 -07:00
Ben Gotow f37aa13780 Fix double fromJSON issue 2017-06-24 12:16:05 -07:00
Ben Gotow 2d1ce345c3 Get rid of more code no longer needed 2017-06-23 18:08:46 -07:00
Ben Gotow 6aa666837e Break apart category picker into labels vs folders 2017-06-23 18:01:14 -07:00
Ben Gotow 0f6fdb4256 Fuck it - tasks don’t performLocal either 2017-06-23 14:57:52 -07:00
Ben Gotow 6d7fe519d9 Remove all database setup from JS app 2017-06-22 15:41:40 -07:00
Ben Gotow d4d6086636 Remove SetupQueryBuilder - CPP helper will build / migrate database 2017-06-22 15:13:25 -07:00
Ben Gotow b01f8c485e Remove performRemotes, rip apart TaskQueue 2017-06-22 15:07:04 -07:00
Ben Gotow 973a411145 Remote client-sync 2017-06-22 13:37:29 -07:00
Ben Gotow 1219182b0a Remove clientId, serverId concept 2017-06-21 13:12:49 -07:00
Evan Morikawa 4904a9ae85 [client-app] Updates to feature limiting
This is a squash of a bunch of commits releated to feature limiting.
Includes making the upgrade path seamless by accessing billing through a
WebView and making sure that the feature is enabled after upgrading, or
canceled if the upgrade path is stopped by the user in any way.

Included diffs
---------------
Differential Revision: https://phab.nylas.com/D4078
Differential Revision: https://phab.nylas.com/D4136
Differential Revision: https://phab.nylas.com/D4137
Differential Revision: https://phab.nylas.com/D4143
Differential Revision: https://phab.nylas.com/D4147
Differential Revision: https://phab.nylas.com/D4171
Differential Revision: https://phab.nylas.com/D4173
2017-04-05 16:02:53 -07:00
Evan Morikawa 559ecb1cda [client-app] rename DatabaseTransaction -> DatabaseWriter
Summary: Renamed in prep for next few diffs

Test Plan: manual

Reviewers: juan, mark, spang, halla

Reviewed By: halla

Differential Revision: https://phab.nylas.com/D4302
2017-03-30 17:38:07 -07:00
Mark Hahnenberg 5c08018382 [client-app] Add search support for "has:attachment"
Summary: See title

Test Plan: Run locally, verify that attachments are returned

Reviewers: spang, evan, juan

Reviewed By: juan

Differential Revision: https://phab.nylas.com/D4293
2017-03-30 16:11:19 -07:00
Evan Morikawa d8e22aa936 [client-app] don't trigger your own opens & link clicks
Summary:
We weren't stripping link and open items from messages we sent properly.
While we stripped it from the first outgoing message, when the sync loop
came back around it would have them back in. This adds it in the message
processor to extra ensure that ANYTHING that comes from us (or one of our
aliases) gets the open/link tracking stripped

Test Plan: New tests

Reviewers: juan, halla

Reviewed By: juan, halla

Differential Revision: https://phab.nylas.com/D4287
2017-03-29 14:53:40 -07:00
Mark Hahnenberg 78b9cf81c5 [client-sync] Fix "in:" for IMAP search
Summary:
Prior to this diff, the "in:" search query syntax didn't work for IMAP.
This diff implements "in:" by changing the IMAP search backend to take
folder context into account and emit the appropriate queries for each
folder. Queries that include "in:foo" will replace the corresponding AST
nodes with 'ALL' or 'NOT ALL' depending on whether or not the current folder
is "foo". We also now filter which folders we search based on which
folders are referenced in the query.

Test Plan: Run locally, verify that in: works quickly

Reviewers: evan, juan, spang

Reviewed By: juan, spang

Differential Revision: https://phab.nylas.com/D4284
2017-03-29 13:48:46 -07:00
Halla Moore 9caefdc687 [client-app] Rename downloadDataForFile(s) -> getDownloadDataForFile(s)
Summary:
The original name seems like it's initiating the download, when really
it's just returning the data of an already in-progress/completed
download.

Test Plan: Manual, specs

Reviewers: evan, juan

Reviewed By: juan

Differential Revision: https://phab.nylas.com/D4251
2017-03-22 17:17:08 -07:00
Halla Moore 470e6563ec [client-app] Ensure files get transferred in forwarded messages
Summary:
We need to download the files and then treat them as uploads. Rather
than using an actual Upload object, which would require another data
transfer, we create an object with all the necessary Upload-like
properties and point it to the downloaded file.

Addresses part of T7960

Test Plan: Manual, some specs

Reviewers: evan, spang, juan

Reviewed By: juan

Differential Revision: https://phab.nylas.com/D4249
2017-03-22 12:05:35 -07:00
Halla Moore b849793a72 [client-app] Fix DraftFactory specs
Summary: Using `await` instead of `advanceClock()` fixes all the things!

Test Plan: Ran the spec file

Reviewers: evan, juan

Reviewed By: juan

Differential Revision: https://phab.nylas.com/D4248
2017-03-21 15:46:48 -07:00
Halla Moore 73e990fc05 [client-app] Don't show non-existent children on folder creation
Summary:
Previously, after creating a new folder, the UI would indicate that the new
folder had children, even though it didn't. This was caused by duplicate models
in our `MutableQueryResultSet` for the user's categories. Basically, we would
sync the server version of the folder before the `SyncbackTask` for the new
folder returned its `serverId`. Without the `serverId`, the synced version of
the folder couldn't yet be tied to the optimistic folder, so a second row was
created in the database. This second row is removed when the `syncbackTask`
does return the `serverId`, because we persist the optimistic folder with a
`REPLACE INTO` query. (This deletes other rows with the same id.) However,
since this was done inside a `persist` change with the `serverId` and no
`unpersist` was ever recorded for the `clientId`, our `MutableQueryResultSet`
never removed the `clientId` model.

To address this, this diff adds a check in `updateModel` to see if the
`serverId` is being added. If it is, and both the `serverId` and `clientId`
exist in the `_ids` list, we remove the `clientId`.

The children indicator does still briefly show up while there are still two
separate rows for that folder in the database. If we want to get rid of this
completely, we would have to ensure that we do not sync the folder before the
`syncbackTask` returns the `serverId`. However, this would probably be pretty
involved, and for not much gain. This fix is much simpler and reduces most of
the issue.

Test Plan: manual

Reviewers: juan, evan

Reviewed By: evan

Differential Revision: https://phab.nylas.com/D4228
2017-03-16 12:26:42 -07:00
Juan Tejada da463c250f [client-app] Consolidate delta connection stores, rm deltas internal_pkg
Summary:
This commit consolidates the `DeltaConnectionStatusStore` and the
`DeltaConnectionStore` which kept track of very similar state and made
sense to be the same store (as per feedback in D4118#77647)

Given that this state needs to be available app-wide for plugins to
query the status of delta connections, `internal_packages/deltas` was
removed (given that it only activated that store), in favor of having the
unified store inside `src/flux/stores` and available via `nylas-exports`

The `deltas` package also contained some contacts-ranking code, which is
no longer in use until we restore that fetaure, so I created a
`internal_packages/contact-rankings` which contains this unused code for
now.

Test Plan:
manually open, close, end delta connections, verify that I'm getting
correct results. unit tests to come

Reviewers: halla, spang, evan

Reviewed By: evan

Differential Revision: https://phab.nylas.com/D4145
2017-03-09 15:27:06 -08:00