Summary:
Move sync workers and Edgehill token checks to work window
Move the task queue and database setup to the work window
Move ContactStore background refresh to work window
Store the task queue in the database
WIP
The TaskQueue now puts tasks in the database instead of in a file, which also means it can be observed
Move all delta sync and initial sync to a package, make NylasSyncStore which exposes read-only sync state
DraftStore no longer reads task status. Once you set the "sending" bit on a draft, it never gets unset. But that's fine actually.
If your package lists windowTypes, you *only* get loaded in those windowTypes. If you specify no windowTypes, you get loaded in the root window.
This means that onboarding, worker-ui, worker-sync, etc. no longer get loaded into the main window
ActivitySidebar has a special little store that observes the task queue since it's no longer in the window
Move "toggle component regions" / "toggle react remote" to the Developer menu
Move sync worker specs, update draft store specs to not rely on TaskQueue at all
Test Plan: Run existing tests, all pass
Reviewers: dillon, evan
Reviewed By: evan
Differential Revision: https://phab.nylas.com/D1936
Summary: Emergency fix for broken logic consuming delta updates. Also includes specs for untested functionality.
Test Plan: Run new tests
Reviewers: dillon, evan
Reviewed By: evan
Differential Revision: https://phab.nylas.com/D1939
Summary:
Fixes T3427
Use the more generic serialize registered objects instead of the DatabaseObjectRegistry directly.
Fix a bug in the serialize function that was preventing it from inflating the top level object if it had a constructorName.
Remove contact checks because tokenizing-test-field is generic. Participant text field checks type.
Hot new drag and drop integration test
Test Plan: Run new test (<3 react)
Reviewers: dillon, evan
Reviewed By: dillon, evan
Maniphest Tasks: T3427
Differential Revision: https://phab.nylas.com/D1933
Summary:
We designed the onBeforeUnload handler to resume a "close window" event, but it actually needs to resume a quit as well. This has become an issue recently and may be due to the DraftStore sessions not being removed from the DraftStore.
To test: Create a popout draft, close it, and then try to quit the app.
Test Plan: Run updated tests
Reviewers: dillon, evan
Reviewed By: dillon, evan
Differential Revision: https://phab.nylas.com/D1932
It's possible that 400 characters isn't enough to get any plaintext (if the body begins with a style tag, for example.) Until we get a better solution in place, we need to do this to avoid parsing the king james bible in my draft.
Summary:
d1c44dcb54
Also lock config across processes to prevent the user from being logged out when the main process reads config before it's finished writing. This is what is causing the login window to appear.
Test Plan: Rapidly tap between the two display modes. Note that it no longer reverts to the wrong one intermittently.
Reviewers: evan
Reviewed By: evan
Differential Revision: https://phab.nylas.com/D1931
- Multiple account support!
+ Known issue: Unread badge shows only currnetly selected account
+ Known issue: Canceling add account flow quits the app
- You can now create bullets and lists in the composer
- Fix for mail sent yesterday appearing to be sent "now"
- Third-party plugins can now define tasks and database models
Summary:
This diff replaces the Namespace object with the Account object, and changes all references to namespace_id => account_id, etc. The endpoints are now `/threads` instead of `/n/<id>/threads`.
This diff also adds preliminary support for multiple accounts. When you log in, we now log you in to all the attached accounts on edgehill server. From the preferences panel, you can auth with / unlink additional accounts. Shockingly, this all seems to pretty much work.
When replying to a thread, you cannot switch from addresses. However, when creating a new message in a popout composer, you can change the from address and the SaveDraftTask will delete/re-root the draft on the new account.
Search bar doesn't need to do full refresh on clear if it never committed
Allow drafts to be switched to a different account when not in reply to an existing thread
Fix edge case where ChangeMailTask throws exception if no models are modified during performLocal
Show many dots for many accounts in long polling status bar
add/remove accounts from prefs
Spec fixes!
Test Plan: Run tests, none broken!
Reviewers: evan, dillon
Reviewed By: evan, dillon
Differential Revision: https://phab.nylas.com/D1928
Summary: I'm proposing this patch as a temp fix for this issue. Desired functionality should probably be defined before adding more code.
Test Plan: Attempting to test manually... can't get my runtime edgehill to propagate these changes tho :(
Reviewers: bengotow
Reviewed By: bengotow
Maniphest Tasks: T2391
Differential Revision: https://phab.nylas.com/D1911